Riešenie 1. úlohy školského kola 2. ročníka súťaže COLOGOBEŽKA

1. Nakresli tabuľku...
Budeme riešiť ťažší variant, keby sme chceli vidieť riešenie ľahšieho, stačilo by namiesto hodnôt vstupov dať nejaké konkrétne hodnoty.
Pomocou základného príkazu zmen.pismo nastavme korytnačke požadovné písmo.
Najprv si vyskúšame, aký vysoký musí byť horný riadok tabuľky, aby sa nám doň zmestil dátum. Vypíšeme to Plochy niektorý z "dlhých" dátumov (31. 12.) a zistime ako je široký (deti, ktoré poznajú základnú operáciu velkost.textu môžu šírku zistiť pomocou nej). Vidíme, že pri 50 krokoch môžeme vynechať kúsok pred textom a zostane miesto aj za ním.
Vyskúšajme ešte písanie "kúsok nad čiaru", aby dátum nebol celkom na čiare. Keď prejdeme 3 kroky, bude to celkom stačiť.
Nech je hlavička príkazu
viem tabulka :v.riad :s.stl :p.riad :p.stl :mesiac, kde

 Kreslenie tabuľky si rozvrhnime:  
Stĺpec sa nakreslí tak, že :p.riad-krát nakreslíme časť riadku: 
Po nakreslení všetkých riadkov sa vykreslí časť pre dátum a korytnačka sa vráti na koniec kreslenia všetkých riadkov. Potom sa do pripravenej časti pre dátum vypíše dátum pomocou príkazu vypis.datum (zapíšeme ho o chvíľu) 
Nakoniec korytnačku presuňme na začiatok práve nakresleného stĺpca.
 
Príkaz vypis.datum, najprv presunie korytnačku kúsok nad čiaru (predpokladáme, že korytnačka má nastavené písmo, ktoré píše Na základnej linkevoľba v Pomôcke zmen.pismo). Potom pomocou príkazu vypis.cislo (tento príkaz by už deti mohli mať odladený z minulého ročníka) vypíše požadované číslo. Nakoniec presunieme korytnačku naspäť na čiaru. 
 
viem vypis.datum :den :mesiac
 do 3 vl 90 ph do 3 ; posun kúsok nad čiaru
 vypis.cislo :den
 text ". vp 90 do 8 vl 90 ; urob medzeru za bodkou
 vypis.cislo :mesiac
 text ".
 vp 90 vz 2 * 16 + 8 ; posun na začiatok kreslenia dátumu
 vz 3 vp 90 do 3 vl 90 pd ; posun späť na čiaru
koniec
Príkaz vypis.cislo môže mať kód: viem vypis.cislo :c
 ak :c < 10 ~
   [vp 90 do 8 vl 90 text :c vp 90 do 8 vl 90] ~
   [text :c vp 90 do 16 vl 90]
koniec
Týmto je úloha vyriešená.