Arvutiteaduse instituut
  1. Kursused
  2. 2022/23 sügis
  3. Programmeerimine (LTAT.03.001)
EN
Logi sisse

Programmeerimine 2022/23 sügis

  • Üldinfo
  • 1. Muutuja ja avaldis
  • 2. Tingimuslause
  • 3. Funktsioon
  • 4. Korduslause
  • 5. Lihtsam failitöötlus. Sõned
  • 6. Kontrolltöö 1
6.1 Kontrolltöö näide
  • 7. Järjend
  • 8. Järjend 2
  • 9. Kahekordne tsükkel. Failitöötlus
  • 10. Andmestruktuurid
  • 11. Andmestruktuurid 2
  • 12. Kontrolltöö 2
  • 13. Rekursioon
  • 14. Objektorienteeritud programmeerimine
  • 15. Objektorienteeritud programmeerimine 2
  • Viiteid
  • 15. Objektorienteeritud programmeerimine 2

https://www.uttv.ee/naita?id=33896

  • 16. Kordamine. Projektide esitlused
  • Silmaringimaterjalid
  • Materjalid

1. kontrolltöö punktilise osa näidis

  • Lahendamisaega on 90 minutit.
  • Materjalide kasutamine on lubatud.
  • Igasugune suhtlemine on keelatud.
  • Lahendused ja logid laadi Moodle'isse, mõlemale on eraldi lingid.

Enne alustamist

Kasuta programmeerimiseks Thonnyt! Palun ära kirjuta programmi teises IDEs ega kopeeri seda sealt Thonnysse: sel juhul paistab logisid vaadates, et programm on kusagilt kleepimisega saadud ning võib olla plagiaat.

Veendu enne ülesandega alustamist, et logimine on sisse lülitatud: Tööriistad > Seaded > Üldine > Logi kasutussündmusi (Tools > Options > General > Log program usage events).

1. ülesanne (10 p) - Uued hinnad

Poeomanik on seni pannud oma toodetele alati täisarvulise hinna. Näiteks on banaanide kilohind 1 euro, tomatite kilohind 3 eurot jne. Nüüd aga avastas ta, et kui hind lõpeb 99 sendiga, siis peetakse kaupa tunduvalt odavamaks, inimesed ostavad rohkem ja lõppkasum on märgatavalt suurem (https://en.wikipedia.org/wiki/Psychological_pricing).

Kõigi toodete hinnad on poeomanik salvestanud faili hinnad.txt, kus iga toote nimi ja hind on erinevates ridades (toote nimi on ühes reas ja hind järgmises reas). Kirjuta programm, mis loeb failist hinnad.txt toodete nimed ja hinnad ning lahutab igal pool, kus võimalik, hinnast 1 sendi. Iga toote puhul, kus hinna teisendamine õnnestub, peab programm kirjutama faili uued_hinnad.txt toote nime ja järgmisse ritta uue hinna ning ühtlasi väljastama ekraanile teate eduka teisendamise kohta. Kui aga hinna teisendamine ei õnnestu, siis ei kirjuta programm faili uued_hinnad.txt midagi ja ainult väljastab ekraanile vastava teate.

Näide

Faili hinnad.txt võimalik sisu:

banaanid
1
tomatid
3
avokaadod
kolm
kreeka pähklid
18-19
kollased ploomid
4

Faili uued_hinnad.txt sisu:

banaanid
0.99
tomatid
2.99
kollased ploomid
3.99

Ekraaniväljund programmi käivitamisel:

banaanid OK!
tomatid OK!
Toote 'avokaadod' hinda 'kolm' ei õnnestunud teisendada.
Toote 'kreeka pähklid' hinda '18-19' ei õnnestunud teisendada.
kollased ploomid OK!

2. ülesanne (10 p) - Kivi-paber-käärid

Kirjuta programm, mis mängib kasutajaga mängu kivi-paber-käärid.

Programmis peab olema funktsioon mängi, millel on kaks parameetrit: kahe mängija valikud sõnena („kivi”, „paber” või „käärid”). Funktsioon tagastab sõne „esimene”, kui võitis esimene mängija, ning sõne „teine”, kui võitis teine. Kui mõlemad funktsioonile etteantud väärtused on samad, siis tagastab funktsioon sõne „viik”.

Kirjuta programm, mis küsib kasutajalt sisendiks valikut kivi, paberi ja kääride vahel. Võib eeldada, et sisend on õige. Siis genereerib arvuti oma juhusliku valiku ja väljastab selle. Kõike seda korratakse 3 korda. Lõpus väljastada, kumb mängija võitis või jäi mäng viiki.

Näide

Sisesta oma valik: käärid
Arvuti valis käärid. Viik! Sina 0, arvuti 0.
Sisesta oma valik: kivi
Arvuti valis käärid. Sina võitsid! Sina 1, arvuti 0.
Sisesta oma valik: kivi
Arvuti valis paberi. Arvuti võitis! Sina 1, arvuti 1.
Mäng jäi viiki!

Vihje

>>> from random import choice
>>> choice(['see', 'valib', 'juhusliku', 'sõne'])
'juhusliku'
>>> choice(['see', 'valib', 'juhusliku', 'sõne'])
'sõne'

Töö esitamine

Kui oled ülesannetega valmis, siis palun sulge korraks Thonny ja käivita uuesti, et uusimad logid kindlasti salvestuksid. Esita programmid ja Thonny logifail(id).

  • Programmid esita Moodle'is lingi „Näidiskontrolltöö programmide esitamine” alt. Kui soovid lasta oma programme automaatkontrolliga testida, siis anna neile nimed ylesanne1.py ja ylesanne2.py. (Tegelikus kontrolltöös automaatkontrolli ei ole.)
  • Logifaili(d) leiad Thonny logifailide kaustast: vali peamenüüst Tööriistad > Ava Thonny andmekaust ja seejärel ava kaust user_logs (Tools > Open Thonny data folder > user_logs). Vali kõik failid, mis on tekkinud kontrolltöö ajal (tavaliselt on selliseid faile ainult üks) ja esita nad Moodle'is lingi „Näidiskontrolltöö logide esitamine” alt.
  • 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