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

Programmeerimine 2018/19 sügis

2. kodutöö

1. Pythoni dokumentatsioon

Uuri Pythoni dokumentatsioonist mooduli math kohta käivat infot (http://docs.python.org/3/library/math.html). Otsi välja käskude floor ja ceil tähendus – neid võib edaspidi ülesannete lahendamisel tarvis minna. Vaata üle ka sõnemeetodite dokumentatsioon (http://docs.python.org/3/library/stdtypes.html#string-methods).

Nurksulud Pythoni funktsioonide dokumentatsioonis näitavad, et sellele parameetrile ei pea väljakutsel tingimata väärtust andma, sest tal on olemas vaikeväärtus. Nt kui meetodi kirjeldus on kujul str.center(width[, fillchar]), siis see tähendab, et seda võib kasutada kas ühe argumendiga (nt kliendi_nimi.center(80)) või kahe argumendiga (kliendi_nimi.center(80, '~')).

2. Elektriliin

Sirgjoonelise elektriliini ehitamisel paigutatakse kõrvutiasetsevad postid võrdsete kaugustega, mis ei ületa etteantud maksimaalkaugust. Liin algab ja lõpeb postiga. Kasutajalt küsitakse liini pikkust (täisarvuna meetrites) ja kõrvutiasetsevate postide maksimaalkaugust (täisarvuna meetrites). Ekraanile väljastatakse, mitu posti on liini ehitamiseks minimaalselt vaja.

Testi oma programmi!

  • Vali vähemalt üks komplekt andmeid nii, et kõik kõrvutiasetsevad postid oleksid maksimaalkaugusel. (Nt liini pikkus 400 m, maksimaalne postidevaheline kaugus 40 m.)
  • Vali vähemalt üks komplekt nii, et kõrvutiasetsevad postid oleksid lähemal kui maksimaalkaugus.
  • Vali vähemalt üks komplekt, kus liini pikkus oleks postide maksimaalkaugusest väiksem.

3. Kasutajanime loomine

Koosta programm, mis

  • küsib kasutajalt eesnime
  • küsib kasutajalt perenime
  • väljastab kasutajanime, mis on loodud eesnime ja perenime liitmisel, kus tähed on läbivalt väikesed ja ees- ja perenime eraldajaks on punkt.

Kasutaja võib sisestada nime läbivalt väikeste tähtedega, ainult suurte tähtedega või segamini, kuid programm peab alati väljastama kasutajanime läbivalt väikeste tähtedega.

Näide

>>> %Run nimi.py
Sisesta eesnimi: kALle
Sisesta perenimi: KalDUR
kalle.kaldur
>>> 

Vihje

>>> "kaSpaR".lower()
kaspar

Edasiarendus

Praegu on aktsepteeritav, kui programm ei esita täpitähtedega nimesid ootuspäraselt (nt kui kasutaja sisestas eesnimeks „Säde“, siis on aksepteeritav, kui programm muudab selle „säde“-ks). Aga kui see ülesanne oli sinu jaoks liiga lihtne, siis proovi kirjutada programmist ka selline variant, mis töötaks õigesti nimede puhul, mis sisaldavad täpitähti, st mis muudaks näiteks sõna „pÕÕsas“ sõnaks „poosas“.

4. Masintõlge

Kirjuta programm, mis küsib kasutajalt kaks failinime. Esimene märgib mingit olemasolevat tekstifaili, teine aga mingit uut faili, mida ei tarvitse veel olemas olla.

Programmi ülesanne on võtta esimese faili sisu, asendada seal kõik sõnad „Hello“ sõnadega „Tere“ ja kirjutada tulemus teise faili. Ekraanile väljastada, mitu asendamist tehti.

Näide

Faili inglise.txt sisu:

Hello!
Hello Kitty
Hello-Hello

 >>> %Run teisenda.py
Lähtefaili nimi: inglise.txt
Sihtfaili nimi: eesti.txt
Tehti 4 asendamist.

Faili eesti.txt sisu:

Tere!
Tere Kitty
Tere-Tere

Vihje

 >>> 'abcabca'.count('ab')
2
  • 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