Vydavateľstvo Elist

www.elist.sk

Anino Belan

IMAGINE

Eučebnica programovacieho jazyka pre začiatočníkov

Autor: © Anton Belan, 2004

Obálka: © Elist, 2014

Vydavateľ elektronickej knihy: © Elist

Všetky práva vyhradené. Nijaká časť tejto knihy nesmie byť reprodukovaná, uchovávaná v rešeršných systémoch alebo prenášaná akýmkoľvek spôsobom vrátane elektronického, mechanického, fotografického či iného záznamu bez predchádzajúceho písomného súhlasu autora, respektíve vydavateľa.

ISBN: 978-80-8171-012-4

Úvod

Varovanie pre pedagógov: Napriek tomu, že sa tento text používa v terciách gymnázia Školy pre nadané deti, treba mať na pamäti, že žiaci našej školy majú informatiku od prvého ročníka ZŠ a nie sú úplne neskúsení programátori. Niektoré kapitoly sú aj pre nich pomerne náročné, úroveň vyžadovanej abstrakcie a algoritmickej zručnosti je v nich vysoká a v plnom rozsahu sú ich schopní pochopiť iba niektorí. Texty je pokojne možné použiť aj pri vyučovaní informatiky vo vyšších ročníkoch gymnázia. Pre začiatočníkov, alebo deti nižších vekových kategórií môžu slúžiť ako vítaná inšpirácia, ale vždy treba opatrne zvážiť, či je daný text pre danú skupinu žiakov vhodný. Toto ponechávame na Váš pedagogický cit a majstrovstvo.

Varovanie pre žiakov: Programovanie je niekedy ťažké. Ale má tú výhodu, že ak spravíte hlúposť, následky väčšinou vidíte rýchlo. A ďalšiu, že mašina robí presne to, čo jej poviete (aj keď zďaleka nie vždy to, čo by ste chceli). A programovanie (okrem toho, že je ťažké) je aj pekné a ak mu prepadnete, už sa toho nezbavíte.

Prvá kapitola

Pasieme korytnačku

Dávno pradávno, keď sa voda sypala, piesok lial a počítače skoro ešte ani neboli, vymyslel ktosi programovací jazyk a nazval ho LOGO. Prešlo pár rokov, jazyk sa mal utešene k svetu a kadekto ho používal a tak sa dala dokopy parta ľudí z bratislavského Matfyzu a spravila prostredie, zvané Comenius Logo. I mnohí premnohí sa v tomto prostredí vytešovať mohli, svoje projekty v jazyku LOGO písali a na svete im blažene bolo. Ale čas plynul neúprosne ďalej, procesory zväčšovali svoju rýchlosť aj kapacitu a nereentrantné šestnásťbitové aplikácie zhadzovali operačné systémy a tak sa ďalší vývojári rozhodli, že urobia prostredie nové, Imagine nazvané. A učinili tak. Objektovú stránku jazyka LOGO posilnili, kresliace nástroje povylepšovali, syntax pomenili a bežným užívateľom k dispozícii za rozumnú cenu dali.

Obrázok 1: Žofka

Jazyk LOGO má od počítačového praveku až doteraz ústrednú postavu. Je ňou korytnačka v našich zemepisných šírkach a dĺžkach nazývaná Žofka. V závislosti od verzie sa podobá na trojuholník, strelu krátkeho doletu, skutočnú korytnačku alebo niečo úplne iné. V prípade Imaginu sa (aspoň zo začiatku) bude na korytnačku celkom aj podobať. (Pozri obrázok 1.)

Na obrázku okrem korytnačky vidíte aj jednu náramne užitočnú vec: príkazový riadok. (To je ten biely obdĺžnik na spodku.) To je riadok, cez ktorý môžete korytnačke hovoriť, čo má robiť. Zadané príkazy sa objavia v šedej ploche vyššie. Na obrázku je vidieť posledný zadaný príkaz zmaz.

