Imagine. Podmienené príkazy. Ovládanie pomocou klávesnice

Aby program mohol vykonávať rôzne akcie v závislosti od pokynov používateľa, alebo vstupných hodnôt ,sú potrebné podmienené príkazy. V Imagine na testovanie podmienok slúžia nasledujúce príkazy:
ak podmienka [príkazy]jednocestná podmienka, ak je splnená vykonajú sa príkazy v hranatých zátvorkách

ak2 podmienka [príkazy1][príkazy2]dvojcestná podmienka. Ak je podmienka splnená, vykonajú sa príkazy1, ak splnená nie je, vykonajú sa príkazy2.

Viaccestný podmienený príkaz

akje funkcia
[
hodnota1 [prikazy1]
hodnota2 [prikazy2]
hodnota3 [prikazy3]

hodnotaN [prikazyN]
[alternatívne prikazy] – nepovinné, vykoná sa, ak funkcia nemala žiadnu z predchádzajúcich hodnôt
]

Podmienka v cykle
kym [podmienka] [prikazy] – cyklus sa vykonáva tak dlho, kým je splnená podmienka

Úloha: Kresli pomocou klávesnice

Pomocou vyššie uvedených príkazov, môžeme naučiť korytnačku, aby kreslila na základe toho, aké klávesy na klávesnici stlačíme. Budeme ju ovládať pomocu šípiek. Poocou klávesov h a d korytnačka zdvihne pero, alebo ho dá dole.

Najprv napíšeme procedúru Kam. Využijeme funkciu kláves,  ktorá čaká, kým nestlačíme nejaký kláves na klávesnici.

Ak do príkazového riadku napíšeme: opakuj 100 [píš kláves]

podľa toho, aký kláves sme stlačili, vypíše sa príslušný znak, ak to bude riadiace kláves, vypíše sa jeho názov. Napríklad keď stlačíme niektorú šípku, vypíše sa hore, dole, vpravo, vľavo. Keď stlačíme medzerník, vypíše sa medzera, tabelátor – Tab, Shift+tabelátor – Shift.Tab., enter – Enter, Ctrl + kláves – Ctrl.kláves (namiesto kláves sa vypíše príslušné písmeno), …

Príkaz, ktorým určíme, ktorým smerom má korytnačka ísť je nechsmer N, smer nahor je 0, nadol 180, z toho by ste mali vedieť odvodiť, koľko stupňov je vpravo a koľko vľavo. Na základe toho, môžeme napísať procedúru Kam:

viem kam
akje klaves
[
hore [nechsmer 0]
vpravo [nechsmer 90]
dole [nechsmer 180]
vľavo [nechsmer 270]
h [ph]
d [pd]
]
koniec

Teraz napíšeme procedúru kresli, ktorá bude čakať na stlačenie klávesu, na základe toho nakreslí čiaru v danom smere, alebo iba posunie korytnačku v danom smere.

viem kresli
opakuj 1000 [kam do 10
koniec

V procedúre kresli je drobná chyba. Keď stlačíme h alebo d, tak sa korytnačka pohne o 10 krokov, pričom je možné, že používateľ nechce, aby sa korytnačka pohla. Opravu nevykonáme v procedúre kresli, ale v procedúre kam.  Buď ju celú prepíšeme tak, aby sa po stlačení šípky  korytnačka zároveň pohla o 10 krokov a vetvu h a d nebudeme meniť a v procedúre kresli zrušíme príkaz do 10. Druhá možnosť je, že do vetiev h a d dáme príkaz do -10, takže pôvodná poloha bude zachovaná.

print

3 Comments

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *