Professional Documents
Culture Documents
ALAPJAI
Klatka Tünde
2018.09.15.
A SZÁMÍTÓGÉP
FELÉPÍTÉSE
■ A számítógép főbb egységei:
1. változat
Főzz teát! ha van ilyen utasítás, akkor semmi más
teendőnk nincs, mint kiadni az utasítást. Ha nincs ilyen
utasítás, akkor meg kell magyarázzuk neki, mit is várunk
tőle!
2. változat „Főzz teát!” parancs:
Tölts vizet a kannába!
Kapcsold be a tűzhelyet!
Tedd rá a kannát!
Amíg nem forr
Várj egy percet!
Dobd bele a teatojást!
Vedd le a tűzről!
Ha kell cukor
Tedd bele!
Egyébként
Ha kell méz
Tedd bele!
Töltsd csészébe!
VÉGE.
■ Ez a teafőzés pszeudokódja.
■ Ebben a kódban megjelenik a strukturált programozás
mindhárom alkotóeleme:
■ Ahol egy oszlopban kezdődnek az egymást követő utasítások,
az a szekvencia.
■ Az „amíg” kezdetű utasításblokk egy ciklus, más néven
iteráció. A ciklus magjában lévő utasítás vagy utasítások
addig ismétlődnek, amíg az „amíg” után álló feltétel igaz.
■ Feltételes elágazás a „ha” kezdetű utasításblokk. Ha a „ha”
utáni állítás igaz, akkor végrehajtódik a feltétel magjában
lévő utasítás vagy utasítások. A feltételes elágazásnak lehet
(de nem kötelező) egy„egyébként” ága is, ami akkor hajtódik
végre, ha a „ha” utáni állítás hamis.
■ A folyamatábrán jól látszik a ciklus és az elágazás közötti
különbség: ciklus esetén visszaugrunk, elágazásnál pedig
előre haladunk.
■ Megnéztük a formát, beszéljünk a tartalomról! Ha
végignézzük az algoritmust, valószínűleg felvetődik önben,
hogy nem ön nem így főzne teát. Miért nem filtert
használunk? Miért a kannába tesszük a cukrot vagy a mézet
és nem a csészébe? Stb. A specifikáció nem rögzítette ezeket
a részleteket. Egészen pontosan semmit sem rögzített, csak
azt, hogy a robot főzzön teát. Ez alapján akár minden ízesítés
elhagyható lett volna, vagy továbbiakkal lehetne kiegészíteni.
Az algoritmus készítője hozta meg a döntéseket úgy, ahogy
neki tetszett.
■ Általában is elmondható, hogy a programozó dönt
rengeteg algoritmikus kérdésben, a specifikáció
általában nem ad választ minden kérdésre.
■ Szükség esetén konzultálhatunk is a megbízóval, hogy
mik az elvárásai.
■ Ez a felbontás akkor jó, ha a robot ismeri az összes
benne szereplő utasítást. Ha nem ismeri, tovább kell
bontanunk az algoritmust egészen addig, amíg olyan
utasításokhoz nem érünk, amit a robot is ismer.
■ A robot által ismert utasításokat elemi utasításoknak
nevezzük, ezekből lehet bonyolultabb programokat
készíteni.
Feladat 1
■ Adjunk algoritmust a robotunknak rántottakészítéshez!
Ábrázoljuk az algoritmust folyamatábrával is!
Feladat 2.
■ A kalauz nem tudja kezelni a jegyeket a vonaton, mert a
neki adott utasítások összekeveredtek. Segítsen neki,
és írja be a pszeudokód soraiba a magfelelő utasítás
betűjelét! Minden sorba csak egy betű kerülhet, és
minden betű csak egyszer használható. Minden betűt fel
kell használnia!
a) Ha nincs bérlet ______
b) Lyukaszd! ______
c) VÉGE. ______
d) Szállj át a következő kocsiba! ______
e) Amíg van kezeletlen utas ______
f) Kérd a jegyet vagy a bérletet! ______
g) Adj pótdíjcsekket! ______
h) Ha nem ért a szerelvény végére ______
i) Ha van jegy ______
j) Amíg nem ér a szerelvény végére ______
k) Menj a következő utashoz! ______
l) Egyébként ______