5. praktikum (6 t) Kodutöödest - mida soovid kurta ja mida üle rääkida? Uued teemad: andmete lugemine failist, stringide uurimine märk-haaval. Ülesanne 1 Caesari salakiri Salakirjad on olnud populaarsed aastatuhandeid. Üks lihtsamaid nendest on nn Caesari salakiri. Selle põhimõte on lihtne: lepitakse kokku samm, mille kauguselt tähestikust võetakse sõnas oleva tähe asemele asendustäht. Sama sammu /nihet kasutatakse iga tähe jaoks. Näiteks sõna "kala" krüpteeruks sammu 4 korral "oepe". Kui samm läheb üle tähestiku lõpu, jätkatakse liikumist algusest. Teise kirjelduse (Wikipedia) järgi tehakse nihe vasakule - siis saaks sõnast "kala" "gwhw Programmi ülesanne on küsida sõna (või ka lause), küsida samuti nihe/samm ja krüpeerida sõna antud sammuga. Olukorra lihtsustamiseks eeldame, et tekstis on vaid ladina tähed. Samas peab aga jälgima, et kirjavahemärgid tühikud jms paika jääksid. Kirjuta programmi algusesse tähestik. Otsi krüpteeritavat tähte tähestikust. Käsuga str.find() saad teada tähe indeksi. Nüüd võta vaste ettenähtud sammu kauguselt Tähestiku piires püsimiseks on kasu jäägi leidmise tehtest (jääk tähestiku pikkusega). Siin lisandub veel mitmeid probleeme: näiteks kuidas jätta tühikud tühikuteks ja komad komadeks. Mida teha suurte tähtedega? Proovime ka failis olevat teksti lugeda ja krüpteerida. Ülesanne 2. Korrutustabeli drilliprogramm Koosta väike drilliprogramm korrutustabeli omandamiseks. Programm peab käituma järgmiselt (programmi põhiosa): 1. Trükib ekraanile korrutustehte. 2. Ootab kasutajalt vastuse sisestamist. 3. Kontrollib vastuse õigsust. 4. Teatab, kas vastus oli õige või väär. 5. Kokku antakse lahendamiseks 10 ülesannet. Edasi veel ideid, millega saab programmi rikastada: ----------------------------------------------------------- a) Kasutaja otsustab, mitu tehet ta lahendada tahab. b) Programm teeb lisaks teavitamisele statistikat, kui palju õigesti läks. c) Programm lubab vale vastuse korral uuesti vastust sisestada d) Programm teeb tunnikontrolli ja paneb hinde. e) Programm töötab nii kaua, kuni mängija on saanud täis mingi etteantud arvu õigeid vastuseid. Ülesanne 3 Keeleõppe drilliprogramm Proovime teha programmi, mis lubab õppida näiteks arve saksa keeles. Piirdume esialgu arvudega 1 ... 12. Programm peaks käituma järgmiselt: esitatakse eestikeelne sõna ja oodatakse vastuseks saksakeelset sõna. Edasi teatatakse, kas vastus on õige või vale.