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.
Hinnatakse programmi tööd, mitte teksti. Ü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 esitus algarvude astmete korrutisena. Väljastamisel paigutada astmenä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 omistamisoperaator 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 kasutatakse 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. Ü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 SÕNADE JADA ( 20 p. )Tekstifailis on igal real üks tähtedest a..z koostatud mittetü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 alates 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 |