http://wiki.math.bme.hu/history/Informatika4-2018/Gyakorlat3?feed=atom&Informatika4-2018/Gyakorlat3 - Laptörténet2024-03-29T13:54:45ZAz oldal laptörténete a wikibenMediaWiki 1.18.1http://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=14036&oldid=prevGaebor: /* ComplexVector szorzás */2019-10-10T14:19:11Z<p><span class="autocomment">ComplexVector szorzás</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2019. október 10., 14:19-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">143. sor:</td>
<td colspan="2" class="diff-lineno">143. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>             coords_[i] = new Complex();</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>             coords_[i] = new Complex();</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         }</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    }</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    public ComplexVector(ComplexVector other) {</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">        this.coords_ = (Complex[])other.coords_.clone();</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">        this.dimension_ = other.dimension_;</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Gaeborhttp://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=14013&oldid=prevGaebor, 2019. október 3., 13:44-n2019-10-03T13:44:40Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2019. október 3., 13:44-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">65. sor:</td>
<td colspan="2" class="diff-lineno">65. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         System.out.println(comp3);</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         System.out.println(comp3);</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></java></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">==== print ====</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Látható, hogy a komplex számokat nem írja ki szépen, ezt nekünk kell megírnunk egy '''toString''' metódusként.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"><java></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">public String toString(){</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    // this</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Gaeborhttp://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=14012&oldid=prevGaebor: /* ComplexVector szorzás */2019-10-03T13:18:12Z<p><span class="autocomment">ComplexVector szorzás</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2019. október 3., 13:18-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">132. sor:</td>
<td colspan="2" class="diff-lineno">132. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         dimension_ = dimension;</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         dimension_ = dimension;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         coords_ = new Complex[dimension];</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         coords_ = new Complex[dimension];</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">        for (int i = 0; i < dimension; ++i){</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">            coords_[i] = new Complex();</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">        }</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Gaeborhttp://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=13996&oldid=prevGaebor, 2019. szeptember 26., 11:38-n2019-09-26T11:38:51Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2019. szeptember 26., 11:38-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">22. sor:</td>
<td colspan="2" class="diff-lineno">22. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Egészítsétek ki a feladatokat a '''//TODO''' részeknél. Ez van ahol csak egy parancs, máshol több sor is lehet akár.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Egészítsétek ki a feladatokat a '''//TODO''' részeknél. Ez van ahol csak egy parancs, máshol több sor is lehet akár.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">1. </del>Complex kiegészítés ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Complex kiegészítés ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><java></div></td></tr>
<tr><td colspan="2" class="diff-lineno">67. sor:</td>
<td colspan="2" class="diff-lineno">67. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">2</del>. User ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>===<ins class="diffchange diffchange-inline">= Statikus metódusok ====</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">Írjuk meg '''statikus'''an is az '''add''' metódust!</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"><java></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">public static Complex add(Complex one, Complex another){ </ins>.<ins class="diffchange diffchange-inline">.. }</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"></java></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">=== </ins>User ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Érdekesség (és fontos) ez a kettő nem ekvivalens:</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Érdekesség (és fontos) ez a kettő nem ekvivalens:</div></td></tr>
<tr><td colspan="2" class="diff-lineno">113. sor:</td>
<td colspan="2" class="diff-lineno">120. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">3. </del>ComplexVector szorzás ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== ComplexVector szorzás ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok meg a '''ComplexVector''' skaláris szorzatát. Ne felejtsétek el, hogy használhatjátok a '''Complex''' osztály '''multiply''' függvényét.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok meg a '''ComplexVector''' skaláris szorzatát. Ne felejtsétek el, hogy használhatjátok a '''Complex''' osztály '''multiply''' függvényét.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">142. sor:</td>
<td colspan="2" class="diff-lineno">149. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">4. </del>Kiírás ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Kiírás ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjatok kiíró függvényt '''print''' néven a '''Complex''' és '''ComplexVector''' osztályokhoz. Nézzen ki valahogy olvashatóan. Majd ezekkel már jól tudtok tesztelni a '''main'''ekben.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjatok kiíró függvényt '''print''' néven a '''Complex''' és '''ComplexVector''' osztályokhoz. Nézzen ki valahogy olvashatóan. Majd ezekkel már jól tudtok tesztelni a '''main'''ekben.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">4.5. </del>Szerkezet változtatás ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Szerkezet változtatás ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok át a '''Complex''' osztályt, hogy ne két '''float'''ban tárolja az adatokat, hanem egy 2 elemű '''float''' tömbben. Majd értelemszerűen a konstruktorokat és függvényeket is írjátok át. Ha ez kész örüljetek, hogy a '''ComplexVector''' még mindig teljesen jól működik. Pedig valójában már ő is megváltozott ezzel.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok át a '''Complex''' osztályt, hogy ne két '''float'''ban tárolja az adatokat, hanem egy 2 elemű '''float''' tömbben. Majd értelemszerűen a konstruktorokat és függvényeket is írjátok át. Ha ez kész örüljetek, hogy a '''ComplexVector''' még mindig teljesen jól működik. Pedig valójában már ő is megváltozott ezzel.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">=== 4.6. Statikus metódusok ===</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">Írjunk '''statikus''' metódusokat is a műveleteknek a '''Complex''' osztályba!</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    public static Complex add(Complex one, Complex another){ ... }</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    public static Complex sub(Complex one, Complex another){ ... }</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    public static Complex mul(Complex one, Complex another){ ... }</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">5. </del>Felhasználó rendszer ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Felhasználó rendszer ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjatok egy osztályt (ti találjátok ki a nevét, de legyen beszédes és célratörő, általában a programozásban ez a legnehezebb feladat) ami a korábban megírt '''User''' objektumokból tud sokat tárolni (tömb). Továbbá valamilyen módon tárol még kommenteket is. Egy komment az üzenetből és a készítőjéből áll, aki egy '''User'''. Találjátok ki, hogyan tárolnátok a kommenteket, érdemes új osztályt bevezetni rá. A rendszernek magának legyen 2 függvénye, egyik amivel új '''User'''t lehet felvenni és egy amivel új kommentet lehet írni.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjatok egy osztályt (ti találjátok ki a nevét, de legyen beszédes és célratörő, általában a programozásban ez a legnehezebb feladat) ami a korábban megírt '''User''' objektumokból tud sokat tárolni (tömb). Továbbá valamilyen módon tárol még kommenteket is. Egy komment az üzenetből és a készítőjéből áll, aki egy '''User'''. Találjátok ki, hogyan tárolnátok a kommenteket, érdemes új osztályt bevezetni rá. A rendszernek magának legyen 2 függvénye, egyik amivel új '''User'''t lehet felvenni és egy amivel új kommentet lehet írni.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">172. sor:</td>
<td colspan="2" class="diff-lineno">172. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Bónusz ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Bónusz ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">6. </del>Komment kereső ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Komment kereső ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Az 5. feladat rendszeréhez írjatok olyan függvényt, ami képes egy adott '''User''' össze kommentjét kiírni. Legyen mondjuk a bemenete egy '''String''', ami a keresendő '''User''' '''nickName''' adattagja és listázza ki az összes olyan komment tartalmát aminek õ a szerzője.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Az 5. feladat rendszeréhez írjatok olyan függvényt, ami képes egy adott '''User''' össze kommentjét kiírni. Legyen mondjuk a bemenete egy '''String''', ami a keresendő '''User''' '''nickName''' adattagja és listázza ki az összes olyan komment tartalmát aminek õ a szerzője.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== <del class="diffchange diffchange-inline">7. </del>Complex műveletek ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Complex műveletek ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok meg az osztás mûveletet a '''Complex''' osztályhoz, nyugodtan írjatok hozzá segéd függvényeket, a lényeg hogy minél apróbb részekre bontsátok a programokat. Továbbá írjátok meg a vektoriális szorzatát a '''ComplexVector''' osztálynak. (Feltételezhetitek, hogy 3 dimenziós vektorokra kell csak működnie.)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok meg az osztás mûveletet a '''Complex''' osztályhoz, nyugodtan írjatok hozzá segéd függvényeket, a lényeg hogy minél apróbb részekre bontsátok a programokat. Továbbá írjátok meg a vektoriális szorzatát a '''ComplexVector''' osztálynak. (Feltételezhetitek, hogy 3 dimenziós vektorokra kell csak működnie.)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Informatika4-2018/Gyakorlat2|Előző]] - [[Informatika4-2018#Gyakorlat|Fel]] - [[Informatika4-2018/Gyakorlat4|Következő]]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Informatika4-2018/Gyakorlat2|Előző]] - [[Informatika4-2018#Gyakorlat|Fel]] - [[Informatika4-2018/Gyakorlat4|Következő]]</div></td></tr>
</table>Gaeborhttp://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=13995&oldid=prevGaebor, 2019. szeptember 26., 11:36-n2019-09-26T11:36:19Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2019. szeptember 26., 11:36-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">149. sor:</td>
<td colspan="2" class="diff-lineno">149. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok át a '''Complex''' osztályt, hogy ne két '''float'''ban tárolja az adatokat, hanem egy 2 elemű '''float''' tömbben. Majd értelemszerűen a konstruktorokat és függvényeket is írjátok át. Ha ez kész örüljetek, hogy a '''ComplexVector''' még mindig teljesen jól működik. Pedig valójában már ő is megváltozott ezzel.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Írjátok át a '''Complex''' osztályt, hogy ne két '''float'''ban tárolja az adatokat, hanem egy 2 elemű '''float''' tömbben. Majd értelemszerűen a konstruktorokat és függvényeket is írjátok át. Ha ez kész örüljetek, hogy a '''ComplexVector''' még mindig teljesen jól működik. Pedig valójában már ő is megváltozott ezzel.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">=== 4.6. Statikus metódusok ===</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Írjunk '''statikus''' metódusokat is a műveleteknek a '''Complex''' osztályba!</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    public static Complex add(Complex one, Complex another){ ... }</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    public static Complex sub(Complex one, Complex another){ ... }</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    public static Complex mul(Complex one, Complex another){ ... }</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== 5. Felhasználó rendszer ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== 5. Felhasználó rendszer ===</div></td></tr>
</table>Gaeborhttp://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=13991&oldid=prevGaebor: /* 3. ComplexVector szorzás */2019-09-23T14:52:27Z<p><span class="autocomment">3. ComplexVector szorzás</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2019. szeptember 23., 14:52-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">128. sor:</td>
<td colspan="2" class="diff-lineno">128. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     public ComplexVector(ComplexVector other) {</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     public ComplexVector(ComplexVector other) {</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>         this.coords_ = other.coords_.clone();</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>         this.coords_ = <ins class="diffchange diffchange-inline">(Complex[])</ins>other.coords_.clone();</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         this.dimension_ = other.dimension_;</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>         this.dimension_ = other.dimension_;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     }</div></td></tr>
</table>Gaeborhttp://wiki.math.bme.hu/index.php?title=Informatika4-2018/Gyakorlat3&diff=13593&oldid=prevGaebor: Új oldal, tartalma: „Előző - Fel - Következő === Feladatok tagolása === Már több o…”2018-09-17T10:57:25Z<p>Új oldal, tartalma: „<a href="/view/Informatika4-2018/Gyakorlat2" title="Informatika4-2018/Gyakorlat2">Előző</a> - <a href="/view/Informatika4-2018#Gyakorlat" title="Informatika4-2018">Fel</a> - <a href="/view/Informatika4-2018/Gyakorlat4" title="Informatika4-2018/Gyakorlat4">Következő</a> === Feladatok tagolása === Már több o…”</p>
<p><b>Új lap</b></p><div>[[Informatika4-2018/Gyakorlat2|Előző]] - [[Informatika4-2018#Gyakorlat|Fel]] - [[Informatika4-2018/Gyakorlat4|Következő]]<br />
<br />
=== Feladatok tagolása ===<br />
<br />
Már több osztállyal dolgozunk akár egy feladaton belül is. Így egy új tagolást javaslok.<br />
<br />
* Eclipse-ben a már létező vagy új projectet nyissátok le, és az '''src''' mappára jobb klikk '''New''' -> '''Package'''<br />
* Nevezzétek el és kész is<br />
* Minden összetartozó osztályt egy ilyen package-be rakjatok<br />
* Amikor egy osztály egy '''Gyak2''' package-ben van azt jelezni kell a fájl elején a következő módon:<br />
<java><br />
package Gyak2;<br />
</java><br />
* Package-eket lehet egymásba is ágyazni, később a komolyabb dolgokat majd külön projectben sok package-ben fogjuk tárolni<br />
<br />
== Feladatok ==<br />
<br />
Figyeljetek oda, hogy minden osztálynak a saját nevével megegyező nevű fájlban kell lennie. Pl a '''Complex''' osztálynak a '''Complex.java''' fájlban kell lennie.<br />
<br />
Emlékezzetek arra, hogy a cél, hogy minél kisebb egységekre szedjük szét a dolgokat. Így ha pl egy függvény működéséhez kell abszolút érték függvény, írd meg külön és használd, ne az adott függvénybe írd bele az abszolút érték megvalósítását.<br />
<br />
Egészítsétek ki a feladatokat a '''//TODO''' részeknél. Ez van ahol csak egy parancs, máshol több sor is lehet akár.<br />
<br />
=== 1. Complex kiegészítés ===<br />
<br />
<java><br />
public class Complex {<br />
private float realPart_;<br />
private float imaginaryPart_;<br />
<br />
public Complex() {<br />
realPart_ = 0;<br />
imaginaryPart_ = 0;<br />
}<br />
<br />
public Complex(float realPart) {<br />
realPart_ = //TODO<br />
imaginaryPart_ = //TODO<br />
}<br />
<br />
public Complex(float realPart, float imaginaryPart) {<br />
//TODO<br />
}<br />
<br />
public Complex add(Complex other) {<br />
float realPart = this.realPart_ + other.realPart_;<br />
float imaginaryPart = this.imaginaryPart_ + other.imaginaryPart_;<br />
Complex retval = //TODO<br />
return retval;<br />
}<br />
<br />
public Complex multiply(Complex other) {<br />
//TODO<br />
}<br />
}<br />
</java><br />
<br />
Érdemes minden osztályhoz gyártani egy '''main'''t, hogy kipróbáljátok jól működik-e. Ezt lehet az adott osztályba írni, nem kell mindig külön '''main''' osztályt gyártani miatta. Itt egy példa a '''Complex'''re:<br />
<br />
<java><br />
public static void main(String[] args) {<br />
Complex comp1 = new Complex(5, 6);<br />
Complex comp2 = new Complex(4);<br />
Complex comp3 = comp1.add(comp2);<br />
System.out.println(comp3);<br />
}<br />
</java><br />
<br />
=== 2. User ===<br />
<br />
Érdekesség (és fontos) ez a kettő nem ekvivalens:<br />
<br />
<java><br />
password_ == enteredPassword<br />
</java><br />
<br />
<java><br />
password_.equals(enteredPassword)<br />
</java><br />
<br />
A második azt csinálja, amit az elsőre gondolna az ember. Összehasonlítja a 2 Stringet, ha megegyeznek '''true'''-t, ha különböznek '''false'''-t ad vissza.<br />
<br />
Viszont az első nem ezt csinálja. Hanem azt vizsgálja meg, hogy ugyanazon a memóriacímen vannak-e tárolva, azaz, hogy tényleg megegyeznek-e, nem csak tartalomban. Ez azért van amit már említettem, hogy itt kb minden pointer (referencia) csak rejtetten. Erről még lesz szó.<br />
<br />
Egészítsétek ki, ahogy értelmes. <br />
A '''passwordCheck''' metódus (függvény) kap egy jelszót, ez az amit beírt a felhasználó. Ezt hasonlítsa össze, a már tárolt jelszóval. Ha megegyezik a kettő, akkor igazat ('''true''') különben hamisat ('''false''') adjon vissza.<br />
<br />
A '''setNickName''' állítsa át a '''nickName_''' adattagot a kapott paraméterre '''newNickName'''-re.<br />
<br />
<java><br />
public class User {<br />
private String realName_;<br />
private String nickName_;<br />
private String password_;<br />
<br />
public User(String realName, String nickName, String password) {<br />
realName_ = realName;<br />
nickName_ = nickName;<br />
password_ = password;<br />
}<br />
<br />
public boolean passwordCheck(String enteredPassword) {<br />
if (password_.equals(enteredPassword)) {<br />
//TODO<br />
}<br />
//TODO<br />
}<br />
<br />
public void setNickName(String newNickName) {<br />
//TODO<br />
}<br />
}<br />
</java><br />
<br />
=== 3. ComplexVector szorzás ===<br />
<br />
Írjátok meg a '''ComplexVector''' skaláris szorzatát. Ne felejtsétek el, hogy használhatjátok a '''Complex''' osztály '''multiply''' függvényét.<br />
<br />
<java><br />
public class ComplexVector {<br />
private Complex[] coords_;<br />
private int dimension_;<br />
<br />
public ComplexVector(int dimension) {<br />
dimension_ = dimension;<br />
coords_ = new Complex[dimension];<br />
}<br />
<br />
public ComplexVector(ComplexVector other) {<br />
this.coords_ = other.coords_.clone();<br />
this.dimension_ = other.dimension_;<br />
}<br />
<br />
public ComplexVector add(ComplexVector other) {<br />
ComplexVector retval = new ComplexVector(this.dimension_);<br />
for (int i = 0; i < retval.coords_.length; i++) {<br />
retval.coords_[i] = this.coords_[i].add(other.coords_[i]);<br />
}<br />
return retval;<br />
}<br />
}<br />
</java><br />
<br />
=== 4. Kiírás ===<br />
<br />
Írjatok kiíró függvényt '''print''' néven a '''Complex''' és '''ComplexVector''' osztályokhoz. Nézzen ki valahogy olvashatóan. Majd ezekkel már jól tudtok tesztelni a '''main'''ekben.<br />
<br />
=== 4.5. Szerkezet változtatás ===<br />
<br />
Írjátok át a '''Complex''' osztályt, hogy ne két '''float'''ban tárolja az adatokat, hanem egy 2 elemű '''float''' tömbben. Majd értelemszerűen a konstruktorokat és függvényeket is írjátok át. Ha ez kész örüljetek, hogy a '''ComplexVector''' még mindig teljesen jól működik. Pedig valójában már ő is megváltozott ezzel.<br />
<br />
=== 5. Felhasználó rendszer ===<br />
<br />
Írjatok egy osztályt (ti találjátok ki a nevét, de legyen beszédes és célratörő, általában a programozásban ez a legnehezebb feladat) ami a korábban megírt '''User''' objektumokból tud sokat tárolni (tömb). Továbbá valamilyen módon tárol még kommenteket is. Egy komment az üzenetből és a készítőjéből áll, aki egy '''User'''. Találjátok ki, hogyan tárolnátok a kommenteket, érdemes új osztályt bevezetni rá. A rendszernek magának legyen 2 függvénye, egyik amivel új '''User'''t lehet felvenni és egy amivel új kommentet lehet írni.<br />
<br />
<br />
Pár tanács:<br />
* Hogy a tömb lefoglalással ne legyenek gondok, amikor létrejön ez a rendszer foglaljatok le mondjuk 500 '''User'''nek helyet és egy számlálóval mentsétek, hogy pontosan mennyi is van valóban a rendszerben.<br />
* Az előbbihez az kell, hogy a '''User''' osztálynak legyen '''default konstruktor'''a, csináljatok hát neki.<br />
* A '''User''' felvétele függvény talán úgy a legegyszerűbb, ha egy bemente van és az a '''User''' objektum amit be akarunk rakni a tömbbe.<br />
* A komment tárolásánál elég ha beküldő nevét tároljátok mondjuk itt nem kell teljes '''User'''t tárolni.<br />
* Mivel kommentből is sokat kell tárolni ezért nagyon hasonló módon meg lehet oldani a tárolásukat, mint a '''User'''ekét.<br />
<br />
== Bónusz ==<br />
<br />
=== 6. Komment kereső ===<br />
<br />
Az 5. feladat rendszeréhez írjatok olyan függvényt, ami képes egy adott '''User''' össze kommentjét kiírni. Legyen mondjuk a bemenete egy '''String''', ami a keresendő '''User''' '''nickName''' adattagja és listázza ki az összes olyan komment tartalmát aminek õ a szerzője.<br />
<br />
=== 7. Complex műveletek ===<br />
<br />
Írjátok meg az osztás mûveletet a '''Complex''' osztályhoz, nyugodtan írjatok hozzá segéd függvényeket, a lényeg hogy minél apróbb részekre bontsátok a programokat. Továbbá írjátok meg a vektoriális szorzatát a '''ComplexVector''' osztálynak. (Feltételezhetitek, hogy 3 dimenziós vektorokra kell csak működnie.)<br />
<br />
[[Informatika4-2018/Gyakorlat2|Előző]] - [[Informatika4-2018#Gyakorlat|Fel]] - [[Informatika4-2018/Gyakorlat4|Következő]]</div>Gaebor