Takže hor sa pilotovať korytnačku. Skúste zadať príkaz vpravo 90 Korytnačka spraví vpravo-bok a pootočí sa o 90 stupňov. Bude vyzerať takto: Podobne po zadaní príkazu vľavo 60 sa Žofka otočí doľava o 60 stupňov a bude vyzerať takto: Vyskúšajte si to.1

Úloha č.1: Natočte korytnačku

Tak, aby po vašich pokusoch zase smerovala hore.

Keď už viete korytnačku otočiť správnym smerom, môžete ju poslať do sveta. Zadajte jej príkaz dopredu 100.2 Korytnačka popolezie o 100 korytnačích krokov (korytnačie kroky sú malé, zodpovedajú jednotlivým bodom na obrazovke). A zanechá za sebou stopu, akú vidíte na obrázku. Vláči totiž so sebou atramentové pero a to čarbe, kadiaľ korytnačka chodí. Zadajte teraz príkaz vpravo 90 (korytnačka sa otočí) a potom stlačte šipku hore. V príkazovom riadku sa vám znovu objaví posledný zadaný príkaz. Ak šipku stlačíte ešte raz, objaví sa príkaz, ktorý ste zadali predtým (áno, bolo to dopredu 100). Stlačte <Enter> a príkaz sa vykoná. Niekoľkokrát za sebou pootočte korytnačku o 90 stupňov a pošlite ju o 100 krokov dopredu. Korytnačka vám nakreslí štvorček a vy sa môžete tešiť. Ak niečo pokazíte, zadajte príkaz znovu a celá plocha sa uvedie do pôvodného stavu.

Úloha č. 2: Nakreslite štvorček

Príkazom znovu si zmažte plochu.

Večné prepisovanie príkazov a preklikávanie sa k ním s pomocou šipiek môže byť po čase únavné a môže liezť na nervy. Preto je užitočné vedieť korytnačke prikázať, aby nejakú činnosť niekoľkokrát zopakovala. Ak napríklad chceme nakresliť štvorec, musíme štyrikrát zopakovať príkazy  dopredu 100 vpravo 90. Môžeme to spraviť takto:

opakuj 4 [dopredu 100 vpravo 90]

Za príkaz opakuj napíšeme, koľkokrát to treba zopakovať a do hranatých zátvoriek napíšeme príkazy, ktoré treba zopakovať.

Úloha č. 3: Vyskúšajte, čo spravia príkazy

opakuj 36 [dopredu 100 vpravo 70]
opakuj 180 [dopredu 150 vpravo 178]

Ak chcete, aby korytnačka za sebou čiaru nerobila, zadajte príkaz peroHore, ak chcete, aby ju zase začala robiť, zadajte príkaz peroDolu.3 Ak chcete vymeniť atrament v pere, napíšte príkaz nechFarbaPera "červená (Pozor! Názov farby začína uvodzovkami, ale nekončí nimi.) Samozrejme môžete zvoliť aj iné farby. Ak chcete zmeniť hrúbku pera, napíšte nechHrúbkaPera 6 a hrúbka pera bude 6 bodíkov.4

Úloha č.4: S pomocou známych príkazov nakreslite nasledujúce obrázky:

Druhá kapitola

Vzdelávanie korytnačky

Ako sa dalo v prvej kapitole zistiť, korytnačka Žofka je veľmi poslušné zviera. Vykoná, čo vám na príkazovom riadku uvidí. V tomto je samozrejme problém. Korytnačka by isto rada vykonala aj to, čo vám na srdci uvidí, ale zatiaľ ešte nebolo vyvinuté dostatočne spoľahlivé rozhranie, ktoré by vedelo prečítať vaše túžby, takže je to na tom príkazovom riadku. A čo si do neho napíšete, to korytnačka (ak tomu porozumie) naozaj urobí.

