Imagine (programovací jazyk)

**Imagine** alebo **Imagine Logo** je programovací jazyk a IDE prostredie určený na výuku programovania na základných a stredných školách. Imagine je pokračovateľom programovacieho jazyka Logo.

Imagine Logo patrí medzi detské programovacie jazyky, napriek tomu v ňom možno písať aj komplexnejšie aplikácie. Motivačným základom je ovládanie korytnačky Žofky, ktorá ovláda niekoľko základných príkazov, ktoré žiak píše v materinskom jazyku. Na začiatku príkazy zadáva cez príkazový riadok, postupne však sady príkazov zoskupuje do procedúr a celých projektov.

Imagine v IDE prostredí je interpretačný jazyk, projekt možno skompilovať do exe súboru. Projekt tiež možno zverejniť na www stránkach, používateľ, ktorý by si ho chcel spustiť v prehliadači musí mať nainštalovaný plugin.

Školy zapojené do projektu Infovek majú zakúpenú multilicenciu pre všetkých svojich žiakov a učiteľov.

## Základné príkazy
:*Poznámky: Príkazy v zátvorkách sú skratky príkazov v plnom tvare*
:*Pod termínom príkaz sa v ďalšom texte rozumie nielen jednoduchý príkaz, ale aj programátorom definované procedúry s parametrami a zložené príkazy*

**Dopredu n* (DO)korytnačka sa pohne o n bodov v smere v ktorom je otočená. Ak má pero dole, nakreslí za sebou čiaru v nastavenej farbe a hrúbke
**vzad n*to isté ako Dopredu, ale korytnačka cúva
**vpravo n*; *vľavo n*korytnačka sa otočí doprava alebo doľava o n stupňov
**nechHrúbkaPera n* (*nechHP n*)nastavenie hrúbky pera
**nechFarbaPera "farba* (*nechFP "farba*)nastavenie farby pera, farba sa zadáva v prirodzenom jazyku len zo syntaktických dôvodov je uvedená na začiatku úvodzovkou, koncová úvodzovka sa nezadáva
**PeroHore* (*PH*)pri pohybe korytnačka nezanecháva stopy
**PeroDole* (*PD*)pri pohybe korytnačka kreslí nastaveným perom
**opakuj n príkaz*n krát zopakuje príkaz
**ak podmienka príkaz*ak je splnená podmienka vykoná sa príkaz
**ak2 podmienka príkaz1 príkaz2*ak je splnená podmienka vykoná sa príkaz1 inak sa vykoná príkaz2
**kým podmienka [prikaz1 príkaz2 ... príkazN]*cyklus, ktorý sa bude vykonávať, kým je splnená podmienka. Hranaté zátvorky slúžia na ohraničenie príkazov ktoré sa majú opakovane vykonať
**náhodne n*vygeneruje náhodné číslo 0 až n
**znovu*zmaže pracovnú plochu a umiestni korytnačku do stredu pracovnej plochy, korytnačka smeruje nahor
**nechFarbaVýplne "farba (nechFV "farba)*nastavenie farby výplne
**vyplň*vyfarbí plochu ohraničenú inou farbou, než je aktuálna farba bodu, na ktorom korytnačka stojí
**čakaj čas*čaká toľko milisekúnd, koľko sme zadali v parametri čas
*k v minulosti zadaným príkazom sa dostaneme tak, že kurzor myši presunieme na príkazový riadok a stláčame šipky hore alebo dole

## Premenné
*urob "premenná hodnota*ak premenná ešte neexistovala, vytvorí ju a nastaví  na hodnotu hodnota, inak len nastaví novú hodnotu

*:premenná*použitie premennej, ktorá už bola definovaná

*urob "premenná :premenná+5*k hodnote premennej sa pripočíta 5

## Definovanie procedúry
*viem názovprocedúry prikaz1 príkaz2 ... príkazN koniec*

Príkazy sú oddelené medzerami alebo odriadkovaním, v tomto prípade ide o precedúru bez parametrov.

*viem názovprocedúry :premenná príkaz1 príkaz2 ... príkazN koniec*

Procedúra s jedným parametrom. Ak pri volaní procedúry nezadáme parameter, vyžiada si hodnotu od používateľa.

Ak by sme chceli, aby korytnačka nakreslila štvorec so zvolenou dĺžkou, možno to zadefinovať napríklad nasledujúcu procedúru:

*viem štvorec :dĺžka opakuj 4 [dopredu :dĺžka doprava 90] koniec*

## Zdroj
* Anino Belan: *IMAGINE : učebný text pre terciu osemročného gymnázia*. Škola pre Mimoriadne Nadané Deti a Gymnázium, Bratislava 2004. 

Kategória:Programovacie jazyky