Informatika1-2012/Gyakorlat5

A MathWikiből
(Változatok közti eltérés)
57. sor: 57. sor:
  
 
=== Szigetek megszámlálása ===
 
=== 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.
+
* 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,
+
* A matrix eleme 1 vagy 0 lehet.
átlósan nem értelmezett.
+
* 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.:
 
pl.:

A lap 2012. október 2., 00:12-kori változata

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

Személyes eszközök