To, že korytnačka nespraví to, čo chcete, môže mať dve príčiny. Buď porozumie všetkým vašim príkazom a vykoná ich. A vy pozeráte na výsledok a hovoríte si: „Fí ha, toto som naprogramoval ja?!?!? To som tak teda nemyslel!“ Vtedy treba zadať príkaz znovu a zadať príkaz znovu, ale nejak inak, aby korytnačka spravila to, čo chcete. Druhá možnosť je tá, že korytnačke zadáte príkaz, ktorý nepozná. Napríklad chcete, aby korytnačka nakreslila štvorec a tak napíšete štvorec. Korytnačka je samozrejme celá zmätená, v živote o takom, že štvorec nepočula, a tak napíše: Neviem ako sa robí štvorec Buď si sa pomýlil v mene procedúry alebo si ju ešte vôbec nedefinoval Skrátka, snaží sa ako vládze, v náhlivosti ani čiarky, ani bodky za vetou nepíše, ale nevie. A v tejto kapitole sa dozviete, ako ju to naučiť.

Je to jednoduché. Ak korytnačku chcete naučiť kresliť štvorce, napíšte jej do príkazového riadku toto:

viem Štvorec
dopredu 70 vpravo 90
koniec

Akonáhle napíšete príkaz viem Štvorec, prepne sa príkazový riadok do učiaceho režimu. Miesto znaku ? Sa na začiatku začne objavovať znak > a žiaden z príkazov, ktorý zadáte sa nevykoná. Všetky príkazy sa ale budú zaznamenávať a pridávať do príkazu Štvorec. Tento stav bude trvať až dovtedy, kým nezadáte príkaz koniec.

Keď teraz napíšete príkaz Štvorec, už sa neobjaví chybová hláška.

Úloha č.1: Naučte korytnačku príkaz Štvorec podľa návodu a vyskúšajte ho

Ak ste postupovali presne podľa návodu, zistili ste, že Žofka príkaz síce vykonala, ale že na štvorec sa to veľmi nepodobá. Dôvod je jednoduchý – uvedené príkazy sme zabudli štyrikrát zopakovať. Túto chybu treba napraviť. Dá sa to spraviť dvoma spôsobmi. Ten komplikovanejší je, že korytnačku naučíme celý príkaz odznova a tentokrát správne. Ten jednoduchší je, že Imaginu siahneme do pamäte a zmeníme príkaz priamo tam.

Najprv si treba zapnúť okno Pamäť. Urobíte to tlačidlom vyznačeným na obrázku. Okno Pamäť nám ukáže celé vnútro Imaginu. Nájdete tu informácie o všetkých objektoch, ktoré sa v ňom nachádzajú, o korytnačkách, udalostiach, plochách a iných veciach o ktorých sme sa zatiaľ nezmienili. A samozrejme je tam aj príkaz, ktorý sme práve vytvorili. Keď si teda otvoríte okno Pamäť a rozbalíte chlievik s nápisom Procedúry, ukáže sa vám to, čo vidíte na obrázku vľavo. Medzi procedúrami sa vyníma naša nová procedúra Štvorec. (Bodaj by sa nevynímala, keď je tam zatiaľ jediná.) Keď na ňu dvojkliknete, otvorí sa vám editor, v ktorom môžete procedúru upraviť.

Úloha č. 2: Upravte procedúru v editore tak, aby skutočne nakreslila štvorec. Vyskúšajte, či to naozaj funguje.

Keď ste upravovali procedúru Štvorec, isto ste si všimli, že na okne editora je vľavo dole tlačidlo s nápisom Pridaj. S jeho pomocou môžete rovno pridávať nové procedúry a písať ich v editore. Je to pohodlnejšie, ako pridávať procedúry s pomocou príkazu viem z príkazového riadku.

Procedúru Štvorec teraz môžete používať rovnako ako ktorýkoľvek iný príkaz z Imagine. Môže byť dokonca použitý aj v iných zložitejších príkazoch. Vyskúšajte napríklad napísať príkaz

opakuj 24 [Štvorec vpravo 15]

Korytnačka zmúdrela a procedúru vykoná bravúrne, rýchlo a bez problémov.

Úloha č. 3: S pomocou príkazu Štvorec nakreslite nasledovné útvary:

