2. Bevezetés A programozásba 2015/2016. ősz
Folyamatábra ismétlés
Folyamatábra Leírja a folyamatainkat egy megfelelően magas nyelven Algoritmikus gondolkodás elsajátítására remekül használható Egyszerű feladatokat szinte program szinten lehet vele kezelni A programozó a folyamatábra alapján egyszerűen meg tudja írni a programot
Folyamatábra elemei Program kezdete Input / Output Általános művelet Elágazás
Programozási szerkezetek Szekvencia Elöl tesztelős ciklus Hátul tesztelős ciklus Igazságértékre alapozott választás Többszörös választás
Szekvencia Egymás után következő lépések sorozata A program ezt hatja végre lépésről lépésre
Elöl tesztelős ciklus Első lépés feltétel vizsgálata Döntés függvényében NEM BIZTOS, HOGY a ciklusmag végrehajtódik
Hátul tesztelős ciklus Első lépés ciklusmag végrehajtása Feltétel vizsgálata A ciklusmag legalább egyszer végrehajtódik
Igazságértékre alapozott vizsgálat Feltétel vizsgálata. Eredménye lehet: Igaz Hamis A vizsgálat eredményének függvényében elágazik a program
Többszörös választás Feltétel vizsgálata. Eredménye több értékből is választható A választás függvényében ágazik el a program
Változó Első körben: A változó egy olyan fiók ahova pakolhatunk adatokat és névvel hivatkozhatunk rá a programunkban Általában nem használunk ékezetet és beszédes neveket adunk Változó pl: i n szam betu szoveg
Feltételes elágazás if feltétel: blokk1 else: blokk2 Ha feltétel igaz, akkor a blokk1utasításai hajtódnak végre, egyébként a blokk2 utasításai. A feltétel lehet egy változó, vagy egy összetett kifejezés. A feltétel logikai értéke határozza meg, hogy melyik ág hajtódik végre. Az else ág opcionális, tehát az if ág önmagában is elég
Ciklusok Ugyanazt a kódrészletet többször szeretnénk végrehajtani nem akarjuk egymás után sokszor leírni lehet, hogy a program írásakor még nem is tudjuk, hogy hányszor szeretnénk végrehajtani print( 1 ) print( 2 ) print( 3 ) ... print( 100 )
while ciklus Ellenőrzi, hogy a feltétel teljesül-e while feltétel: blokk Ellenőrzi, hogy a feltétel teljesül-e ha igen, akkor végrehajtódnak a blokk utasításai és visszatér az 1. ponthoz. ha nem, akkor továbbugrik a while utáni sorra Vigyázni kell: ha rosszul adjuk meg a feltételt, a program végtelen ciklusba kerül: sosem áll le x = 1 while x < 101: print( x ) x = x + 1
Feladatok
Feladat 1 Írassuk ki a számokat egytől százig! Naív „megoldás” : egyesével kiírjuk Nagyon hosszú Mi van ha 1000-ig kell esetleg 10.000-ig Vagy tovább?????
Feladat 1 Jó megoldás: Írjunk algoritmust!!! Hogyan??? Adjunk általános receptet ami bármeddig jó lehet!!! Kell egy változó amibe eltároljuk az aktuális értéket. Hívjuk n-nek. A változónak adunk kezdeti értéket (n=1) Megvizsgáljuk, hogy elértük-e az adott számot (100,1000,10.000) Ha nem: Növeljük az értéket Kiírjuk a számot Ha igen: Készen vagyunk Rajzoljunk folyamat ábrát!!
Megoldás 1
Python kód n=1 while n<100: print(n) n=n+1
Feladat 2 Írassuk ki csak a páros számokat egytől százig! Két megoldást is adunk
Megoldás 2 A verzió Ugyan az mint előbb csak 2-ről indulunk és mindig kettővel lépünk felfelé
Python kód n=2 while n<100: print(n) n=n+2
Megoldás 2 B verzió Megvizsgáljuk a számot Ha páros kiírjuk Ha nem akkor tovább számolunk
Python kód n=1 while n<100: if n%2==0: print(n) n=n+1
Feladat 3 Írassuk ki egytől százig az összes páros ÉS hárommal osztható számot!
Megoldás 3 Vizsgáljuk az oszthatóságot 2-vel majd 3-al Ha mind a kettőre megfelel, akkor kiírjuk Ha bármelyikre nem a válasz, akkor nem írjuk ki
Python kód Python kód: n=1 while n<100: if n%2==0: if n%3==0: print(n) n=n+1
Feladat 4 Írassuk ki egytől százig az összes páros VAGY hárommal osztható számot!
Megoldás 4 Először megnézzük az oszthatóságot kettővel, utána hárommal
Python kód n=1 while n<100: if n%2==0: print(n) elif n%3==0: n=n+1
Feladat 5 Mit csinál az adott folyamatábrával leírt program?
Megoldás 5 Kiírja 10 és 100 között azokt a számokat amik oszthatóak 2-vel DE 3-mal nem!! Pl: 10 14 16 20 …
Feladat 6 Írjuk meg a kitaláló programot. Am gép gondol egy számra 1 és 100 között Minden körben tippelünk egyet A gép három választ adhat: A szám kisebb mint a tipped A szám nagyobb mint a tipped Eltaláltad A program számolja meg a tippek számát, majd amikor eltaláltad kiírja a képernyőre
Megoldás 6