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

Computer Programming 2018/19 fall

  • Esileht
  • Kursuse korraldus
  • Õpik
  • Projekt
  • Lisaülesanded
  • KKK
  • Viited
  • Silmaringimaterjalid

7. praktikumi tööleht

Ülesanne 0:

Täida Moodles küsitlus “Tagasiside pärast kontrolltööd”, kui Sa seda juba teinud ei ole. Küsitlus asub 6. nädala materjalide all.

Ülesanne 1 Isikukoodide info ekstraktor

1. Paariline:

Võta aluseks oma viimase kodutöö kolmas ülesanne, “Sünnipäev isikukoodist”, ning täienda funktsiooni selliselt, et funktsioon väljastaks:

  • sünnikuupäeva
  • sugu (vt. https://et.wikipedia.org/wiki/Isikukood#Sugu)
  • sünnihaigla (vt. https://et.wikipedia.org/wiki/Isikukood#Haigla_tunnus)

Väljasta info mugavalt loetaval kujul (vt. näidet) ja nimeta funktsioon ümber nii, et see kirjeldaks, mida funktsioon saavutab.
Märkus: Alates 2013 a. enam haiglat ei märgita. Sel juhul võib haigla väljastamata jätta.

  >>> info_isikukoodist(“39911295661“)
  Lugesin isikukoodist 39911290186 välja järgmised andmed:
  Sugu:         Mees
  Sünnikuupäev: 29. november 1999
  Sünnihaigla:  Rakvere või Tapa haigla

2. Paariline:

Kirjuta uus funktsioon, mis võtab parameetriks isikukoodi sõnena ning väljastab tõeväärtuse True, kui isikukood on korrektne, või False, kui isikukood pole korrektne. Kontrollimisel võta aluseks kontrollnumbri kontrollimise algoritm, mis on kirjeldatud Vikipeedias: http://et.wikipedia.org/wiki/Isikukood#Kontrollnumber. Lisaks kontrollnumbrile võib lisada ka oma soovi järgi erinevaid kontrolle.

  >>> on_korrektne_isikukood(“39911295661“)
  True
  >>> on_korrektne_isikukood(“39911295668“)
  False

Grand finale:

Selgitage teineteisele oma koodi ning looge ühine funktsioon, mis võtab parameetriks isikukoodide massiivi ja väljastab kõikide korrektsete isikukoodide info. Mittekorrektse isikukoodi puhul tuleb sellest teada anda. Kasutage eelnevalt loodud funktsioone!

Ülesanne 2 Sõnade pakkumine

Kirjuta programm, mis küsib kasutajalt sõna algust ning väljastab kõik võimalikud sõnad, mis selle algusega moodustada saaks.
Sõnade faili saab lingilt: http://kodu.ut.ee/~talikert/sonad.txt (kodeering UTF-8)

  >>> %Run sõnade_pakkumine.py
  Sisesta sõnaalgus: progra
  programm
  programmdokument
  programmeerija
  programmeerima
  programmeerimine
  programmeerimiskeel
  ...

Ülesanne 3 Oma split-meetod

Kirjuta funktsioon nimega oma_split, mis võtab argumendiks sõne ja jagab selle sõne osadeks, võttes poolituskohaks tühiku. Funktsioon peaks tagastama kõik sõne osad järjendina.
NB! Ära kasuta oma funktsioonis meetodit split()

  >>> oma_split(“Tere maailm!“)
  [“Tere“, “maailm!“)

  >>> oma_split(“Programmeerimine“)
  [“Programmeerimine“]

Kui jõudsid kõik ülesanded tehtud, vaata praktikumiülesandeid 6, 4 ja 3 (https://courses.cs.ut.ee/2018/programmeerimine/Main/Praks7)

  • 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