Úloha č. 4: Napíšte procedúry Trojuholník a Šesťuholník a s ich pomocou nakresite nasledovné útvary:

a vyskúšajte príkaz

opakuj 3 [ opakuj 10 [ Šesťuholník dopredu 10 ] vpravo 120 ]

Úloha č. 5: Napíšte príkaz Domček, ktorý nakreslí nasledovný útvar:

Tretia kapitola

Korytnačka s pamäťou

Každá lepšia kalkulačka má aspoň jednu pamäť. Imagine má dokonca okno pamäť.5 A ako uvidíte v budúcnosti, aj jednotlivé korytnačky si môžu všeličo pamätať. Kalkulačka si pamätá iba čísla. Pamäť Imagine je všestrannejšia. Môže si pamätať čísla, slová alebo obrázky. A v tejto kapitole sa dozviete, ako do pamäte niečo vložiť a ako to zas vybrať von.

Predstavte si, že trpíte neprekonateľnou sklerózou a chcete, aby si Imagine niekde zapamätal číslo 5, lebo ak si ho nezapamätá on, vy ho okamžite zabudnete. Musíte si na to číslo vyrobiť krabičku (počítačový guru by povedal „rezervovať pamäť“ alebo „zaviesť premennú“) a tú krabičku nejak pomenovať. Dá sa to spraviť príkazom urob. Predpokladajme, že tá naša krabička sa bude volať číselko. Ak napíšete príkaz

urob "číselko 5

udejú sa naraz dve veci. Imagine sa pozrie, či existuje premenná, ktorá sa volá číselko a ak nie, tak ju vytvorí. Ak sa pozriete do okna pamäť, tak ju tam nájdete v chlieviku s názvom Globálne premenné. Druhá vec, ktorá sa udeje je, že Imagine do premennej číselko vloží päťku. Môžete sa o tom presvedčiť tak, že dvojkliknete na jej ikonu.

Na uvedenom príklade je jedna nezvyklá vec (aspoň zo slovenčinárskeho hľadiska). Nachádza sa tam totiž len jedna úvodzovka. V Imagine bolo totiž potrebné rozlíšiť názvy príkazov od normálnych slov. Ak to začína úvodzovkou, je to normálne slovo (a príkaz urob ho môže použiť ako názov novej premennej). Ak by sme tam tú úvodzovku nedali, Imagine by si myslel, že sa jedná o príkaz číselko a sťažoval by sa, že taký nepozná. Ak chcete, môžete si to vyskúšať.

Dobre. S vynaložením istého úsilia sme vyrobili našu prvú premennú. Ako teraz využiť to, čo je v nej uložené? Na to, aby sme sa dostali k hodnote, ktorá je do premennej (po starom do „pamäte“) vložená, potrebujeme ďalší špeciálny uvádzací znak – dvojbodku. Takže ak napríklad zadáme príkaz

píš :číselko

Imagine vám vypíše 5. A ak to skúsite s príkazom

dopredu 10 * :číselko

korytnačka sa posunie dopredu o 50 korytnačích krokov. (Hviezdička znamená „krát“.) Podľa dvojbodky Imagine spozná, že má použiť hodnotu premennej, ktorej meno za dvojbodkou nasleduje.

Do premenných môžeme okrem čísel ukladať aj mnohé iné veci (zoznamy, obrázky, ...) Ak napríklad zadáme príkaz

urob "zviera "mamut

do premennej zviera sa uloží slovo mamut.

Ukladanie obrázkov do premenných je troška zložitejšie. Najprv si vytvoríme premennú, v ktorej bude prázdny obrázok. (Prázdny obrázok je taký obrázok, v k torom nič nie je nakreslené, takže to vlastne skoro ani nie je obrázok. Hlavné je, že sa Imagine k nemu ako k obrázku bude chovať.) Spravíme to príkazom

urob "obrázoček prázdnyObrázok

