Sm. takzhe:


Rezul'taty olimpiady

  Sankt-Peterburgskie Olimpiady po Informatike

Zadachi 1-oj komandnoj olimpiady shkol'nikov SPb 1993 goda

Zadacha 1 Zadacha 2 Zadacha 3 Pamjatka uchastniku

Zadacha 1

Imeetsja uslovnaja shahmatnaja doska v vide matricy 8h8 jelemen- tov. "belye" jelementy matricy imejut znachenie 0, "chernye" - 1.

Na jetu dosku vystavljajutsja tri belye shahmatnye figury. Jelementy matricy imejuschie znachenie 1 ili "chernye" kletki shahmatnoj doski, nahodjaschiesja pod boem jetih figur, obnuljajutsja, t.e. jelementam matricy prisvaivaetsja znachenie 0. Vasha programma dolzhna podschitat' i vyvesti na jekran displeja obschee kolichestvo ostavshihsja jelementov matricy, imejuschih znachenie 1. Ishodnye dannye nahodjatsja v ASCII-fajle z1.dat v sledujuschem formate:

  • V pervoj stroke kolichestvo N naborov ishodnyh dannyh.
  • V kazhdoj iz sledujuschih N strok posledovatel'nost' naimenova- nija shahmatnyh figur i polej, na kotoryh oni raspolagajutsja, razdelennaja odnim probelom.

Dlja oboznachenija figur ispol'zuetsja kirillica: Kr - korol', F - ferz', L - lad'ja, S - slon, K - kon', p. - peshka. Pole obozna- chaetsja malen'koj latinskoj bukvoj i cifroj. Kolichestvo odnoimen- nyh figur ne ogranicheno, mozhet byt', naprimer, i tri ferzja. Vse figury "b'jut" po shahmatnym pravilam. Ishodnye dannye korrektny, i ih proverka ne trebuetsja.

Rezul'taty vyvodjatsja na jekran displeja. Dlja kazhdogo nabora ishod- nyh dannyh vyvoditsja sam nabor i otvet.

PRIMER fajla ishodnyh dannyh Z1.DAT

2
p.c2 p.a2 p.b2
p.c2 p.a2 p.e2

V rezul'tate raboty Vashej programmy s dannym fajlom na jekrane displeja dolzhno byt':

      { Spravochnaja informacija }
p.c2 p.a2 p.b2  otvet: 30
p.c2 p.a2 p.e2  otvet: 32

Zadacha 2

Imeetsja "jekran" 10h10 jelementov. Na "jekrane" mozhet byt' izobrazhena bukva T ili bukva O ili bukva H. Vasha programma dol- zhna raspoznat' obraz bukvy. Opredelenie bukv:

Bukva O - zapolnennyj prjamougol'nik s prjamougol'nym vyrezom vnutri.
Bukva T- dva prjamougol'nika, prichem odin lezhit na drugom i verhnij vystupaet otnositel'no nizhnego vpravo i vlevo.
Bukva H- ljuboe drugoe sostojanie jekrana.

PRIMEChANIE. Pri sostojanii "jekrana", izobrazhajuschim bukvy O ili T, nezanjatye izobrazheniem jelementy "jekrana" - pustye.

PRIMERY bukv:

Bukva O Bukva TBukva H
0000111111
0000110111
0000111111
0000111111
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0111111100
0111111100
0000010000
0000010000
0000000000
0000000000
0000001111
0000001101
0000001111
0000000000
0000000000
0001111100
0000010000
0000010000
0000000000

