Arvutiteaduse instituut
  1. Kursused
  2. 2024/25 kevad
  3. Programmeerimise alused (MTAT.03.236)
EN
Logi sisse

Programmeerimise alused 2024/25 kevad

  • Pealeht
  • 1. Sissejuhatus
  • 2. Tingimuslause
  • 3. Tsükkel
  • 4. Järjend
  • 5. Funktsioon
  • 6. Andmevahetus. Lihtne kasutajaliides
  • Loengud
  • Moodle
  • Lahendus
  • Thonny paigaldamine
  • Thonny logide esitamine
  • Silumine
  • Kiireksamist
  • Viited

Neljanda nädala kontrollülesanded

Enne 4. praktikumi tuleb esitada kolme kohustusliku ülesande lahendused. Lahendused tuleb esitada Lahenduses, kus need kontrollitakse automaatselt.

4.1. Töögraafik

Väikeettevõte on määranud jaanuarikuu igaks päevaks ühe inimese tööle. Töötajad on kirjas tekstifailis töögraafik.txt, kus esimesel real on märgitud töötaja, kes 1. jaanuaril töötab, teisel real on märgitud töötaja, kes 2. jaanuaril töötab, ja nii kuni 31. reani välja.

Koostada programm, mis

  • loeb failist töögraafik.txt sisse töötajate nimed ja sisestab need järjendisse;
  • küsib kasutajalt täisarvu, mis tähistab mitmenda kuupäeva töötaja nime soovitakse teada (tasub meeles pidada, et järjendis on esimesel kohal element indeksiga 0);
  • väljastab töötaja nime, kes nimetatud kuupäeval töötab.

Andmete sisse lugemiseks ja järjendisse lisamiseks saab kasutada koodijuppi:

fail = open("töögraafik.txt", encoding="UTF-8")
andmed = []
for rida in fail:
   andmed.append(rida.strip())
fail.close()

Näide programmi tööst:

>>> %Run lahendus.py
Mitmenda kuupäeva töötaja nime soovid teada: 6
6. kuupäeval töötab Madis

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 4.2. Lillede arv (for-tsükliga)

Palindroom on keelend, mis on nii päri- kui ka tagurpidi lugedes täpselt samasugune. Lühikeste sõnade puhul (näiteks "aga") on lihtne mõista, et tegemist on palindroomiga, kuid pikemate sõnade puhul on palindroomi tuvastamine keerulisem.

Koostada programm, mis

  • loob tühja järjendi, kuhu hakkab sisestama otsuseid, kas sõna on palindroom või mitte;
  • küsib kasutajalt while-tsükli abil sõnu seni, kuni kasutaja sisestab sõna "lõpp";
  • iga sõna puhul, mis ei ole sõna "lõpp", uurib, kas sõna on palindroom. Sõna on lihtne tagurpidi pöörata käsu sõna[::-1] abil;
  • juhul, kui sõna on palindroom, lisab järjendisse lause kujul "<sõna> on palindroom.", muutes sisestatud sõna esitähe suureks. Näiteks sõna "aga" puhul "Aga on palindroom.";
  • juhul, kui sõna ei ole palindroom, lisab järjendisse lause kujul "<sõna> ei ole palindroom.", muutes sisestatud sõna esitähe suureks. Näiteks sõna "koer" puhul "Koer ei ole palindroom.";
  • juhul, kui sõna on "lõpp", väljastab tühja rea ja seejärel kõik järjendi elemendid üksteise alla ning lõpetab töö.

Näide programmi tööst:

>>> %Run lahendus.py
Sisesta sõna: aga
Sisesta sõna: koer
Sisesta sõna: sadam
Sisesta sõna: sadas
Sisesta sõna: puuluup
Sisesta sõna: oo
Sisesta sõna: sõna
Sisesta sõna: kuulilennuteetunneliluuk
Sisesta sõna: lõpp

Aga on palindroom.
Koer ei ole palindroom.
Sadam ei ole palindroom.
Sadas on palindroom.
Puuluup on palindroom.
Oo on palindroom.
Sõna ei ole palindroom.
Kuulilennuteetunneliluuk on palindroom.

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 4.3. Sissetulekud

Failis konto.txt on kirjas ujukomaarvudena pangakonto tehingud (kus positiivsed arvud on sissetulekud ja negatiivsed arvud on väljaminekud). Iga arv on eraldi real. Näitefaili võite salvestada siit või koostada ise mõne tekstiredaktoriga (kasvõi Thonnyga). Tekstifaili kasutamiseks programmi sees peab fail asuma programmifailiga samas kaustas.

Koostada programm, mis

  • loeb failist nimega konto.txt andmed;
  • väljastab ekraanile kõik sissetulekud ehk failist leitud positiivsed arvud. Iga arv peab olema eraldi real ja positiivsete arvude omavaheline järjekord peab jääma samaks nagu failis.

Näide programmi tööst: Faili konto.txt sisu:

 100
 -3.45
 -45
 18.67
 -7.02
 86.23
 0.03
 531.67
 -200

>>> %Run lahendus.py
100
18.67
86.23
0.03
531.67

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.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused