2003 variant A

  1. Daný program po načítaní dvoch čísel A a B vypíše hodnotu P:
    1. Zistite, čo sa vypíše, ak zadáme A=180 a B=250.
    2. Predpokladajme, že A=1. Zistite, aké musíme zadať najmenšie B, aby sa vypísalo číslo 20.
    3. Zistite, čo sa vypíše pre A=1000 a B=10000.

    Pozn.

  1. V jednorozmernom poli čísel sú uložené informácie o počte obyvateľov pyramídového N-poschodového domu takto:
  2. Daná časť programu zisťuje, ktoré poschodie je najhustejšie obývané, t.j. na ktorom poschodí je v priemere najviac obyvateľov vzhľadom na počet bytov.
    V programe však niekto vynechal niektoré aritmetické a logické výrazy. Opravte program!

  1. Máme danú množinu znakových reťazcov, ktoré sú zložené z písmen A a B a všetky sú ukončené nejakou cifrou 1, 2, 3 alebo 4. Takýmto reťazcom budeme hovoriť slová. Slová v tejto množine vznikli podľa špeciálnych pravidiel:
    1. x = Ay | Bz | 1
      y = Ax | Bu | 2
      z = Au | Bx | 3
      u = Az | By | 4

    Aby sme vytvorili nejaké nové slovo do tejto množiny, vždy zoberieme štartové písmeno x, nájdeme zodpovedajúce pravidlo (prvý riadok pravidiel) a vyberieme nejakú z možností (možnosti sú oddelené znakom "|" ) – písmeno x nahradíme touto možnosťou. Ak výsledok obsahuje jedno z písmen x, y, z alebo u, pokračujeme v nahrádzaní podľa príslušného pravidla. Celý proces vytvárania nového slova zrejme končí, keď písmeno nahradíme cifrou. Postup nahrádzania budeme značiť šípkou, napr. takto
    x => Ay => ABu => ABBy => ABB2 ... t.j. vznikla postupnosť písmen A a B a vždy končí nejakou cifrou od 1 do 4.

    1. Zistite, akou cifrou končia slová ABABABABABABAB a AAABAAAABAAAAABAAAAAABAAAAAAAB.
    2. Zistite, koľko existuje rôznych slov dĺžky 6, ktoré sú zložené z 5 znakov A a B a končia znakom 2.
  1. Deti robili v škole takéto experimenty: sledovali skoky lúčneho koníka pomocou vodorovného pravítka a zapisovali ich do tabuľky skoky. Do jednorozmerného celočíselného poľa skoky sa zapíše dĺžka skoku (počet centimetrov) tak, že keď koník skočil vpravo, tak zapíšeme kladné číslo, ak skočil opačným smerom, zapíšeme záporné číslo.
    Napíšte program, ktorý pre dané N-prvkové pole skoky vypíše:
    1. vzdialenosť, v ktorej skončí od svojej štartovej pozície;
    2. dodatočne sme zistili, že jedno číslo v tabuľke bolo zapísané zle (treba mu otočiť znamienko). Program by mal zistiť, ktoré to bolo číslo, ak vieme, že po tejto oprave bola vzdialenosť od štartu minimálna možná.

    Môžete použiť ľubovoľný programovací jazyk, ktorý ste používali na strednej škole. Predpokladajte, že N-prvkové celočíselné pole skoky je už na začiatku programu prečítané.

© AB