Teooria ja ülesanded - 3. tund

Ülesanded 1


1. Joonista pea (ovaal), üks silm lahti, teine silm kinni ja punane suu - vaata programmikoodi
2. Keera nägu tagurpidi, peegelpildis (silmad all ja suu üleval) - vaata programmikoodi
3. Keera nägu tagurpidi, 180 kraadi - vaata programmikoodi
4. Joonista pea alla ka keha ja käed, jalad


-----------------------


 Tingimuslaused ja võrdlused


Paljudes programmides tuleb mingil hetkel teha valik, kas jätkata üht- või teistmoodi. Sellised valikud saab programmeerimisel kirja panna tingimuslausete ehk valiklausete abil. Enamasti on selleks kõigis põhilistes programmeerimiskeeltes olemas if-else käsklused.

IF - juhul kui...
ELSE - muul juhul...

Näide: 
if x < 10:
    print("Väiksem kui 10")
else:
    print("Suurem kui 10")

See programmikood tähendab, et kui x on 10-st väiksem, tuleb kirjutada "Väiksem kui 10"
Muul juhul tuleb kirjutada: "Suurem kui 10".

Kuna mõnikord on valikuid rohkem kui kaks, siis tuleks kuidagi kirja panna ka muud võimalused.
Muude võimaluste kirja panemiseks võib kasutada mitut if-else lauset, kuid on ka lihtsam võimalus, n-ö vahepealne variant if ja else jaoks ehk elif (lühend sõnadest else if)

Näide: 
if x < 10:
    print("Väiksem kui 10")
elif x==10:
    print("Võrdne 10-ga")
else:
    print("Suurem kui 10")


Võrdlustehted

Arvude võrdlemise programm

-----------------------


Ülesanded 2


4. Täienda eelmisel joonisel toodud arvude võrdlemise programmi nii, et kui kaks arvu on võrdsed, siis teatab programm: "Arvud on võrdsed". - Vaata programmikoodi
(Loe enne igaks juhuks ka järgmine lõik "Treppimine" läbi.)



-----------------------

Treppimine


NB! Pythonis on oluline n-ö "treppimine". Treppimine tähendab seda, et osa programmi lauseid kirjutatakse taandega.
Näide: Kui sa paned programmikoodis kirja if või else tingimuse, siis selleks, et arvuti aru saaks, et nüüd hakkab tingimus, trepitakse järgmisi tingimuse ridasid nelja tühiku abil. St nende ridade ette tekitatakse 4-tühiku pikkune taane.
Selleks, et arvuti saaks aru, millal tingimus lõppeb, vähendatakse sealt alates, kus tingimus enam ei kehti, taanet 4 tühiku võrra.
Nii kujunevad koodis n-ö plokid ehk "trepp".
Trepp on kasulik ka selleks, et programmeerijatel programmikoodist parem aru oleks saada.

"Treppimine" - plokk 1 sees on plokk 2 ja selle sees omakorda plokk 3

Näide "treppimisest" Pythonis. Iga tingimus algab 4-tühikuse taandega.
Esimese IF tingimuse sees on teine IF tingimus, teise IF tingimuse sees kolmas IF.
Kolmanda IF sees on tegevus, mida programm peab tegema, kui kõik kolm IF on täidetud.
Iga IF puhul on ka vastav ELSE plokk ehk valik "muul juhul".


-----------------------

Ülesanded 3


5. Loo programm, mis joonistab eesti lipu ja veel mõne riigi lipu (nt Eesti ja Soome). 
6. Pane lipu joonistamise programm tööle nii, et input() abil küsib programm sinult, mis riigilippu sa tahad näha. 
Kui vastad "Eesti", joonistab programm ekraanile Eesti lipu. Kui aga vastad midagi muud, siis teise lipu. 
7. Täienda eelmist programmi nii, et kui vastad "Eesti", joonistab programm Eesti lipu, kui vastad "Soome", siis Soome lipu ja kui vastad midagi muud, siis tühja lipu või midagi muud. - Vaata programmikoodi



-----------------------


Loogika


Mõnikord on vaja, et programm kontrolliks, kas korraga on täidetud kaks või enam tingimust. Tihti saab neid asju kontrollida eraldi if-else lausetega, kuid kui tingimusi on palju, on lihtsam seda teha n-ö loogikatehetega: and, or, not...
Näiteks kui sul on vaja, et arvutiprogramm lubaks sul valida, missugust muusikapala soovid mängida (kas kõiki erinevaid muusikapalu järjest, ainult osasid neist või ainult ühte), missuguseid kirjastiile kasutada, missuguseid värve joonistamisel (kas kollast ja rohelist või ainult üht nendest) jne.


Loogikatehete näited



-----------------------


Ülesanded 4


8. Täienda ülesandes 7 toodud programmi nii, et kui arvuti sinult küsib, mis lipp joonistada ja sa vastad "Eesti" või "eesti", siis arvuti joonistab Eesti lipu. - Vaata programmikoodi
Kui vastad "Soome" või "soome", siis joonistatakse Soome lipp ja muul juhul muu lipp.
9. Loo programm, mis küsib sinult, mis kujundit soovid joonistada, pakkudes valiku: ovaal, ring, ristkülik, ruut, kolmnurk, viisnurk. Ja joonistab selle kujundi, mille valisid.
10. Muuda eelmist programmi nii, et sa saad arvuti pakutud kujunditest (ovaal, ring, ristkülik) valida korraga 2 kujundit, mille arvuti joonistab. - Vaata programmikoodi (ja alternatiivne variant).

11. Muuda eelmist programmi nii, et sa saad arvuti pakutud kujunditest (ovaal, ring, ristkülik) valida korraga 1-2 kujundit, mille arvuti joonistab. Vaata programmikoodi (ja teine variant)

12. Muuda eelmist programmi nii, et arvuti küsib sinult, missugust hulknurka soovid joonistada (kolmnurk, nelinurk, viisnurk). Ja saad valida, kas arvuti joonistab ühe neist, kaks või kõik kolm. Vaata programmikoodi


(Selliseid valikuid kasutavad tihtipeale erinevad arvutiprogrammid, veebilehed, mobiilirakendused ja ka mängud - näiteks sa saad valida, mis värvi või kirjastiili kirjutamisel kasutada, mitu programmi arvutis korraga tahad lahti jätta, mis päeva ilmateadet soovid internetist vaadata, mitu abilist mängus soovid valida, mis riided modellile selga paned jne.)


-----------------------


Koduülesanded


Proovi kodus ära teha need ülesanded, mida tunnis ei jõudnud.





Kommentaare ei ole:

Postita kommentaar