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).