Informatika2-2013/Hazi09
A MathWikiből
(Változatok közti eltérés)
(egy szerkesztő 2 közbeeső változata nincs mutatva) | |||
19. sor: | 19. sor: | ||
A függvények amiket meg kell írni (nem kell megijedni, hogy ilyen sok, hisz ha megvan az '''__add__''', a többi mûvelet csak egy-két karakterben tér el tõle): | A függvények amiket meg kell írni (nem kell megijedni, hogy ilyen sok, hisz ha megvan az '''__add__''', a többi mûvelet csak egy-két karakterben tér el tõle): | ||
− | * '''__init__(self, szam)''': egy számot kap mellyel létrehozza a szam adattagot és a szamolas-t (a | + | * '''__init__(self, szam)''': egy számot kap mellyel létrehozza a '''szam''' adattagot és a '''szamolas'''-t (a '''szamolas'''-hoz tanultuk, hogy az str függvény mindenféle dolgot string-é alakít és kezdetben a '''szamolas'''-ban csak az alap '''szam''' van benne string-ként) |
* '''__add__(self, jobboldal)''': az összeg megvalósítása | * '''__add__(self, jobboldal)''': az összeg megvalósítása | ||
* '''__sub__(self, jobboldal)''': a különbség megvalósítása | * '''__sub__(self, jobboldal)''': a különbség megvalósítása | ||
− | * '''__mul__(self, jobboldal)''': | + | * '''__mul__(self, jobboldal)''': a szorzás megvalósítása |
− | * '''__div__(self, jobboldal)''': | + | * '''__div__(self, jobboldal)''': a hányados megvalósítása |
− | * '''__pow__(self, jobboldal)''': | + | * '''__pow__(self, jobboldal)''': a hatványozás megvalósítása |
* '''__repr__(self)''': hogy print-el szépen ki lehessen írni a számolásunkat, a következõ módon kell kinéznie: | * '''__repr__(self)''': hogy print-el szépen ki lehessen írni a számolásunkat, a következõ módon kell kinéznie: | ||
30. sor: | 30. sor: | ||
a = Szamol(5.0) | a = Szamol(5.0) | ||
b = Szamol(6.0) | b = Szamol(6.0) | ||
− | |||
d = a * b | d = a * b |
A lap jelenlegi, 2013. május 7., 04:31-kori változata
A feladat egy olyan osztály megírása ami tárolja a számolásunkat. (Kezdeti file elsõ sorban link.) Van egy szam adattagja, melyben az értékét tárolja és egy szamolas adattagja (ez egy string) melyben az eddigi számolás menetét tárolja.
Erre egy példa:
a = Szamol(5.0) b = Szamol(6.0) d = a * b print d.szam # 30.0 print d.szamolas # (5.0 * 6.0)
A precedenciával sokat nem kell törõdnünk ezt a python tudja magától.
A függvények amiket meg kell írni (nem kell megijedni, hogy ilyen sok, hisz ha megvan az __add__, a többi mûvelet csak egy-két karakterben tér el tõle):
- __init__(self, szam): egy számot kap mellyel létrehozza a szam adattagot és a szamolas-t (a szamolas-hoz tanultuk, hogy az str függvény mindenféle dolgot string-é alakít és kezdetben a szamolas-ban csak az alap szam van benne string-ként)
- __add__(self, jobboldal): az összeg megvalósítása
- __sub__(self, jobboldal): a különbség megvalósítása
- __mul__(self, jobboldal): a szorzás megvalósítása
- __div__(self, jobboldal): a hányados megvalósítása
- __pow__(self, jobboldal): a hatványozás megvalósítása
- __repr__(self): hogy print-el szépen ki lehessen írni a számolásunkat, a következõ módon kell kinéznie:
a = Szamol(5.0) b = Szamol(6.0) d = a * b print d # (5.0 * 6.0) = 30.0
Tehát a szamolas adattag, utána egy egyenlõség és a szam adattag.
Amit ne felejtsünk el semmiképp, hogy a zárójeleket minden mûveletnél tegyük ki a szamolas-ba.
A kezdeti file-ban megadott tesztekre a teljes kimenet a következõ (ha ez egyezik akkor 99%, hogy jó a kódotok):
(5.0 + 6.0) = 11.0 (5.0 - 6.0) = -1.0 (5.0 * 6.0) = 30.0 (5.0 / 6.0) = 0.833333333333 (5.0 ** 6.0) = 15625.0 ========== (5.0 + (6.0 * 2.0)) = 17.0 ((5.0 - 6.0) / 2.0) = -0.5 ========== ((5.0 ** 5.7) + (((1.5 * 2.4) - 8.9) / 1.2)) = 9636.73743833