Úterý 20. března Comenius Logo je objektově orientovaný programovací nástroj pracující v prostředí Windows. Byl vyvinut na Slovensku jako nástroj k výuce programování na základních školách. Rozvíjí tvořivost a schopnost řešení problémů. Výsledkem práce mohou být například výukové aplikace nebo hry. Nevýhodou je, že vše co v CL vytvoříte, v něm musíte i spouštět, protože překladač CL pracuje jako interpret. Princip programování CL pracuje ve dvou, současně fungujících, režimech - v textovém a grafickém. V grafické části pracovní plochy je umístěna želva, která vykonává instrukce zadávané z textového pole. Podle nich pak může například vykreslit jednoduché geometrické obrazce (trojúhelník, čtverec). Kreslené útvary mohou vypadat všelijak, neboť to, co želva nakreslí, záleží jen na nás. Můžeme modifikovat tvar stopy (barvu, šířku, vzor), který za sebou zanechá, měnit její vzhled nebo ji skrýt. Tento přístup k práci se proto nazývá "želví grafika". CL má kolem 250 předefinovaných příkazů v různých kategoriích. Abychom se neupsali zadáváním opakujících se instrukcí, můžeme samozřejmě tvořit další, složitější, tzv. definované procedury (právě to učí základům programování). Nebyl by to tak mocný nástroj, kdybychom mohli pracovat jen s jedním objektem (želvou). Po ploše obrazovky se v jednom okamžiku může pohybovat několik želv a tak mohou v CL vznikat zajímavé interaktivní aplikace. Prostředí Comenius Logo Želva se nachází v tzv. grafickém okně (zviditelníme ji klávesou +), v němž jsou vidět i čáry, které nakreslila. Příkazy, které má želva vykonat, se zapisují z klávesnice na příkazový řádek vlevo dole v okně. Do jednoho řádku lze psát více příkazů oddělených mezerou. Příkazy se vykonají po stisknutí klávesy Enter. Mezi grafickým oknem a příkazovým řádkem se nachází textové okno, kde jsou zaznamenány použité příkazy. V příkazovém řádku lze vybírat i šipkami nahoru a dolů příkazy, které jsme želvě zadali v minulosti.
zobrazení okna paměti želva nabídka příkazů Grafická plocha Textová plocha Logo základní příkazy Akce Příkaz Zkratka, Popis příkazu parametr lez dopředu forward fd číslo želva postoupí vpřed o počet pixelů daný číslem lez dozadu back bk číslo želva postoupí vzad o počet pixelů daný číslem otoč vlevo left lt číslo želva se otočí o daný počet stupňů proti směru hodinových ručiček otoč vpravo right rt číslo želva se otočí o daný počet stupňů po směru hodinových ručiček smaž obrazovku clearscreen cs smaže obrazovku a umístí želvu do výchozí polohy nastav barvu setpencolor setpc číslo želva změní barvu stopy nastav sílu čáry setpenwidth setpw číslo želva změní tloušťku stopy
Úterý 27. března Vytvoření nové procedury Do příkazového řádku pak píšeme pouze ctverec a želva nakreslí čtverec Proměnné Proměnnou v Comenius Logu píšeme tak, že před jméno proměnné napíšeme dvojtečku Př. to ctverec :a :barva :t setpencolor :barva setpenwidth :t repeat 4 [forward :a left 90] Do příkazového řádku pak napíšeme ctverec a za něj hodnoty parametrů ctverec 100 12 3 Procedura n_uhelnik sestrojí pravidelný mnohoúhelník o zvolené délce strany to n_uhelnik :n :s repeat :n [fd :s rt 360/:n]
Úterý 3. dubna Trojúhelník postavený na špičku to trojuhelnik :a lt 30 repeat 3 [fd :a rt 120] Vybarvit trojúhelník to trojuhelnik :a :vypln lt 30 repeat 3 [fd :a rt 120] pu rt 30 fd (:a /3) wait 2000 setfillcolor :vypln fill bk (:a / 3) lt 30 pd pu pero nahoru wait 2000 čekej 2s pd - pero dolů fill - vyplň Proceduru trojúhelník použijeme na vytvoření procedury kriz to kriz :a :vypln repeat 4 [trojuhelnik :a :vypln lt 60] Úterý 10. dubna Definujte proceduru pro nakreslení sluníčka, které vznikne tak, že nad každou stranou n_úhelníka bude rovnostranný trojúhelník. Nejprve vytvoříme proceduru paprsek to paprsek :s repeat 3 [fd :s rt 120] fd :s
Při vytváření procedury slunce použijeme proceduru paprsek to slunce :s :n repeat :n [paprsek :s lt 360 / :n] Procedura domek samostatná práce nakreslit domeček jedním tahem to domek :a repeat 4 [fd :a rt 90] rt 45 fd ( :a * sqrt 2) lt 75 fd :a lt 120 fd :a lt 75 fd ( :a * sqrt 2) SQRT druhá odmocnina wait 1000 program čeká jednu sekundu