Informatika1-2012/Gyakorlat5

A MathWikiből
A lap korábbi változatát látod, amilyen Rpalovics (vitalap | szerkesztései) 2012. október 1., 22:34-kor történt szerkesztése után volt.

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

Személyes eszközök