Informatika2-2016/Gyakorlat7

A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „== Elõadás == [http://www.math.bme.hu/~kkovacs/info2/2016/EA/e07_16i2.html 7. elõadás] = Feladatok = == Bevezetõ == === Komplex === A feladat az elõadáson e…”)
 
 
(egy szerkesztő 2 közbeeső változata nincs mutatva)
9. sor: 9. sor:
 
=== Komplex ===
 
=== Komplex ===
  
A feladat az elõadáson elkezdett Komplex osztályt befejezni.
+
A feladat az elõadáson elkezdett Komplex osztályt befejezni:
  
* Valósítsuk meg a kivonás, szorzás és osztás mûveleteket. (__sub__, __mul__, __div__)
+
<python>
 +
class Komplex(object):
 +
    def __init__(self, real, imaginary):
 +
        self.re = real
 +
        self.im = imaginary
 +
       
 +
    def __add__(self, k2):
 +
        uj_re = self.re + k2.re
 +
        uj_im = self.im + k2.im
 +
        return Komplex(uj_re, uj_im)
 +
   
 +
    def __repr__(self):
 +
        s = ""
 +
        s += str(self.re)
 +
        s += " + "
 +
        s += str(self.im)
 +
        s += "i"
 +
        return s
 +
 
 +
k1 = Komplex(4, 3)
 +
k2 = Komplex(-2, 1)
 +
k3 = k1 + k2
 +
 
 +
print k3
 +
</python>
 +
 
 +
* Valósítsuk meg a kivonás, szorzás és osztás mûveleteket. (__sub__, __mul__, __div__) Az osztás elõtt érdemes lehet a következõ részt megoldani elõször.
 
* Valósítsuk meg a __len__ metódust, mely a ''len'' függvény által adott éredményt szabályozza. Legyen ez a komplex szám hossza.
 
* Valósítsuk meg a __len__ metódust, mely a ''len'' függvény által adott éredményt szabályozza. Legyen ez a komplex szám hossza.
 
* Javítsuk ki a __repr__ metódust, hogy szépen írja ki a számokat, pl:
 
* Javítsuk ki a __repr__ metódust, hogy szépen írja ki a számokat, pl:
17. sor: 43. sor:
 
  5i
 
  5i
 
  2
 
  2
 +
 +
Teszteléshez használhatjuk pl ezt a kódot, de írjunk saját teszteket is!
 +
 +
<python>
 +
k1 = Komplex(4, 3)
 +
k2 = Komplex(-2, 1)
 +
k3 = Komplex(4, 1)
 +
 +
print k1 + k2
 +
print k1 - k3
 +
print k2 * k1
 +
print k3 / k1
 +
print len(k1)
 +
</python>
  
 
== CloudCoder ==
 
== CloudCoder ==
30. sor: 70. sor:
 
=== Feladatok ajánlott sorrendje ===
 
=== Feladatok ajánlott sorrendje ===
  
#
+
# foglalas_1
 +
# foglalas_2
 +
# foglalas_3
 +
# foglalas_4
 +
# foglalas_5
 +
# kinyer_metodus

A lap jelenlegi, 2016. március 31., 03:34-kori változata

Tartalomjegyzék

Elõadás

7. elõadás

Feladatok

Bevezetõ

Komplex

A feladat az elõadáson elkezdett Komplex osztályt befejezni:

class Komplex(object):
    def __init__(self, real, imaginary):
        self.re = real
        self.im = imaginary
 
    def __add__(self, k2):
        uj_re = self.re + k2.re
        uj_im = self.im + k2.im
        return Komplex(uj_re, uj_im)
 
    def __repr__(self):
        s = ""
        s += str(self.re)
        s += " + "
        s += str(self.im)
        s += "i"
        return s
 
k1 = Komplex(4, 3)
k2 = Komplex(-2, 1)
k3 = k1 + k2
 
print k3
  • Valósítsuk meg a kivonás, szorzás és osztás mûveleteket. (__sub__, __mul__, __div__) Az osztás elõtt érdemes lehet a következõ részt megoldani elõször.
  • Valósítsuk meg a __len__ metódust, mely a len függvény által adott éredményt szabályozza. Legyen ez a komplex szám hossza.
  • Javítsuk ki a __repr__ metódust, hogy szépen írja ki a számokat, pl:
2 - 4i
5i
2

Teszteléshez használhatjuk pl ezt a kódot, de írjunk saját teszteket is!

k1 = Komplex(4, 3)
k2 = Komplex(-2, 1)
k3 = Komplex(4, 1)
 
print k1 + k2
print k1 - k3
print k2 * k1
print k3 / k1
print len(k1)

CloudCoder

CloudCoder használata

A legtöbb python feladathoz gyakorlaton egy CloudCodernek nevezett rendszert fogunk használni. Ennek elõnye, hogy helyben ki is javítja a feladatot. Elérés:

Részletes leírás a tárgylapon.

Feladatok ajánlott sorrendje

  1. foglalas_1
  2. foglalas_2
  3. foglalas_3
  4. foglalas_4
  5. foglalas_5
  6. kinyer_metodus
Személyes eszközök