Informatika1-2012/Gyakorlat5
Tartalomjegyzék |
Ismétlés, és gyakorlás: Egyszerű adatszerkezetek, algoritmusok, függvények
Mese
- Ha valamit nem tudunk kiszámolni, megkérdezzük a géptől
- Algoritmusok, programozási nyelvek, implementáció
- Egyszerű adattípusok, és összetett adatszerkezetek
- Függvények
- Diót szedünk, füvet nyírunk, porszívózunk, 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.
- Segítség: str.split([sep[, maxsplit]]) -> [str, str, ...]
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.
Szigetek megszámlálása
- 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 eleme 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