Bevezető feldatok 1. Szövegértés és algoritmikus gondolkodás Kátai Zoltán https://people.inf.elte.hu/szlavi/infodidact15/manuscripts/kz.pdf Elágazás és összegzés tétele Táblázatkezelési feladatok Feladatok megtervezése (vázlat) folyamatábra, pszeudokód elkészítése függvények elkészítése (HA-elágazás, SZUM-összegzés). 2. feladat-életszimuláció Egy nagyon keskeny szigeten nézzük egy fafajta elterjedtségét! Modellünkben a fák csak egy sorban tudnak fejlődni, általában szél sem fúj, ezért a fa termése legfeljebb melléje jut el. Egy hely állapotát három számmal tudjuk jellemezni: 0, ha az adott helyen nincs fa; 1, ha az adott helyen egy facsemete áll, mely még nem képes termést hozni: 2, ha a fa képes termést hozni. Tegyük fel, hogy a fa csemeteállapota feleannyi ideig tart, mint a kifejlett példány állapota, és kiöregedésével teljesen elpusztul! 1. Ezek után modellezze a fasort a következőképpen: egy sor 20-25 cellájába írjon be kiindulási (0, 1 vagy 2) értékeket! ( A két széle tenger, tehát ott az érték biztos 0.) A következő sortól kezdve kb. 100 sorban számítsa ki, hogy az előző sorok alapján milyen értéket vesznek fel a cellák! Ha egy cella 0, de az egyik mellette lévő cella 2, akkor az alatta lévő cella értéke 1 (fa felnő); ha a cella értéke 2, akkor az alatta lévő cella értéke 0 lesz, ha a felette lévő cella is 2 (kipusztul)- emiatt az első sor felett kell még egy sornak lennie-, ha nem, akkor az alatta lévő cella 2 (marad termő fa). A sorok két széle mindenhol 0. 2. A táblázat mellett gyűjtse ki, egy-egy adott időszakban (sorban) hány facsemete, illetve hány termő fa van a szigeten! 3. A táblázat felett vagy alatt számítsa ki, egy-egy hely élet erejét (a faállapot átlagát)! 4. Készítsen diagramot a kigyűjtések alapján! Próbálja ki táblázatát a következő adatsorokkal: a. a két szélét kivéve csak 1-es, csak 2-es típusú fa van; b. hosszabb egyforma állapotú sorozatok egymás után (pl.: 8 db 2-es, 8 db 1-es, 8 db 0-s); c. a három érték ritmikusan váltakozik; d. szabálytalan kezdőérték-sorozat!
3. feladat-életjáték A játék lényege, hogy egy kezdeti négyzetháló egyes pontjait élő sejteknek nevezünk ki, majd a túlélés és elpusztulás szabályait megtartva iterációkon keresztül figyeljük a változásokat. A szabályok szerint a sejt túléli az iterációt, ha két vagy három szomszédja van, elpusztul, ha kettőnél kevesebb (elszigetelődés), vagy háromnál több (túlnépesedés) szomszédja van. Új sejt születik viszont minden olyan cellában, amelynek környezetében pontosan három sejt található. A szomszédos cellák alatt az átlós irányba vett szomszédokat is beleszámítjuk. Minta
4. feladat-átszivárgás Ha szilárd anyagra folyadékot rétegezünk, akkor az gyakran átszivárog rajta. (Ezt a jelenséget nevezik perkolációnak.) Ilyen például a víz átszivárgása a homokon. Ebben a feladatban a víz átszivárgását modellezzük táblázatkezelő program segítségével. A modellben egy 12 12-es négyzet adja meg az anyag függőleges keresztmetszetét. A négyzet cellái pedig véletlenszerűen kétfélék lehetnek: vagy áteresztik a vizet vagy nem. Táblázatkezelő program segítségével oldja meg a következő feladatokat! A megoldás során vegye figyelembe a következőket! A cellák tartalma háromféle lehet: F, mint fal, azaz a vizet nem engedi át; üresen hagyott, ha átengedésre képes; és V, ha már víz van benne. A víz lefelé folyik minden üres cellába, az alábbi lehetséges irányoknak megfelelően: Előkészítésként alakítsa ki az induló állapotot: töltse fel az A1:A13-as és az N1:N13-as tartományok celláit F ; a B1:M1-es tartomány celláit pedig V karakterekkel! Az A:N oszlopok szélességét és az 1:30 sorok magasságát állítsa be úgy, hogy a cellák (normál nézetben) négyzetek legyenek, és a beleírt karakterek teljes egészében látszódjanak! A P2:P4-es tartomány celláiban készítse el a feliratokat a mintának megfelelő tartalommal! A Q2- es cellába gépeljen be egy 0 és 1 közötti számot, ami a modellben egy-egy cella feltöltésénél a fal valószínűségét fogja jelenteni! A B2:M13-as tartomány celláiban véletlenszerűen adja meg, hogy az egyes cellák falként viselkednek vagy áteresztik a vizet! A Q2-es cella tartalmánál kisebb vagy egyenlő véletlenszámok esetén F karakter legyen a cellában, különben maradjon üresen! A feladatot egyetlen képlet másolásával oldja meg! A Q3-as cellában számítsa ki, hogy mennyi a falat tartalmazó cellák aránya a B2:M13-as tartomány celláinak számához képest! Az átszivárgás szimulációját az A15:N27-es tartomány celláiban valósítsa meg az induló állapot (az A1:N13-as tartomány cellái) alapján! A megoldás során feltételezzük, hogy a szilárd anyag fölötti rétegben (B1:M1-es tartomány) a vízutánpótlás folyamatos. Hivatkozások segítségével az A15:A27-es, az N15:N27-es és a B15:M15-ös tartomány celláiban jelenítse meg az induló állapottal megegyező értékeket! A B16:M27-es tartomány celláiban képlettel adja meg az első feladatnál ismertetett folyási szabálynak megfelelően, hogy az egyes cellákba víz kerül-e! A cellák tartalma, ha víz folyt bele, legyen V, a többi esetben maradjon az eredeti üres állapot vagy F karakter! A megoldás során másolható képletet használjon! Minta
5. feladat-római számok A római számok ma is sok épület homlokzatán láthatók. Ebben a feladatban a római számokat kell arab számokká átalakítania a megadott algoritmus alapján. A római szám valódiságának vizsgálata most nem a feladata. Csak 1-től 3999-ig terjedő, nagybetűs római számokkal foglalkozunk, amelyek legfeljebb 20 karakterrel leírhatók. A római számjegyek értékei: Római számjegyek jelei Érték I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Az átalakítás algoritmusa:
Az adott számjegy előjele akkor negatív, ha az utána következő számjegy nála nagyobb. Az utolsó számjegyérték mindenképpen pozitív. A megoldás során vegye figyelembe a következőket: Amennyiben lehetséges, a megoldás során képletet, függvényt, hivatkozást használjon, hogy az alapadatok módosítása esetén is a kívánt eredményeket kapja! Ha egy részfeladatban fel akarja használni egy korábbi részfeladat eredményét, de azt nem sikerült teljesen megoldania, használja a megoldását úgy, ahogy van, vagy írjon be valószínűnek tartott adatokat! Így ugyanis pontokat kaphat erre a részfeladatra is. Amennyiben szükséges, segédszámításokat a 25. sortól lefelé végezzen! Táblázatkezelő program segítségével készítse el a római szám arab számmá történő átalakítását! Mentse a táblázatot romai néven a táblázatkezelő alapértelmezett formátumában! Az A1 és C1 cellákba írja a Római szám: és az Eredmény: szövegeket! Az A4:D4 és az F4:G4 cellákban készítse el a segédtáblázatok fejlécét a mintának megfelelő tartalommal! Az F5:G11 tartományba gépelje be a római számjegyek jeleit és értékeit a minta alapján! A Sorszám felirat alatti cellákat töltse fel 1-től 20-ig egész számokkal! A Számjegy felirat alatti húsz cellában másolható függvény segítségével határozza meg az A2 cellában található szabályos római szám betűit! Az oszlop többi cellájában, ha már nincs több betű, akkor ne jelenjen meg semmi! A Számjegyek értéke oszlopban határozza meg függvénnyel a mellette lévő betű értékét ha van betű, különben ne jelenjen meg semmi! Az érték meghatározásához használja fel az F4:G11 segédtábla adatait! Határozza meg az Előjeles oszlopban másolható függvénnyel a számjegyek előjeles értékét a megadott algoritmus szerint! Ügyeljen arra, hogy az utolsó számjegyérték mindenképpen pozitív! A kiszámított érték csak ott jelenjen meg, ahol az előző oszlopban volt szám, és a többi cella maradjon üresen! Összegezze a C2 cellában a megfelelő cellák tartalmát! Ügyeljen, hogy más római számokra is működjön a megoldás! Minta
6. feladat Személyi azonosító https://hu.wikipedia.org/wiki/szem%c3%a9lyi_azonos%c3%adt%c3%b3 7. feladat Adóazonosító https://hu.wikipedia.org/wiki/ad%c3%b3azonos%c3%adt%c3%b3_jel