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

Programmeerimine 2020/21 sügis

  • Pealeht
  • Silmaringimaterjalid
  • Viiteid

4. praktikumi harjutused

1. Tulpdiagramm funktsioonidega

Muuda 3. praktikumi tulpdiagrammi ülesande lahendust selliselt, et tulpade joonistamiseks kasutatakse programmis defineeritud funktsiooni tulp(laius, kõrgus, värv). Muuda programmi veel selliselt, et nt 50-st suurematele väärtustele vastavad tulbad joonistatakse teise värviga (st funktsiooni väljakutses varieeritakse värvi argumenti).

2. Faili suurus

Kirjuta funktsioon, mis võtab argumendiks failinime ja tagastab selle faili suuruse baitides, kui süsteemis leidub etteantud nimega fail, või 0, kui sellist faili pole või kui see nimi tähistab hoopis kausta. Abiks on Pythoni moodul os.path (http://docs.python.org/py3k/library/os.path.html) NB! Tegemist on mitmeosalise moodulinimega, st importimisel tuleb mainida mõlemad nime osad, nt:

from os.path import *

3. Kilo, mega, giga

Suurte failide puhul ei ole mugav arvestada faili suurust baitides. Kirjuta funktsioon teisenda, mis võtab argumendiks baitide arvu ja tagastab sõne, kus baidid on teisendatud sobivatesse ühikutesse, sobiva täpsusega. Näiteks teisenda(37065) võiks tagastada sõne "36.2 KB"

4. Kasutajasõbralik failisuurus

Kirjuta funktsioon, mis võtab argumendiks failinime ja tagastab faili suuruse sõnena, parajates ühikutes. Kasuta abifunktsioonidena eelmiste ülesannete funktsioone.

Lõpuks koosta programm, mis küsib kasutajalt korduvalt failinime ja kuvab loodud funktsiooni abil vastuseks ekraanile vastava faili suuruse. Tsükli lõpetamiseks peab kasutaja sisestama tühisõne.

5. Kolmnurga pindala

Kel jäi õpiku 4. peatüki lõpust lahendamata ülesanne 5 (https://progeopik.cs.ut.ee/04_funktsioonid.html#kolmnurga-pindala), võiks seda nüüd proovida.

6. Torbikute kandmine

Selle ülesandega saab harjutada keerulise probleemi osadeks jaotamist.

Eeldame, et Pykkari maailma ristkülikukujulise vaba ala laius on n ruutu (n >= 2), kõrgus vähemalt 3 ruutu. Kirdenurgas asub vähemalt n liiklustorbikut (cone), need vaja paigutada lõunaseina äärde (igale ruudule 1 torbik). Võib eeldada, et Pykkar on alguses näoga ida suunas. Üks võimalik maailm, kus programm peaks töötama:

 #######
 # >  5#
 #     #
 #     #
 #     #
 #     #
 #     #
 #######

Pykkar liigub edasi käsuga step(), pöörab käsuga right(), kontrollib kas ees on sein käsuga is_wall() või kas ees on torbik käsuga is_cone(). Käsuga take() võtab tema ees oleva torbiku ja käsuga put() paneb ta selle jälle enda ette maha.

  • 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