Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
< eelmine | 7. nädala sisukord | järgmine > |
7.6 Seitsmenda nädala kontrollülesanded 7.1, 7.2, 7.3
Seitsmendal nädalal tuleb esitada nelja kohustusliku ülesande lahendused. Neljanda ülesande puhul on võimalik valida lahendamiseks vähemalt üks järgmistest ülesannetest, kas 7.4a, 7.4b või 7.4c (võib ka kaks või kolm lahendada). Lahendused tuleb esitada Moodle'is, kus osa neist kontrollitakse automaatselt, aga osa on inimliku kontrolliga.
Moodle'is on ka nädalalõputest 10 küsimusega, millest tuleb vähemalt 9 õigesti vastata.
Kui teile tundub, et automaatkontroll töötab ebakorrektselt, siis palun kirjutage aadressil prog@ut.ee.
Kontrollülesanne 7.1. Telegramm
Aastakümneid oli telegramm infovahetamisel väga olulisel kohal. Telegrammiga teatati saabumistest, õnnitleti jpm. Praeguseks on telegrammid paljudes maades (ka Eestis) ajalukku jäänud ja teisteski kasutatakse neid järjest vähem. Noorem generatsioon pole telegrammidega tõenäoliselt üldse kokku puutunud ja ka vanemad ei mõtle telegrammidele eriti sageli. Muuseumides ja ajalooblogides võib ühtteist siiski leida. Ilmselt on telegramme ka kodustes arhiivides.
Telegrammis kasutati ainult suurtähti. Täpitähti kasutada ei saanud ja nii oli Ä asemel kasutusel AE, Õ ja Ö asemel OE ja Ü asemel UE.
Palju õnne sünnipäevaks
asemel oli kirjas
PALJU OENNE SUENNIPAEVAKS
Olgu (UTF-8 kodeeringus) failis sõnum, mis on kirjutatud tavalisel moel.
Kirjutada programm, mis
- küsib kasutajalt failinime,
- loeb vastavast failist sõnumi ja
- väljastab selle ekraanile telegrammi stiilis. Teha tuleb asendused
- Ä, ä → AE
- Õ, õ, Ö, ö → OE
- Ü, ü → UE
- Kõik tähed tuleb muuta suurtähtedeks.
- Teisi märke ei muudeta.
Näide programmi tööst:
Näiteks, kui faili telegramm.txt sisuks on:
Palju õnne sünnipäevaks, kallis sünnipäevalaps!
siis programm peab andma tulemuse :
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi
murelahendajalt
.
Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.
Inimesed on ikka päevikut pidanud - mõned salaja, mõned avalikult. Ülesandeks on päevikupidamise programm teha.
Kirjutada programm, mis
- küsib kasutaja käest ühe sissekande (võib eeldada, et sissekanne on ilma reavahetusteta);
- kirjutab (UTF-8 kodeeringus) faili paevik.txt lõppu kolm rida:
- esimesel real praegune kuupäev ja kellaaeg sellisel kujul, nagu seda tagastab funktsioon
datetime.today()
(vt näidet); - teisel real kasutaja sisestatud kirje;
- tühi rida (pole kohustuslik).
- esimesel real praegune kuupäev ja kellaaeg sellisel kujul, nagu seda tagastab funktsioon
Kui faili paevik.txt ei eksisteeri, siis tuleb see luua. Kui aga fail juba eksisteerib, siis ei tohi selle faili olemasolevast sisust midagi üle kirjutada. Failinimi peab automaatkontrolli läbimiseks kindlasti olema paevik.txt (mitte päevik.txt) ja fail peab olema kodeeringus UTF-8 (encoding="UTF-8").
Praeguse kuupäeva ja kellaaja saamisel aitab järgmine programmilõik.
from datetime import datetime kuupäev_kellaeg = datetime.today() print("Kuupäev ja kellaeg: " + str(kuupäev_kellaeg))
Näide programmi tööst:
Faili paevik.txt sisu enne programmi käivitamist:
Programmi töö:
Faili paevik.txt sisu pärast programmi käivitamist:
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt
. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.
Kontrollülesanne 7.3. Kalkulaator
Koostada EasyGUI graafilise kasutajaliidesega kalkulaatori programm, mis
- laseb kasutajal
- sisestada kaks täisarvu lõigus 1-10 (integerbox);
- nuppude abil valida liitmise, lahutamise või korrutamise vahel (buttonbox);
- väljastab arvutuse tulemuse (msgbox).
Automaatkontrolliks peab faili nimi olema yl73.py.
Näide programmi tööst:
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt
. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.
< eelmine | 7. nädala sisukord | järgmine > |