Ishodnye dannye nahodjatsja v ASCII-fajle Z2.DAT v sledujuschem formate:

  • V pervoj stroke kolichestvo blokov dannyh (bukv) v jetom fajle.
  • Kazhdyj blok dannyh (bukva) otdeljaetsja ot drugogo pustoj strokoj.
  • Kazhdaja bukva opredeljaetsja tablicej simvolov iz desjati strok po desjat' simvolov v stroke, 0 - pustye jelementy "jekrana", 1 - zakrashennye jelementy jekrana.
  • Vyvod rezul'tatov proizvoditsja na jekran displeja v vide posledovatel'nosti bukv.

    Primer fajla Z2.DAT:

    2
    0000000000
    0000000000
    0001111110
    0001100110
    0001111110
    0000000000
    0000000000
    0000000000
    0000000000
    0000000000
    
    0000000000
    0000000000
    0000000000
    0011111000
    0000100000
    0000100000
    0000100000
    0000000000
    0000001000
    0000000000

    V rezul'tate raboty Vashej programmy s dannym fajlom na jekrane displeja dolzhno byt'

           { Spravochnaja informacija }
    Otvet: OH

    Zadacha 3

    Deklarativnaja chast' (opisanie peremennyh) vo mnogih jazykah programmirovanija vysokogo urovnja vygljadit krasivee, esli tekst special'nym obrazom otformatirovan po kolonkam. Vasha zadacha napisat' programmu, kotoraja formatiruet deklarativnuju chast', napisannuju na nekotorom jazyke programmirovanija.

    Ishodnye dannye sostojat ne bolee chem iz 50 strok, kazhdaja iz kotoryh soderzhit (v ukazannom porjadke):

    • identifikator (imja peremennoj);
    • simvol dvoetochie (:);
    • identifikator (tip peremennoj);
    • simvol tochka s zapjatoj (;);
    • neobjazatel'nyj kommentarij, kotoryj nachinaetsja s dvojnogo tire (--) i prodolzhaetsja do konca stroki.

    Probely mezhdu ljubymi dvumja punktami mogut kak otsutstvovat', tak i prisutstvovat' v ljubom kolichestve. Identifikator mozhet sostojat' iz bol'shih i malen'kih latinskih bukv, cifr i simvola podcherkivanija (_). Tekst kommentarija soderzhit po krajnej mere odin simvol.

    Programma dolzhna otformatirovat' zadannyj tekst opisanija po sledujuschim pravilam:

    • Imena peremennyh nachinajutsja s tret'ej kolonki.
    • Vse dvoetochija raspolozheny v odnoj kolonke, cherez odnu posle samogo dlinnogo imeni peremennoj.
    • Identifikator tipa idet cherez probel posle dvoetochija.
    • Tochka s zapjatoj raspolozhena neposredstvenno posle identifi- katora tipa, bez probelov.
    • Vse simvoly nachala kommentarija (--) raspolozheny drug pod drugom, cherez dve kolonki posle samogo dlinnogo opisanija ti- pa.
    • Pervoe slovo kommentarija nachinaetsja cherez probel posle sim- vola nachala kommentarija (--).

    Ishodnye dannye programma dolzhna schityvat' iz fajla D:\PRINT.DAT, a otformatirovannyj tekst pomeschat' v fajl D:\PRINT.SOL.

    PRIMER vhodnogo fajla D:\PRINT.DAT:

    ----------------------------------------------------------------
     code: codeblock;
    ident:type;
     lines : integer;
     linenum :  integer ; -- line number counter for loop
                                           maxidentlen : integer ;
     dummy:                                              integer;
    list     :   array_of_real    ;  --This is a big list of things;
    ----------------------------------------------------------------

    OBRAZEC vyhodnogo fajla D:\PRINT.SOL dlja opisannogo primera:

    ----------------------------------------------------------------
      code        : codeblock;
      ident       : type;
      lines       : integer;
      linenum     : integer;       -- line number counter for loop
      maxidentlen : integer;
      dummy       : integer;
      list        : array_of_real; -- This is a big list of things;
    ----------------------------------------------------------------

    PAMJaTKA UChASTNIKU

    1) Dlja provedenija testirovanija Vy dolzhny skopirovat' na diske- tu Zhjuri dva fajla z?.exe i z?.pas, testiruetsja tol'ko fajl z?.exe, a fajl z?.pas neobhodim zhjuri dlja kontrolja. Imena fajlov:

    • Zadacha 1. - z1.exe i z1.pas
    • Zadacha 2. - z2.exe i z2.pas
    • Zadacha 3. - z3.exe i z3.pas

    2) Vasha programma dolzhna vyvodit' na jekran displeja sledujuschuju objazatel'nuju spravochnuju informaciju:

    • Naimenovanie olimpiady
    • Naimenovanie komandy
    • Familija, imja, mesto ucheby, klass (kurs) vseh chlenov komandy
    • Nomer zadachi

    Primer:

    Gorodskaja komandnaja olimpiada.
    Komanda: LDP-1
         Petrov Vasilij  1206 shk  11 kl
         Petrov Ivan     Tehnicheskaja shkola   11 kl
         Petrov Roman    1206 shk  11 kl
         Petrov Il'ja     GU 1 kurs
    Zadacha 1

    3) Esli pri testirovanii programma rabotaet bol'she 2 minut, ochki ne nachisljajutsja.

    4) Vse voprosy po zadacham podajutsja predstavitelju Zhjuri v pis'mennom vide. Vopros dolzhen byt' sformulirovan tak, chto- by na nego mozhno bylo otvetit' odnoslozhno (da,net).

  • Используются технологии uCoz