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

Computer Programming 2020/21 fall

  • Pealeht
  • Silmaringimaterjalid
  • Viiteid

8. praktikumi harjutused

1. Absoluutväärtuste list

Kirjuta funktsioon abs_list, mis võtab argumendiks arvulisti ning tagastab esialgsete arvude absoluutväärtuste listi.

2. Lihtne krüptimine

Mõtle välja mingi lihtne krüptimisskeem, mis seab igale sümbolile vastavusse mingi muu sümboli. Lihtsuse mõttes võime eeldada, et tegutseme ainult ladina suurtähtede ja tühikuga.

Üks võimalus on seada igale sümbolile vastavusse tähestikus temast n positsiooni edasi olev täht (tähestiku lõpust tuleb siis tulla ringiga tagasi algusesse). Vaata ka https://et.wikipedia.org/wiki/Caesari_nihe.

Kirjuta funktsioon krüpti_sõne, mis võtab argumendiks mingi teksti (kus esinevad ainult lubatud sümbolid) ja tagastab krüptitud teksti.

Vihjed:

 >>> import string
 >>> string.ascii_uppercase
 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

3. Erinevad sõnad

Kirjuta funktsioon, mis võtab argumendiks sõne ja tagastab järjendi, mille elementideks on selles sõnes leiduvad erinevad sõnad (ilma seejuures suur- ja väiketähtedel vahet tegemata). Nt kui argument on "tere Tere tore", siis tuleks tagastada ["tere", "tore"]. Eeldame, et kõik sõnad on üksteisest eraldatud vähemalt ühe tühiku või reavahetusega.

Vihje kirjavahemärkide eemaldamise ning suur- ja väiketähtede kohta:

 >>> 'Edasi!'.strip('.!?,').lower()
 'edasi'

Lisa 1: kasuta loodud funktsiooni programmis, mis küsib kasutajalt failinime ja tagastab selles failis esinevate erinevate sõnade loetelu.

Lisa 2 (raskem): muuda programmi/funktsiooni nii, et iga sõna kohta väljastatakse/tagastatakse ka sõna esinemiste arv. (Vihje: seda saab lahendada nt kahe abilistiga).

4. Järjestuse kontroll

Kirjuta funktsioon on_järjestatud, mis võtab argumendiks järjendi ja tagastab True või False vastavalt sellele, kas järjendi elemendid on mittekahanevalt järjestatud või mitte.

5. Sõnastik koos autokorrektoriga

Kirjuta programm, mis küsib kasutajalt ingliskeelseid sõnu ja tagastab nende eestikeelse vaste. Aluseks võtta fail sonastik.txt (UTF-8). Kui kasutaja sisestab sõna, mida sõnastikus pole, siis tuleks otsida ja välja pakkuda mõni sarnane, sõnastikus olemasolev ingliskeelne sõna. Sarnasteks loeme järgmisi sõnepaare:

  • üks täht on erinev, nt. lammas ja lamnas;
  • ühes sõnas on üks täht vahelt või otstest puudu, nt lammas ja lmmas;
  • ühes sõnas on teisega võrreldes kaks kõrvutiolevat tähte vastupidises järjekorras, nt lammas ja lammsa.

Võid ka ise mõelda välja lisareegleid sarnasuse määramiseks.

Kui kasutaja nõustub uue sõnaga, siis näidata selle tõlget.

Vihje: asendussõna otsimisel tuleks esmalt otsingupiirkonda mingi lihtsa kriteeriumi põhjal kitsendada.

  • 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