I. Ismétlés: ------------ operátorok, =<, @=<, stb. lista fogalma, használata - mivel múltkor gyakorlatilag nem maradt rá idő, ezért ismét elővesszük a 2. konzultáció néhány feladatát. Lista fogalma, műveletek listákkal. Fájlkezelés fájlok olvasása: ... fájlok írása: ... Néhány gyakorló feladat: Olvassuk be a diákok névsorát, majd kérdezzük végig, hogy ki hány feladatot küldött be. Ezek után: 1. Számolja meg, hogy összesen hány feladat érkezett. 2. Átlagosan hány feladatot küldtek? 3. Ki(k) küldte(k) a legtöbb feladatot? 4. Írassuk ki külön azok névsorát, akik küldtek, és azokét, akik nem. II. Keresési algoritmusok ------------------------- 1. Ismétlés: ut.pl 2. Javítsuk ki az útvonalkereső programot: javítási ötlet: ut(Start, Cel, Eddig_vizsgalt_varosok, Utvonal) ha az új városban már jártunk, akkor onnan ne keressünk tovább. 3. Módosítsuk az előző megoldást úgy, hogy a járatokhoz vegyük fel a távolságokat is, és számoljuk ki az egyes utak hosszát. 4. HF: Határozza meg a legrövidebb utat! 5. HF: Határozza meg a legkevesebb átszállással megtehető utat! (Előbb azt gondolja végig, hogyan lehet meghatározni az átszállások számát :)) 6. Keresési példák segedletek\kereses 7. A feladatok könyvtárban további érdekes feladatok vannak. Plussz pontokért (kommentált megoldás): életkor kannibál-misszionárius nem megoldott része vízöntögetés - esetleg más számokkal is Portia ládái Önálló feladatok (egy részük ismétlés :) ): ----------------- - Ha nagyon nem sikerült megoldani az útvonalkereséses feladatokat, akkor ld.: ut_jav.pl, ut_hossz.pl - határozzuk meg egy lista adott sorszámú elemét - határozzuk meg egy listában egy adott elem előtt lévő elemet - szúrjunk be egy elemet egy listába úgy, hogy minden elem csak egyszer szerepelhessen - határozzuk meg egy lista elemeinek permutációit - határozzuk meg egy számokból álló lista elemeinek összegét, de úgy, hogy ellenőrizze, tényleg számokat tartalmaz-e a lista. (ld. help number/1) - határozzuk meg egy számokból álló lista elemeinek maximumát/minimumát (szintén ellenőrzéssel) - adott egy betűkből álló lista, válogassa külön a magán-, ill. mássalhangzókat - állapítsa meg, hogy egy betűnként beolvasott szóban hány magánhangzó szerepel - cserélje ki egy lista adott elemét valami másra a/ az első előfordulást b/ az összeset - Olvassa be a tankör névsorát, majd egyenként kérdezze meg az emberektől, hogy hány alkalommal küldtek be házi feladatot. Válogassa szét az embereket, külön-külön listába gyűjtse azok névsorát, akik mindkét eddigi alkalommal küldtek feladatot, azokat, akik csak egyszer, és azokat, akik egyszer sem. - Egy fájl tartalmazza a hallgatók névsorát. Egyenként kérdezze meg tőlük, hogy hány százalékos lett a dolgozatuk. Akinek B % fölött, annak érvényes a féléve, akinek A és B % között, az pótolhat, akinek A % alatt, az keresztféléves lesz. Irja ki külön azoknak a névsorát, akiknek érvényes a félévük, külön azokét, akik pótolhatnak, és külön azokét, akik keresztfélévesek lesznek. Határozza meg, melyik csoportba hányan tartoznak! - Olvassa be egy kocsma itallistáját (italok neve + ára). Ezután "rendeljen" italt az asztaltársaságának, vagyis italonként kérdezze végig, hogy melyik italból mennyit kérnek (lehet nullát is). Hány fajta italt rendeltek, és mennyit kellett fizetni érte? - Egy ámokfutó minden második embert lelő. Kiket lőtt le, és kik maradtak? - Kozvelemenykutatast tartanak a kocsmak szinvonalarol. Olvassa be a szóba jöhető kocsmák névsorát, majd értékelje őket 1-től 5-ig. Gyűjtse külön listába a jó osztályzatot (4-est vagy 5-öst) kapó kocsmákat. Hány jó kocsma van? (Az igazi az lenne, ha 1-től N-ig lehetne pontozni, és az X% felettiek a jók.) - Egy listára felirtuk, hogy miket szeretnénk vásárolni és azt is, hogy maximum mennyit szánunk egy-egy árura. "Szimulálja" a vásárlást: olvassa be az adatokat, majd "belépve" a boltba, egyenként kérdezze meg, kapható-e a keresett árucikk, és mennyiért. (Most a választ is mi gépeljük be.) Ha megfelel (vagyis nem kerül többe a tervezettnél), akkor "vegye meg". Végül irassa ki a megvásárolt áruk listáját és azt is, mennyi pénzt költött.