Informatika1-2012/Gyakorlat5
Tartalomjegyzék |
Ismétlés, és gyakorlás: Egyszerű adatszerkezetek, algoritmusok, függvények
- Algoritmusok, programozási nyelvek, implementáció
- Egyszerű adattípusok, és összetett adatszerkezetek
- Függvények
- Legózunk mert jó!
Szótárak kezelése
- Legyen egy gyumolcs_arak nevű szótárunk, a következő kulcs-érték párokkal:
- 'alma': 150
- 'szilva': 190
- 'ananász': 450
- 'banán': 300
- És legyen egy másik, vasarlas nevű szótár, amely azt tárolja, miből mennyit vettünk:
- 'banán': 0.6
- 'alma': 1.5
- 'ananász': 2
- Írj Sage függvényt (legyen a neve ar_szamolo), amely megkapja a fenti két szótárat (első paramétere legyen az árakat tartalmazó), és kiszámolja, hogy mennyit kell fizetnünk a gyümölcsökért!
Összetettebb feladatok
Tökéletes számok
- Egy szám tökéletes szám, ha megegyezik a nála kisebb osztóinak az összegével, pl. a 6 tökéletes szám.
- Írj függvényt, amely egy a számról eldönti, hogy az tökéletes szám-e.
- Írj függvényt, amely 1-től n-ig összegyűjti és egy listában visszaadja a talált tökéletes számokat.
Szószámláló, szótár segítségével
Készíts függvényt ami a bemenetként adott szöveget feldolgozza olyan módon, hogy a bemenetként adott szótárba minden, a szövegben szereplő szót az előfordulásának számával beilleszti a szótárba. Ha a szótár már tartalmaz elemeket akkor azokat törölje. A függvény ne térjen vissza értékkel, csak írja ki a számlálás eredményét.
Segítségek: str.split([sep[, maxsplit]]) -> [str, str, ...] has key(<key>), count(<item>), clear()
Osztályozó
Készíts függvényt ami a paraméterként kapott tuple elemeket tartalmazó listát egyesíti majd kiírja az eredményét. Minden tuple egy karakterláncból és egy egész számból áll, amik a nevet és pontszámot jelképezik. Több azonos karakterláncot (nevet) tartalmazó tuple lehet a listában... Eredményként egy szótárral tér vissza aminek az kulcsai 1,2,3,4,5 és az értékek olyan halmazok amikben a nevek (tuple karakterláncai) szerepelhetnek. Kerüljön az 1 értékei közé az az ember akinek kevesebb mint 40 pontja lett, 2 ha <55, 3 ha <70, 4 ha <85 és 5 ha >85.
Gyök számítás intervallum felezéssel
Készíts függvényt ami a bemenetként kapott kifejezés gyökét próbálja megtalálni a szintén paraméterként megadott intervallumban (az alapértelmezett intervallum legyen [-5,5]) intervallum felezéssel.
Buborék rendezés
Készíts függvényt ami megvalósítja a rendezést. Lista elemeit rendezzük a buborék rendezési algoritmus segítségével.
Bemenet egy lista, aminek az elemeit rendezni kell az eredeti listán belül, illetve opcionálisan meg lehet adni, hogy milyen sorrendben a második paraméterben megadott boolean értékkel, ha True akkor csökkenő sorrend kell, ha nincs megadva vagy False akkor növekvő sorrend.
Rendezési alg.: vegyük az első két elemet, rendezzük őket, ezzel kapunk egy kételemű rendezett listát. Majd vegyük a harmadik elemet és "illesszük" be az előző listában. A beillesztés úgy megy végbe, hogy egyesével összehasonlítjuk a lista elemeivel, minden egyes alkalommal kicseréljük a két elemet, amíg a megfelelő helyre nem kerül.
Lépcsős függvényben max. területű téglalap keresése
Készíts függvényt, ami bemenetként egy tömböt kap a függvény értékeivel az adott pontokon, és visszatér a lehető legnagyobb területű téglalap adataival, ami létrehozható a függvény alatti területen. (len, range)
Szigetek megszámlálása
HÁZI FELADAT
készíts függvényt, ami a bemeneteként kapott mátrixban, a szomszédos 1-eseket szigetnek véve visszaadja a térképen található szigetek számát. A matrix elemei 1 vagy 0 lehet. A mátrix mindig azonos oldalhosszúságú, de bármekkora lehet. A szomszédos elemek csak a vízszintesen vagy függőlegesen szomszédos elemeket értjük, átlósan nem értelmezett.
pl.: bemenet: [[0,1,1,0],[0,1,0,0],[0,0,0,1],[0,0,1,1]]
térben valahogy így kell elképzelni:
0110
0100
0001
0011
eredmény: 2