Informatika2-2016/Gyakorlat8
A MathWikiből
(Változatok közti eltérés)
(→Overload) |
(→Overload) |
||
26. sor: | 26. sor: | ||
== Overload == | == Overload == | ||
+ | # Írjunk egy függvényt, aminek az első argumentuma egy '''int''' typusú változó. A függvény térjen vissza '''True'''-val, ha annyi extra paraméterrel hívták meg, mint az első bemeneti paraméter értéke, egyébként térjen vissza '''False'''-szal. | ||
# Definiáljunk egy '''szumma''' függvényt, ami tetszőlegesen sok bemeneti paraméterének összegével tér vissza! | # Definiáljunk egy '''szumma''' függvényt, ami tetszőlegesen sok bemeneti paraméterének összegével tér vissza! | ||
− | # Írjunk meg a '''lists_order''' függvényt a következőképp: bemenetei listák, a kimenete pedig az összes lista összes eleméből álló lista, növekvő sorrendben. | + | # Írjunk meg a '''lists_order''' függvényt a következőképp: bemenetei listák, a kimenete pedig az összes lista összes eleméből álló lista, növekvő sorrendben. |
A lap 2016. április 6., 19:18-kori változata
Tartalomjegyzék |
Előadás
Feladatok
Nyissuk meg a Sypdert.
Alakzatok a vásznon
Alakzatok
Írjunk egy Shape osztályt.
- Legyen x és y változója, ezek tárolják az alakzat pozícióját a síkon.
- Legyen egy move metódusa, aminek egyetlen v paramétere van, egy kételemű lista, a vektor, amivel el kell mozgatni az alakzatot.
Definiáljuk a Shape osztály leszármazottaiként az
- Ellipse ellipszis, legyen meg a kis- és nagytengelye (a,b)
- Rectangle téglalap, legyen meg az oldalak hossza (a,b)
osztályokat. Mindkét esetben a pozíciójuk a súlypontjukat jelentse. Írjunk mindkét osztályhoz egy area függvényt, ami kiszámítja az alakzat területét!
Definiáljuk az Ellipse osztály equation metódusát, ami kiírja az adott ellipszis egyenletét!
Vászon
Definiáljuk a Canvas (vászon) osztályt.
- Egyetlen tagváltozója legyen a shapes, ami alakzatok listáját tárolja.
- Oldjuk meg, hogy az osztályunk iterálható legyen! Ehhez definiáljuk az __iter__(self) metódust, valamit a next(self) metódust, ahogy az előadáson láttuk.
- Definiáljuk a crop metódust a következőképp: a bemeneti paraméter két pont koordinátája, ezek egy téglalap bal felső és jobb alsó pontjai. A függvény térjen vissza azon alakzatok listájával, amelyek a vásznon vannak és teljesen beleférnek az így definiált téglalapba. Ehhez a feladathoz az Ellipse és a Rectangle osztálynak is szüksége lesz egy box() metódusra, ami a legkisebb tartalmazó doboz bal felső és jobb alsó sarkait adja vissza.
Overload
- Írjunk egy függvényt, aminek az első argumentuma egy int typusú változó. A függvény térjen vissza True-val, ha annyi extra paraméterrel hívták meg, mint az első bemeneti paraméter értéke, egyébként térjen vissza False-szal.
- Definiáljunk egy szumma függvényt, ami tetszőlegesen sok bemeneti paraméterének összegével tér vissza!
- Írjunk meg a lists_order függvényt a következőképp: bemenetei listák, a kimenete pedig az összes lista összes eleméből álló lista, növekvő sorrendben.