Písomná skúška na prijímacích pohovoroch z Informatiky - Variant A - 1999
  1. Nasledujúci program podľa určitého algoritmu spracuje celočíselnú hodnotu n a vypíše hodnotu premennej i. Predpokladajme, že na našom počítači operácie násobenia a delenia desiatimi sú veľmi rýchle a trvajú tisícinu sekundy. Operácie pričítania a odčítania trvajú 4 tisíciny, 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 a div je celočíselné delenie - obe tieto operácie považujeme za operácie delenia.)
var i,j,n:longint;
begin
  readln(n);
  i:=n; j:=1;
  while i>9 do begin i:=i div 10; j:=j*10 end;
  i:=0;
  repeat
    if n mod 10<>0 then
      begin i:=i+j; n:=n-1 end
    else
     begin j:=j div 10; n:=n div 10 end
  until n=0;
  writeln(i);
end.
    1. Spočítajte, ako dlho program bežal pre n=123.
    2. Zistite, pre akú najmenšiu hodnotu n program bežal 0,503 sekundy.
  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):
Doplňte chýbajúce cifry tak, aby platila nasledujúca rovnosť: 1?3? 5 * ?0?25 = 24042?? 5.
  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.
Teraz si pozrime postupnosť slov, ktorá vznikla tak, že každé ďalšie slovo vzniklo transformovaním podľa nejakého pravidla z predchádzajúceho slova v postupnosti: abbbbbbcc => abbbbcbc => abbcbbc => acbbbc => abbbc => abcb => ab
    1. Stratila sa nám postupnosť prepisovacích pravidiel, zachovali sa len ich ľavé strany. Doplňte chýbajúce časti prepisovacích pravidiel: abc->?, ac->?, bbc->??
    2. Navrhnite čo najdlhšie vstupné slovo obsahujúce len písmená 'a' , 'b' a 'c', písmeno 'c' sa v ňom vyskytuje práve trikrát, ktoré sa pretransformuje na písmeno 'a‘, za ktorým nasleduje len 10 písmen 'b'. Ak vo vstupnom slove za sebou nasleduje niekoľko rovnakých písmen, môžete to skrátene zapísať umocnením, napr. namiesto abbbbbbbbbb bude ab10.
  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í pravidelný N-uholník so stranou 100, pričom nad každou stranou N-uholníka zostrojí rovnostranný trojuholník otočený smerom do vnútra N-uholníka. N je načítaná vstupná hodnota, ktorá je väčšia ako 3. Pre N=6 by sa mal nakresliť pravidelný 6-uholník so všetkými uhlopriečkami prechádzajúcimi stredom 6-uholníka.