Eesti koolinoorte matemaatikaolümpiaadidid Eesti koolinoorte informaatikaolümpiaadid Eesti koolinoorte füüsikaolümpiaadid Eesti koolinoorte keemiaolümpiaadid Astronoomiahuvilistele Eesti koolinoorte bioloogiaolümpiaadid Eesti koolinoorte geograafiaolümpiaadid Täppisteaduste Kooli informaatikaosakond

XLI, 25. märts 1994. a.

Lõppvooru ülesanded


Koostada programmid järgmiste ülesannete lahendamiseks. Programmide tekstid paigutada Teile antud kettale failidesse, mille nimi on saadud ülesande numbri lisamisel Teie perekonnanime lõppu, näiteks TAMM1.PAS, TAMM2.PAS, TAMM3.PAS. Igale ülesandele anda ainult üks lahendus.

  • Iga programm peab alustama tööd autori, kooli, klassi ja ülesande teatamisega (viimaseks piisab ühest lausest).
  • Iga programm peab töötama tsüklis, küsides pärast ülesande lahendamist, kas lõpetada või sisestada uued andmed.
  • Kui andmed sisestatakse failist, siis küsitakse kasutajalt faili nimi.
  • Programmid ei pea kontrollima sisendandmete vastavust ülesande tekstis olevatele tingimustele. Testimisel kasutab komisjon ainult korrektseid algandmeid.
  • Programm peab reageerima adekvaatselt ja andma välja mõistliku teate (mitte katkestama tööd või jätma vastust andmata) ka selliste andmete korral, millele reageerimine ei ole ülesande tekstis kirjeldatud, aga mis vastavad ülesandes antud sisendtingimustele.

Hinnatakse programmi tööd, mitte teksti. U"lesannete tekstides mainitud failid on olemas ka Teile antud ketastel.


1. ESITUS ALGARVUDE ASTMETENA ( 10 p. )

Sisestada positiivne kuni 7-kohaline täisarv ja leida tema esi- tus algarvude astmete korrutisena. Väljastamisel paigutada astme- näitajad astme alustest ühe rea võrra kõrgemale, näiteks

                             9  2     2
                  3902976 = 2 *3 *7*11 .

2. INTERPRETAATOR ( 20 p. )

Vaatleme omistamist ja trükki võimaldavat keelt, mille omista- misoperaator on kujul

<muutuja>:=<täisarv>,
<muutuja>:=<muutuja>,
<muutuja>:=<muutuja>+<muutuja> või
<muutuja>:=<muutuja>-<muutuja>    ja
väljundoperaator kujul
PRINT(<muutuja>).

Operaator PRINT väljastab ekraanile muutuja nime, võrdusmärgi ja muutuja väärtuse ning viib kursori uuele reale. Muutujatena kasuta- takse tähti a..z.

Lugeda tekstifailist kuni 10-realine programm, mille igal real on üks operaator.

Väljastada ekraanile faili nimi, programm, miinustest koosnev vaherida ja täita programm, väljastades tulemused ekraanile. Kui mingil real kasutatakse väärtustamata muutujaid, siis anda selle kohta teade ja lõpetada interpreteerimine.

U"letäitumise võimalust pole vaja uurida.

Näiteid:

FAIL: TEST2.1
x:=7
PRINT(x)
y:=y+x
------------
x=7
Rida 3: y väärtustamata

FAIL: TEST2.2
x:=7
y:=x+x
PRINT(y)
z:=3
y:=y-z
PRINT(y)
PRINT(x)
-----------
y=14
y=11
x=7

3. KASVAV SONADE JADA ( 20 p. )

Tekstifailis on igal real üks tähtedest a..z koostatud mitte- tühi sõna (kokku kuni 20 sõna, pikkusega kuni 30). Koostada nendest sõnadest võimalikult pikk sõnade jada, kus iga eelmine sõna on järgmise sõna algus.

Vastuse andmisel paigutage algandmed tulbana ekraani vasakusse serva, koostatud jada koos sõnade järjekorranumbritega - tulpa ala- tes 41. positsioonist.

Ekraani näide:

FAIL: TEST3.1                           JADA:
----------------------------------------------------
acabbaaa                                1.ac
ac                                      2.aca
aca                                     3.acabb
acabbaaa                                4.acabba
b                                       5.acabbaaa
bb                                      6.acabbaaa
acabba
acabb

Palume saata kõik küsimused aadressil ttkool@ut.ee
Viimati muudetud: 01.04.1999. a.