2001 variant B

  1. Daná je časť programu:
    1. Zistite, čo vypíše tento program pre n=3.
    2. Zistite, čo vypíše tento program pre n=6.

    Poznámka: Pomôže Vám, keď budete všetky výpočty robiť v 5-ovej sústave.

  1. Máme rad N žiaroviek - každá z nich buď svieti (je v stave 1) alebo je zhasnutá (je v stave 0). Okrem týchto žiaroviek máme jedno tlačidlo, ktoré je naprogramované tak, že vždy, keď ho stlačíme, postupne prejde všetky dvojice susediacich žiaroviek (najprv 1. a 2., potom 2. a 3. ... a na záver (N-1)-vú a N-tú). Ak prvá z dvojice svieti a druhá nie (dvojica je v stave 10), tak ich prepne na opačný stav (t.j. 01). Toto postupne urobí so všetkými dvojicami. Zrejme po každom stlačení tlačidla sa môžu niektoré žiarovky rozsvietiť a niektoré zhasnúť, ale celkový počet svietiacich žiaroviek sa nezmení. V niektorých situáciách stlačenie tlačidla už nič nemení (hovoríme tomu stabilný stav).
    1. Zistite, koľko existuje rôznych stabilných stavov pre N=20.
    2. Pre počet žiaroviek N=20 zistite, koľko existuje rôznych počiatočných stavov, z ktorých sa po jednom stlačení tlačidla vznikne stabilný stav.
    3. Navrhnite taký počiatočný stav desiatich žiaroviek (N=10), aby na dosiahnutie stabilného stavu bol potrebný maximálny možný počet stlačení. Koľko stlačení bude treba? (Ak takých riešení existuje viac, stačí, ak uvediete jedno.)
  1. Mravec Ferdo sa pohybuje na štvorčekovom papieri a my ho pozorujeme. Všetky jeho pohyby si zapisujeme takto: keď sa presunie na susedný štvorček v tom smere, v ktorom je práve otočený, zapíšeme písmeno D (dopredu), keď sa otočí vľavo o 90 stupňov, zapíšeme L a pri otočení vpravo o 90 stupňov zapíšeme písmeno P. Napr. zápis DDPDPDDPD znamená, že mravec navštívil 6 rôznych políčok, pričom sa vrátil na pôvodné miesto. Opakujúce sa časti v zápise môžeme skrátiť, napr. 4(100DL) znamená, že 4-krát sa opakuje 100 krokov dopredu a jedno otočenie vľavo (jeho trasa je štvorec so stranou 100 štvorčekov).
    1. Koľko rôznych políčok navštívil, ak prešiel 4(7(4DP2DL)L). A koľko pri 6(D3(P6D)DL)?
    2. Predpokladajme, že mravec prešiel 4(20DL5DLL10DLL5DL15DL). Minimálne aký veľký list štvorčekového papiera potrebujeme, aby z neho na tejto trase nevypadol? (Minimálne koľko štvorčekov na výšku a šírku musí mať list papiera?)
  1. Predpokladajme, že v programovacom jazyku máme definovanú procedúru bod s troma celočíselnými parametrami x, y a farba, ktorá nakreslí do grafickej plochy obrazovky na zadané súradnice farebný bod. Ľavý horný roh obrazovky má súradnice (0,0). V programovacom jazyku už nemáme ďalšie procedúry na kreslenie do grafickej plochy.
    Napíšte program, ktorý nakreslí takýto "kruh": všetky body, ktoré majú vzdialenosť od bodu (100,100) menšiu ako 70, zafarbí na červeno (farba=1), všetky body, ktorých vzdialenosť je aspoň 70 a nie je väčšia ako 90, budú modré (farba=2), ostatné body grafickej plochy nezmenia svoju farbu.
    Môžete použiť ľubovoľný programovací jazyk, ktorý ste používali na strednej škole.

© AB