Informatika2-2016/Gyakorlat12

A MathWikiből
(Változatok közti eltérés)
(Feladatok)
(Feladatok)
1. sor: 1. sor:
 
=Feladatok=
 
=Feladatok=
A feladatok megoldásához szükség lesz az előadáson használt kódra. Az előadás anyagát [http://www.math.bme.hu/~nyida/info2/e11_16i2.html innen] lehe letölteni.
+
A feladatok megoldásához szükség lesz az előadáson használt kódra. Az előadás anyagát [http://www.math.bme.hu/~nyida/info2/e11_16i2.html innen] lehet letölteni.
 
==Bevezető==
 
==Bevezető==
 +
Másoljuk be a bináris fa definícióját. Ezen az osztályon fogunk dolgozni.
 +
* Írjunk egy count(self) metódust, ami megszámolja a fa elemeinek a számát!
 +
* Írjunk egy sum(self) metódust, ami a fa összes csúcsában lévő értékeket összegzi!
 +
* Írjunk egy height(self) metódust, ami megmondja, hogy milyen magas a fa!
 +
* Írjunk egy is_list(self) metódust, ami megmondja, hogy a bináris fa listává fajult-e. Egy bináris fa akkor fajult listává, ha minden csúcsának legfeljebb egy gyereke van.
 +
 +
==Számológép==
 +
Az előadáson mutatott számológép-kezdeményt feljesztjük tovább. Kezdjük új fájlba. Először hozzunk létre egy üres Node osztályt!
 +
* Írjuk meg a konstruktort a következőképp. A bemenet egy sztring, ezt kell értelmeznünk.
 +
** Ha a sztring egy szám, akkor egyszerűen eltároljuk a self.data változóban mint számot.
 +
** Ha nem szám (azaz a négy alapművelet egyike szerepel a sztringben), akkor szétvágjuk a sztringet két részre a legalacsonyabb precedenciaszintű művelet mentén. Mivel zárójeleket nem engedünk meg, a legalacsonyabb szintű művelet az első + vagy - jel, ha nincs ilyen, akkor pedig az első * vagy /.

A lap 2016. május 4., 20:00-kori változata

Feladatok

A feladatok megoldásához szükség lesz az előadáson használt kódra. Az előadás anyagát innen lehet letölteni.

Bevezető

Másoljuk be a bináris fa definícióját. Ezen az osztályon fogunk dolgozni.

  • Írjunk egy count(self) metódust, ami megszámolja a fa elemeinek a számát!
  • Írjunk egy sum(self) metódust, ami a fa összes csúcsában lévő értékeket összegzi!
  • Írjunk egy height(self) metódust, ami megmondja, hogy milyen magas a fa!
  • Írjunk egy is_list(self) metódust, ami megmondja, hogy a bináris fa listává fajult-e. Egy bináris fa akkor fajult listává, ha minden csúcsának legfeljebb egy gyereke van.

Számológép

Az előadáson mutatott számológép-kezdeményt feljesztjük tovább. Kezdjük új fájlba. Először hozzunk létre egy üres Node osztályt!

  • Írjuk meg a konstruktort a következőképp. A bemenet egy sztring, ezt kell értelmeznünk.
    • Ha a sztring egy szám, akkor egyszerűen eltároljuk a self.data változóban mint számot.
    • Ha nem szám (azaz a négy alapművelet egyike szerepel a sztringben), akkor szétvágjuk a sztringet két részre a legalacsonyabb precedenciaszintű művelet mentén. Mivel zárójeleket nem engedünk meg, a legalacsonyabb szintű művelet az első + vagy - jel, ha nincs ilyen, akkor pedig az első * vagy /.
Személyes eszközök