V okne pamäť nám pribudne premenná obrázoček, ale zatiaľ v nej nič nie je. Keď na ňu dvojkliknete, otvorí sa okno so všetkými globálnymi premennými a uvidíte, že rámček vedľa nej je prázdny. A teraz nastala vaša chvíľa. Dvojkliknite do toho prázdneho priestoru. Objaví sa vám program LogoMotion, ktorý je určený na kreslenie. V kolónke Súbor si vyberte Nový (Alebo stlačte Ctrl-N) a môžete kresliť. Keď ste hotoví, zavrite LogoMotion a na otázku, či váš výtvor do premennej uložiť odpovedzte Áno.

To, čo ste nakreslili, sa stalo obsahom premennej obrázoček. Túto premennú môžete používať v príkazoch, ktoré s obrázkami vedia pracovať. Môžete napríklad zmeniť tvar korytnačky príkazom

nechTvar :obrázoček

Úloha č.1: Zmeňte tvar korytnačky opísaným spôsobom.

Nasledujúce úlohy sú zamerané na manipuláciu s premennými.

Úloha č.2: Aká hodnota bude uložená v premennej hausnumero po každom z uvedených príkazov? (Najprv si rozmyslite odpoveď, až potom skúšajte.)

urob "hausnumero 3
urob "hausnumero :hausnumero + 4
opakuj 10 [ urob "hausnumero :hausnumero + 2 ]
urob "hausnumero :hausnumero / 9
píš :hausnumero

Úloha č.3: Čo spravia nasledujúce príkazy? (Znovu si najskôr premyslite odpoveď.) Aká hodnota bude na konci v premennej a?

urob "a 1
opakuj 400 [ dopredu :a vpravo 90 urob "a :a + 1]

Úloha č.4: Vytvorte premenné hihi a hoho, do oboch vložte číslo 1. Potom do hihi vložte súčet čísel, ktoré sa práve v týchto premenných nachádzajú a hneď nato vložte do hoho súčin čísel v oboch premenných. Toto vkladanie zopakujte päťkrát. Aké hodnoty budú v oboch premenných?

Úloha č.5: S použitím premenných a finty z úlohy č. 3 skúste nakresliť nasledujúci obrázok:

Štvrtá kapitola

Korytnačka a parametre

Už viete, ako korytnačku naučiť nový príkaz. Rovnako si viete vytvoriť a použiť prmennú – krabičku v pamäti, do ktorej môžete ukladať čo potrebujete. V tejto kapitole sa dozviete, ako procedúry a premenné súvisia.

Keď sme začali s vytváraním procedúr, možno niekto závistlivo pokukoval po systémových procedúrach – takému príkazu dopredu je sveta žiť. Keď napíšeme dopredu 50, korytnačka ide dopredu o 50 bodíkov, keď napíšeme dopredu 140, ide dopredu o 140. Naše procedúry vykonali čo mali a vždy to vyzeralo rovnako. Zato procedúra dopredu si počká, aké číslo za ňu zapíšete a zachová sa podľa toho. A čo viac – ak napíšete iba dopredu a stlačíte <Enter>, tak sa... čo sa vlastne stane, si vyskúšajte sami.

Taká vec, ako procedúra s parametrom^6 je veľmi praktická. Nemuseli by sme robiť veľa rôznych procedúr na kreslenie štvorcov rôznych veľkostí. Stačila by jedna. Parametrom by sme jej povedali, aký veľký štvorec potrebujeme a korytnačka by nám taký nakreslila.

No a v tomto momente prichádzajú k slovu premenné. Nebudú to globálne premenné na ktoré by sme sa mohli pozrieť v okne pamäť. Budú to lokálne premenné, ktoré budú viditeľné len pre procedúru a do ktorých si bude ukladať vstupné hodnoty. Univerzálnu procedúru štvorec urobíme takto:

viem štvorec :DĺžkaStrany
opakuj 4 [ dopredu :DĺžkaStrany vpravo 90 ]
koniec

Táto procedúra začína klasicky kľúčovým slovom viem po ktorom nasleduje meno procedúry. Lenže po mene procedúry je tam novinka – procedúre sa dáva na známosť, že bude nasledovať obsah premennej, ktorú sme si nazvali DĺžkaStrany. (Mohli sme ju kľudne nazvať ZlostnýŠakalVyjúciNaMesiac alebo x, ale je dobre voliť názov tak, aby vypovedal o tom, čo do premennej ukladáme.) Obsah premennej DĺžkaStrany potom použijeme pri kreslení štvorca.

Keď naučíte Imagine uvedenú procedúru, môžete napísať štvorec 100. Číslo 100 sa uloží do premennej DĺžkaStrany a procedúra vám nakreslí pekný štvorček so stranou 100.

Úloha č.1: urobte si procedúru štvorec a s jej pomocou nakreslite to, čo vidíte na obrázku.

Parametre sa v procedúrach dajú využívať mnohými rôznymi spôsobmi. Môžeme ich použiť na určovanie dĺžok, uhlov, mien, tvarov, počtu opakovaní a iných vecí. O tom svedčia aj nasledujúce úlohy:

Úloha č.2: Urobte si nasledujúcu procedúru a spustite ju s parametrami 1 až 10. Čo to bude robiť? Prečo?

viem chaos :n
opakuj 11 [ dopredu 100 vpravo :n * 360 / 11 ]
koniec

Úloha č.3: Urobte si nasledujúcu procedúru a spustite ju s nejakými vhodnými parametrami. Čo to bude robiť? Prečo?

viem divdivuci :n :d
opakuj :n [ dopredu :d vpravo 360 / :n ]
koniec

Úloha č. 4: Napíšte procedúru schody s jedným parametrom, ktorý bude udávať počet schodov, ktorý má korytnačka nakresliť. Ak bude mať parameter hodnotu 3, bude to vyzerať takto:

Úloha č. 5: Napíšte procedúru domček, ktorá nakreslí domček určenej veľkosti. Takže napríklad domček 80 nakreslí toto:

Úloha č. 6: Napíšte procedúru hviezdička, ktorá nakreslí čiarkovú hviezdičku s toľkými čiarkami, koľko jej poviete s pomocou parametra. Napríklad hviezdička 25 urobí

(Možno sa vám bude hodiť príkaz vzad. Korytnačka má aj spiatočku, len jej treba povedať, o koľko má cúvnuť. Teda napríklad vzad 35.)

Úloha č. 7: Upravte príkaz hviezdička tak, aby mal dva parametre. Druhý parameter bude určovať, aké dlhé majú byť čiarky. (Predošlý obrázok by sa nakreslil príkazom hviezdička 25 100.)

Piata kapitola

Rozhodná korytnačka

Doteraz sme od korytnačky Žofky vyžadovali bezpodmienečnú poslušnosť. Povedali sme jej, aké príkazy má vykonať a ona ich – ako sa na cvičené zviera patrí – poslušne vykonala. Tým sme ale hrubo podcenili jej potenciál. Korytnačka totiž nie je úplne slaboduchá a ak jej necháme podrobné pokyny, nemusí vždy vykonávať príkazy jeden za druhým, ale vie sa zariadiť podľa okolností. Dokonca vie nejaké veci nechať na náhodu. A v tejto kapitole si ukážeme, ako tieto jej vlastnosti využiť.

Začneme s tou náhodou. Korytnačka pozná príkaz náhodne. Ak jej niekde napíšem náhodne 100, znamená to „vymysli číslo, ktoré je nezáporné a menšie ako sto“. Vyskúšajte jej niekoľkokrát za sebou zadať príkaz

píš náhodne 100

a pozerajte, aké čísla bude písať.

Náhodné čísla sa dajú využiť rôznymi spôsobmi, z ktorých si niekoľko ukážeme. Skúste napríklad zadať príkaz

opakuj 5000 [ vpravo náhodne 360 dopredu 10 ]

Keď napíšete niečo ako vpravo náhodne 360, korytnačka sa otočí v pravo o nejaké náhodné číslo od 0 do 359 a získa tak úplne náhodný smer. A keď ju vždy pred ďalším krokom takto zmätiete, jej cesta bude pripomínať cestu opilca cez štadión (ako uvidíte, keď si uvedený príkaz vyskúšate).

Dobre. Teraz už nemáme všetko tak úplne pod kontrolou, korytnačka si nejaké čísla vymýšľa. Ešte ju treba naučiť, ako zareagovať na nejaké vonkajšie podmienky. A na to slúži príkaz ak. Používa sa napríklad takto:

ak :a = 1 [ píš [V premennej a je jednotka.] ]

Za slovíčkom ak nasleduje podmienka a po nej hranatá zátvorka s príkazmi. Ak je podmienka splnená (teda v našom prípade, ak je v premennej a skutočne 1), príkazy v hranatej zátvorke sa vykonajú a objaví sa nápis. Ale ak podmienka splnená nie je, hranatá zátvorka sa preskočí a pokračuje sa až za ňou. (V našom prípade nie je kde pokračovať a príkaz nevypíše nič.)

Príkaz ak teraz využijeme na rafinované náhodné kreslenie. Príkaz náhodne 2 nám vráti buď 0 alebo 1. A náš príkaz vymyslíme tak, aby vtedy, keď to bude jednička, korytnačka zahla vpravo, inak išla rovno. Bude to vyzerať takto:

opakuj 500 [ ak náhodne 2 = 1 [ vpravo 90 ] dopredu 10 ]

Obrázok, ktorý teraz korytnačka nakreslí, bude síce tiež náhodný, ale oveľa usporiadanejší (asi ako ulice v New Yorku).

Ak chceme, aby sa korytnačka točila nielen vpravo, ale aj vľavo, musíme príkaz trochu pozmeniť. Jednak musíme použiť náhodne 3 miesto náhodne 2, pretože už máme tri možnosti: 0 – rovno, 1 – vpravo a 2 – vľavo. Okrem toho si výsledok funkcie náhodne budeme ukladať do premennej. A nakoniec, keďže je to väčší príkaz, spravíme si z neho samostatnú procedúru.

viem NewYork
opakuj 500 [
urob "náhoda náhodne 3
ak :náhoda = 1 [ vpravo 90 ]
ak :náhoda = 2 [ vľavo 90 ]
dopredu 10
]
koniec

Úloha č.1: Vyskúšajte si všetky uvedené príklady. Čo to spraví, keď v procedúre NewYork nahradíte príkazy vpravo 90 a vľavo 90 príkazmi vpravo 120 a vľavo 120?

Úloha č.2: Napíšte procedúru kocka, ktorá vám vypíše náhodné číslo od 1 do 6.

Úloha č.3: Nasledujúca procedúra zistí, či číslo, ktoré dostala ako parameter je párne, a ak je, vypíše to.

viem parita :n
ak zvyšok :n 2 = 0
[ (píš [Číslo ] :n [ je párne.] ) ]
koniec

Funkcia zvyšok x y vypočíta zvyšok po delení čísla x číslom y, takže napríklad zvyšok 14 3 bude 2 (pretože 14 : 3 = 4 zvyšok 2.) Upravte procedúru parita tak, aby vedela rozoznať párne čísla od nepárnych a aby pri každom čísle vedela napísať, aké v skutočnosti je.

Úloha č.4: Čo bude robiť nasledujúca procedúra?

viem čudo :počet
urob "iks 1
opakuj :počet [
ak zvyšok :iks 2 = 0 [ vpravo 90 ]
ak zvyšok :iks 2 = 1 [ vľavo 90 ]
dopredu 20
urob "iks :iks + 1
]
koniec

Skúste spustiť čudo 7 alebo čudo 12. Ako to funguje? Urobte podobnú procedúru, ktorá ak dostane na vstupe 9, nakreslí toto:

Úloha č.5: Čo bude robiť nasledujúca procedúra?

viem záhada :a
ak :a <= 0 [ ukonči ]

Vážení čtenáři, právě jste dočetli ukázku z knihy Imagine.
Pokud se Vám líbila, celou knihu si můžete zakoupit v našem e-shopu.