7. Ülesanded: failioperatsioonid
Teooriapeatükid:
Ülesanne 1
Loo fail tuttavad.txt ja lisa sinna vähemalt 6 tuttava perekonna- ja eesnimed (iga tuttav uuele reale, perekonna- ja eesnimi tühikuga eraldatult). Koosta programm, mis loeb failist andmed ja väljastab need ekraanile tähestikulises järjekorras. Mõistlik on ilmselt kasutada järjendit ja sellega seonduvaid võimalusi (järjestamist). Tähestikulises järjekorras salvestage tuttavate nimed ka uude faili tuttavad1.txt.
Ülesanne 2
Tee uus fail luuletus.txt ning lisa sinna järgmine luuletus:
Hommikul kui üles ärkan, arvutit ma laual märkan. Padja, teki viskan maha, jooksen ruttu compu taha. Kiirelt sisestan parooli, kuid juba tuleb minna kooli. Error tuleb ette siis, kool on mulle räme piin.
Koosta programm, mis kuvab ekraanile luuletuse read, kuid lisab nende ette rea järjekorranumbri ja iga rea järele sulgudesse reas asuvate sümbolite arvu e. rea pikkuse.
Ülesanne 3
Tee programm, mis väljastab failist luuletus.txt kasutaja poolt soovitud rea nt:
Mitmendat rida soovid kuvada: >> 7 Error tuleb ette siis,
NB! Faili avamiseks ja rea väljastamiseks koosta eraldi alamprogramm (ehk funktsioon).
Ülesanne 4
Koosta programm, mis küsib kasutajalt rea, mille järele ta soovib failis luuletus.txt uut rida lisada ning seejärel lisab kasutaja poolt sisestatud rea nt:
Sisesta rida, mille järele soovid uut rida lisada: >> Padja, teki viskan maha, Sisesta rida, mida soovid lisada: >> üles ärgata ma ei taha,
Tulemus failis luuletus.txt:
Hommikul kui üles ärkan, arvutit ma laual märkan. Padja, teki viskan maha, üles ärgata ma ei taha, jooksen ruttu compu taha. Kiirelt sisestan parooli, kuid juba tuleb minna kooli. Error tuleb ette siis, kool on mulle räme piin.
Ülesanne 5
Palindroomiks nimetatakse sõna (ka sõnaühendit), mis on nii vasakult paremale kui paremalt vasakule lugedes täpselt ühesugunem (näit. "kook", "kuulilennuteetunneliluuk" jne). Loo programm, mis trükib ekraanile välja kõik tekstifailis olevad sõnad, mis on palindroomid. Alustekstiks võid kasutada suvalist teksti, kuid katsetada tasuks ka sõnaloenditega, kus iga sõna asub eraldi real (näit. eesti keele sõnade algvormid e. lemmad veebilehelt http://www.eki.ee/tarkvara/wordlist/).
Ülesanne 6
Ristsõnade lahendamine on sageli keeruline: teame küll sõna pikkust ja mõnd tähte, kuid tervet sõna ära arvata ei oska. Loo programm, mis abistaks ristsõna lahendajat: kasutajalt küsitakse sõna pikkust ning esimest ja viimast tähte ning väljastatakse sõnastikus olevad kõikvõimalikud sellised sõnad. Sõnastiku (algvormide e. lemmade loendi) võid leida näiteks siit: http://www.eki.ee/tarkvara/wordlist/. Arendusvõimalusi:
- Kasutaja võib ette anda pikema sõna alguse ja lõpu.
- Küsida võib keerulisemaid mustreid, näiteks küsimus stiilis "k-s-" otsib kõiki neljatähelisi sõnu, mille esimene täht on "k", kolmas täht "s" (näiteks "kass", "kask", "kast", "kest", "kosk" jne).
Ülesanne 7
Koosta programm muinasjutu kooskirjutamiseks. Eesmärgiks on see, et iga uue teksti lisaja näeb eelmisest tekstist vaid viimast rida. Kasuta järjendi loomist ja faili kirjutamist ning failist lugemist.
Ülesanne 8
Koosta programm, mis loob ette antud tehete arvuga juhuslike arvudega liitmistehete harjutamise töölehe. Tulemus kirjuta faili tehted.txt. Tehete arv küsi kasutajalt. Lisaks koosta fail vastused.txt, kus on samad tehted koos vastustega.
Arendusvõimalusi:
- lisa tehteid
- küsi kasutajalt, mis tehtega tööleht koostada
- koosta tööleht kõikide tehetega
- küsi kasutajalt, mitu arvutusülesannet koostada
Creative Commons litsentsiga Autorile viitamine + Mitteäriline eesmärk 3.0 Eesti (CC BY-NC 3.0 EE) - https://creativecommons.org/licenses/by-nc/3.0/ee/