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.¹

Ú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.² 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.³ 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.⁴

Ú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.