Písomná skúška na prijímacích pohovoroch z Informatiky - Variant B - 1999
  1. Nasledujúci program v nejakých časových intervaloch vydáva zvuk pípnutia (príkaz pipni), pričom medzi pípnutiami je nejaké pozdržanie v stotinách sekundy (príkaz pozdrz s parametrom počet stotín sekundy). Vlastné pípnutie trvá jednu stotinu sekundy. Predpokladáme, že zvyšné príkazy v programovacom jazyku trvajú nulový čas. (Operácia mod označuje zvyšok po celočíselnom delení čísla i číslom j.)
var i,j,n:integer;
begin
  readln(N);
  for i:=1 to N do
    for j:=2 to N do
      if i mod j = 0 then pipni
      else pozdrz(10);
end.
    1. Spočítajte počet pípnutí a dĺžku trvania programu pre N=12.
    2. Konštanta 10 mala pôvodne inú celočíselnú hodnotu. Zistite túto hodnotu, ak vieme, že pre N=50 program bežal približne 140 sekúnd (t.j. 140± 1). Zistite aj počet pípnutí.
  1. Jeden tanzánijský kmeň ešte stále používa päťkovú číselnú sústavu. Vyriešte príklad, ktorý sme vybrali z ich učebnice matematiky pre základnú školu (POZOR! všetky konštanty sú v päťkovej sústave):
Zistite, koľko existuje 4-ciferných čísel (v päťkovej sústave), ktoré neobsahujú cifru 3 a pritom sú deliteľné číslom 3. Uveďte aspoň 2 takéto čísla (v päťkovej sústave), ktoré obsahujú cifry 2 aj 4.
  1. Postupnosť písmen môžeme transformovať pomocou prepisovacích pravidiel. Napr. pravidlo AB -> BA označuje, že ak sa v postupnosti za sebou vyskytuje dvojica písmen AB, tak sa môže nahradiť dvojicou BA. Ak je daných viac pravidiel, nezáleží na poradí, v akom sa budú aplikovať. Danú postupnosť písmen budeme transformovať dovtedy, kým sa dá použiť niektoré z daných pravidiel. Jeden krok transformácie zapisujeme slovo1 => slovo2, kde slovo2 vzniklo aplikovaním niektorého pravidla na slovo1. Symbolom =>* označíme, že sme pravidlá aplikovali dovtedy, kým sa dalo a z počiatočného slova sme získali výsledné.
Stratila sa nám postupnosť prepisovacích pravidiel, zachovalo sa len niekoľko "pretransformovaných" slov a ľavé strany týchto pravidiel. Doplňte chýbajúce časti prepisovacích pravidiel.
    1. aabcab =>* abc; aa->?, ca->?, cb->?
    2. aaabc =>* bbbbbbbbc; ab->???, ac->?
  1. Predpokladajme, že v programovacom jazyku je zadefinovaná procedúra vektor s dvoma reálnymi parametrami: uhol a dĺžka. Táto procedúra na obrazovke nakreslí úsečku zadanej dĺžky z momentálnej pozície pera, ktorá zviera s y-ovou osou zadaný uhol. Po nakreslení úsečky pero zostane v koncovom bode úsečky a kreslenie pokračuje ďalej od tohto bodu. Veľkosť uhla zadávame v stupňoch a meriame v smere otáčania hodinových ručičiek (sever je uhol 0). Predpokladáme, že v programovacom jazyku už nie sú žiadne ďalšie grafické príkazy. Pero je na začiatku v strede obrazovky.
Napíšte program (v ľubovoľnom programovacom jazyku, ktorý ste používali na strednej škole), ktorý nakreslí 3 rovnostranné trojuholníky so stranami 100. Každý trojuholník sa práve jedným vrcholom dotýka vrchola druhého trojuholníka a práve jedným (ale iným) vrcholom sa dotýka vrchola zvyšného trojuholníka.
Program sa musí skladať z cyklu, ktorý má presne 3 opakovania (napr. for i:=1 to 3 do) a vlastné kreslenie sa robí len v tele tohoto cyklu. POZOR, po každej čiare sa môže prejsť maximálne dvakrát.