2. Ülesanded: sisend, väljund, tingimus
Teooriapeatükid:
Ülesanne 1
Koosta programm, mis küsib kasutajalt ristküliku lähiskülgede pikkused ning väljastab ekraanile ristküliku ümbermõõdu ja pindala.
Ülesanne 2
Koosta programm, mis küsib kasutajalt nime ja vanust ja väljastab ekraanile nimelise tervituse koos tekstiga, mis ütleb, kas tegemist on 7-18-aastase inimesega.
Ülesanne 3
Koosta lihtne kalkulaator. Kasutajalt küsitakse kaks arvu ja tehtemärk ning seejärel kuvatakse tehe koos vastusega. Näiteks:
Sisestage esimene arv: 2 Sisestage teine arv: 3 Sisestage tehe: + Tulemus: 2+3=5
Ülesanne 4
Eelmise ülesande alusel koostage programm M-Koer (Matemaatiline Koer), millele antakse samuti ette kaks arvu ja tehtemärk, kuid vastus ei kirjutata mitte arvulisel kujul, vaid esitatakse "haukudes". Igaks juhuks: tsükleid pole vaja kasutada, me pole neid veel õppinud.
Sisestage esimene arv: 2 Sisestage teine arv: 3 Sisestage tehe: + Tulemus: auh auh auh auh auh
Ülesanne 5
Koosta programm, mis küsib kasutajalt temperatuuri Celsiuse kraadides ja väljastab tulemuse Fahrenheiti kraadides. Kuidas muuta programmi nii, et võimalik oleks teisendamine nii üht- kui teistpidi? Proovi.
Ülesanne 6
Loo programm, mis küsib kasutajalt ruutvõrrandi liikmete (ruutliige, lineaarliige, vabaliige) kordajad ning arvutab nende põhjal diskriminandi ja väljastab selle põhjal ruutvõrrandi lahendid. Nagu tead, võib lahendeid vastavalt diskriminandi väärtusele olla üks või kaks, kuid lahendid võivad ka puududa.
Ülesanne 7
Eestis kasutatav isikukood koosneb üheteistkümnest numbrist. Tutvu isikukoodi struktuuriga (https://et.wikipedia.org/wiki/Isikukood) ja kirjuta programm, mis analüüsib isikukoode ja väljastab võimalikult rohkem infot selle kohta (sünnikuupäev, sugu jne). Isikukoodi käsitlege kui sümbolite kogumit ehk sõnet (kuigi see koosneb numbritest), analüüsimiseks kasutage sõneoperatsioone (vt. käsiraamat). Kuna isikukoode on keeruline testimise ajal korduvalt sisestada, on alguses mõistlik sisestada erinevad isikukoodid ning kommenteerida vastavalt vajadusele ülearused välja, näiteks järgnevalt kasutatakse teisel real olevat isikukoodi:
#isikukood = "60201302715" isikukood = "48008082727" #isikukood = "31212230156" [...]
Hiljem võib lisada isikukoodi küsimise kasutajalt.
Täiendusi:
- Vastavalt toodud isikukoodi tutvustavale artiklile võrdle esimest kümmet numbrit ja viimast numbrit (nn. kontrollnumbrit), et teha selgeks, kas isikukood on üldse kehtiv. Kuna isikukoodi võtame kui sõnet, aga seal olevaid arve on vaja korrutada, peame tegema tüübiteisenduse: sõnena oleva arvu peame teisendama täisarvuks (funktsioon "int()").
- Koosta funktsioon, mis ise automaatselt koostab kehtivaid isikukoode. Võimatud on näiteks isikukoodid vale kontrollnumbriga, kuid ka sellised, mis viitavad olematule kuupäevale (algusega "3950230...", mis tähendaks 30. veebruari) vms. Vali kas "ohutu" tee (ette on antud piirid, mis kehtivad igal juhul) või loo sisemised sõltuvused (stiilis "kui kuu on aprill, siis maksimaalsete päevade arv on 30").
Ülesanne 8
Eelmises peatükis koostasime programme, kus algandmed olid programmi teksti jäigalt sisse kirjutatud. Vali neist kaks ning lisa neile vajalike sisendandmete küsimine. Kuna tegemist on olukorraga, kus kasutaja võib andmete sisestamisel eksida (sisestada vale tüüpi andmeid, mis annavad programmi töötamisel vea, näiteks kirjutada arvu asemel teksti), püüa mõelda (ja internetist otsida) võimalusi, kuidas selliseid vigu vältida.
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/