Institute of Computer Science
  1. Courses
  2. 2023/24 fall
  3. Computer Programming (LTAT.03.001)
ET
Log in

Computer Programming 2023/24 fall

  • Üldinfo
  • 1. Muutuja ja avaldis
  • 2. Tingimuslause
2.1 Tingimuslause
2.2 Kodutöö
2.3 Harjutused
2.4 Silmaring. Regulaaravaldised
  • 3. Funktsioon
  • 4. Korduslause
  • 5. Lihtsam failitöötlus. Sõned
  • 6. Kontrolltöö 1
  • 7. Järjend
  • 8. Järjend 2
  • 9. Kahekordne tsükkel. Failitöötlus
  • 10. Andmestruktuurid
  • 11. Andmestruktuurid 2
  • 12. Kontrolltöö 2
  • 13. Objektorienteeritud programmeerimine
  • 14. Objektorienteeritud programmeerimine 2
  • 15. Rekursioon
  • 16. Kordamine. Projektide esitlused
  • Viiteid
  • Silmaringimaterjalid
  • Materjalid

Harjutused

NB! Praktikumiülesandeid antakse alati varuga, et ka kõige kiirematel/kogenumatel lahendajatel jätkuks tegevust. Seega pole mõtet kurvastada, kui sa kõiki lahendada ei jõua. Vaata ülesanded rahulikult üle ja lahenda ära just need, mis tunduvad huvitavad ja/või parajalt jõukohased/rasked (kui just praktikumijuhendaja pole soovitanud mingit konkreetset ülesannet).

1. Pitsa hind

Kirjuta programm, mis küsib pitsa läbimõõtu sentimeetrites ja terve pitsa hinda eurodes ning arvutab pitsa ruutsentimeetri hinna ümardatult kolm kohta pärast koma. Kui pitsa ruutsentimeetri hind tuleb üle 0.2, siis programm teavitab: "Kallis pitsa!".

Näide 1 programmi tööst:

 Sisesta läbimõõt: 20
 Sisesta hind: 5.65
 Ruutsentimeetri hind on: 0.018

Näide 2 programmi tööst:

 Sisesta läbimõõt: 3
 Sisesta hind: 5.65
 Ruutsentimeetri hind on: 0.799
 Kallis pitsa!

Abiks: Matemaatiline konstant.

π väärtusena on mugav kasutada Python’i standardteegis olevat math moodulit.

Näiteks:

# Impordime vajaliku mooduli
import math

# Väljastame π väärtuse
print( math.pi )

2. Kumb võidab lahingu?

Ajaloolased hindavad kaitsevarustuse ja hobusega keskaegse rüütli võitlusvõimet võrdseks kolme tavalise sõjamehe omaga.

Kui lahinguväljal kohtuvad kaks vaenuväge, millest esimesse kuulub a rüütlit ja b tavalist sõjameest ning teise c rüütlit ja d tavalist sõjameest, siis kumb selle lahingu eeldatavasti võidab?

Koosta programm, mis küsib kasutajalt eraldi ridadel a rüütlite, b tavaliste sõjameeste, c rüütlite ja d tavaliste sõjameeste arvu ja väljastab erkaanile, kas võitis esimene vaenuvägi lausega "Võitis esimene vaenuvägi" või teine vaenuvägi lausega "Võitis teine vaenuvägi". Viiki jäämisel väljastada ekraanile "Lahing jäi viiki".

3. TereTore

Kirjuta programm, mis küsib kasutajalt ühte täisarvu.

  1. Kui täisarv jagub 2-ga, siis trükib ekraanile sõna Tere.
  2. Kui täisarv jagub 3-ga, siis trükib ekraanile sõna Tore.
  3. Kui täisarv jagub nii 2-ga kui ka 3-ga, siis trükib programm ekraanile sõna TereTore.

Muudel juhtudel trükib ekraanile sellesama arvu.

Veendu, et programm annab õige tulemuse kõigil arvudest 1-6.

PS! Proovi huvi pärast ka arvuga 0 ja teiste arvudega (sh negatiivsetega.

4. Hinded

Ülikooliainetes on levinud kaks hindamisviisi:

  1. eristav (täheline hinne punktisumma järgi) ja
  2. mitteeristav (arvestatud või mittearvestatud).

Kirjuta programm, mis palub kasutajal sisestada aine punktisumma vahemikus 0 kuni 100 ja hindamisviisi. Kui hindamine on eristav, siis väljastab programm hinde järgmise skaala järgi: ≥90 on A, ≥80 on B, ≥70 on C, ≥60 on D, ≥50 on E ja <50 on F. Kui hindamine on mitteeristav, siis vähemalt 50-se punktisumma puhul väljastab teate, et aine on arvestatud; vastasel juhul on aine mittearvestatud.

Kui punktid pole vahemikus 0-100, siis tuleks kasutajale kuvada vastav teade: "Punktid peavad olema vahemikus 0-100"

Arenda oma programmi nii kaugele, et kui kasutaja sisestab midagi sobimatut, siis programm ei jookse kokku (kasuta lauseid try-except või if-else).

Näide 1:

 Sisesta punktisumma: 95
 Kas hindamine on eristav või mitteeristav (e/m)? m
 ARVESTATUD

Näide 2:

 Sisesta punktisumma: -15
 Kas hindamine on eristav või mitteeristav (e/m)? e
 Punktisumma peab jääma vahemikku 0–100

Näide 3:

 Sisesta punktisumma: 65
 Kas hindamine on eristav või mitteeristav (e/m)? e
 D

Näide 4:

 Sisesta punktisumma: 50
 Kas hindamine on eristav või mitteeristav (e/m)? puudub
 Hindamisviis on tundmatu

Nuputa! Millise hinde su programm väljastab, kui punktisumma on 0 ja hindamisviis mitteeristav?

5. Mitmes päev aastas on?

Sisestatakse kuupäev, täpsemalt kolm arvu: päev, kuu ja aasta. Leida, mitmes päev aastas see kuupäev on. Võib eeldada, et sisestatud andmed on korrektsed ja et niisugune kuupäev on tõepoolest olemas. Liigaasta on selline, kus aastanumber jagub 4-ga, välja arvatud juhud, mil aastanumber jagub 100-ga, aga ei jagu 400-ga. Programmi abil leida, mitmes päev aastas on sinu sünnipäev.

Näited programmi tööst:

>>> %Run 'päeviaastas.py'
  Sisesta päev: 07
  Sisesta kuu: 11
  Sisesta aasta: 2023

  Sisestatud kuupäev on 2023. aasta 311. päev
>>> %Run 'päeviaastas.py'
  Sisesta päev: 09
  Sisesta kuu: 06
  Sisesta aasta: 1996

  Sisestatud kuupäev on 1996. aasta 161. päev

6. Müügimehe palk

Müügimehele anti valida kolme palgamaksmisskeemi vahel:

Skeem A: 750 eurot nädalas puhast palka;

Skeem B: 8.75 eurot tunnis 40 tunni eest nädalas pluss 10% komisjonitasu müügi pealt;

Skeem C: 15% müügi pealt ilma muu palgata.

Programmi sisend olgu müügimehe eeldatav nädalane müük. Programm peab arvutama ja väljastama ekraanile töötasu kõigil kolmel juhul ja valima ja väljastama ekraanile nendest võimalustest parima.

Näide:

 Sisesta nädala müük: 3000
 Töötasud: 750.00€, 650.00€ ja 450.00€
 Kõrgeim palk on skeemil A
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment