1. nädala YL

Informaatika õppelehekülg

Kontrollülesanne 1.1. Tervitus (teemad 1.1. Algoritm. 1.2. Programm)

Koostada programm, mis väljastaks ekraanile teksti Tere, maailm! täpselt sellisel kujul – koma ja hüüumärgiga.

Näide programmi tööst:

Kontrollülesanne 1.2. Aasta tegija (teemad 1.3. Andmetüübid. 1.4. Muutujad)

Eks oleme harjunud, et saame poest asju osta – näiteks tikke vähemalt. Siiski on hea teada, et tuld saab ka teisiti. See ülesanne on pühendatud tuletaelale – 2018. aasta seenele.

Koostada programm, mille

  • 1. real luuakse muutuja nimega aasta ning antakse sellele väärtuseks 2018 (arvuna);
  • 2. real luuakse muutuja nimega seen ning antakse sellele väärtuseks “tuletael” (sõnena);
  • 3. real luuakse muutuja nimega lause_keskosa ning antakse sellele väärtuseks “. aasta seeneks on ” (sõnena);
  • 4. real luuakse muutuja nimega lause, mille väärtuse saamiseks ühendatakse üheks sõnaks muutujad aastalause_keskosa ja seen (vajadusel tuleb kasutada funktsiooni, mis teisendab arvu sõneks);
  • 5. real väljastatakse muutuja lause väärtus ekraanile.

Kuigi tegelikult pannakse lause lõppu punkt, siis siin ärge pange. (Automaatkontroll isegi annab punkti või mõne muu üleliigse osa eest veateate.)

Näide programmi tööst:

Aasta seene kohta võib lugeda siin. Tuletaela abiga tule saamise kohta, aga siin.

Kontrollülesanne 1.3. Astendamine (teema 1.5. Sisend kasutajalt: input())

Koostada programm, mis

  • küsib kasutajalt astme aluse (täisarv) ja astendaja (täisarv) (just selles järjekorras);
  • arvutab ja väljastab ekraanile astme.

Näiteks kui kasutaja sisestab vastustena 2 ja 4, siis väljastatakse 16, sest 24 = 16. Astme alus on siin 2, astendaja 4 ja aste 16.

Näide programmi tööst:

Järgmisest kahest ülesandest tuleb valida vähemalt 1.

Kontrollülesanne 1.4a. Nädala ajakulu (terve 1. nädal)

Ülikoolides arvestatakse ühe ainepunkti ajakuluks 26 tundi. Näiteks kolme ainepunkti kursusel on ajakuluks 3 * 26 = 78 tundi. Kui see jaotada 10 nädala peale, on ühe nädala eeldatav ajakulu 78 / 10 = 7,8.

Koostada programm, mis

  • küsib kasutajalt just sellises järjekorras ainepunktide arvu (täisarvu) ja nädalate arvu (täisarvu);
  • arvutab ja väljastab ekraanile ühe nädala eeldatava ajakulu, mis on ümardatud täisarvuni.

Täisarvuks ümardamisel saab kasutada funktsiooni round, näiteks round(ajakulu) väärtuseks on 8, kui kasutaja on sisestanud 3 ja 10. Funktsioon int ei ole siin sobiv, kuna int(7.8) on hoopis 7.

Näide programmi tööst:

Kontrollülesanne 1.4b. Kiiruseületamise trahv (terve 1. nädal)

Liiklusseaduse järgi määratakse suurima lubatud sõidukiiruse ületamise korral hoiatustrahv, mille suurus eurodes saadakse lubatud sõidukiirust ületanud kilomeetrite arvu korrutamisel arvuga 3. Hoiatustrahvi maksimaalmäär on 190 eurot.

Trahvimääradest on juttu siin.

Koostada programm, mis

  • küsib kasutajalt just sellises järjekorras nime (sõne), lubatud kiiruse (täisarvu) ja tegeliku kiiruse (täisarvu);
  • arvutab trahvi vastavalt kasutajalt saadud andmetele ja ülaltoodud reeglitele;
  • väljastab nime ja trahvi ekraanile.

Näiteks kui kasutaja sisestab vastustena Jürgen50 ja 60, siis väljastatakse Jürgen, kiiruse ületamise eest on teie trahv 30 eurot.

Selleks, et trahvi maksimaalmääraga arvestada saab kasutada funktsiooni min, millega saab leida mitmest väärtusest minimaalse. Näiteks min(190, esialgne_tulemus) väärtuseks on 190, kui muutuja esialgne_tulemus väärtus, mis on varem defineeritud, on suurem kui 190 (või võrdne 190).

Näiteks kui kasutaja sisestab vastustena Sal-Saller50 ja 172, siis väljastatakse Sal-Saller, kiiruse ületamise eest on teie trahv 190 eurot. Kiirust ületati 122 võrra ja esialgne arvutus näitab trahviks 366 eurot, aga see on üle maksimaalmäära. (Näide on inspireeritud laulust “Lähme sõidame”, kus on “viiekümneses tsoonis meil sada seitsekümmend kaks on sees”.)

Näide programmi tööst:

Eeldame, et kasutaja sisestab tegeliku kiiruse, mis on lubatud kiirusest suurem. Kui sisestatakse lubatud kiirusest väiksem tegelik kiirus, siis las programm annabki trahviks negatiivse arvu. Päriselus see küll nii just pole…