Arvutiteaduse instituut
Logi sisse
  • English
  • Kursused
  • 2020/21 sügis
  • Programmeerimine (LTAT.03.001)

Programmeerimine 2020/21 sügis

  • Pealeht
  • Silmaringimaterjalid
  • Viiteid

9. praktikumi harjutused

1. Sõnapikkuste analüüs

Kirjuta programm, mis küsib kasutajalt tekstifaili nime ja väljastab selles failis leiduvate eri pikkusega sõnade esinemissagedused. Näiteks:

 1-tähelisi sõnu esines 78 korral
 2-tähelisi sõnu esines 123 korral
 . . .
 15-tähelisi või pikemaid sõnu esines 6 korral

Vihje. Uuri õpiku 9. peatükist harjutust „Täringuvisete statistika”.

Lisa 1. Kõige lõpuks väljasta kõik erinevad 15-tähelised või pikemad sõnad.

Lisa 2. Lase programmil joonistada tulemuste tulpdiagramm.

2. Listi elementide järjestamine

Koduülesandes tuli kirjutada funktsioon, mille argumendiks on list ja mis ajab seal elemendid juhuslikult segamini.

Nüüd on ülesandeks kirjutada funktsioon minu_sort, mille argumendiks on suvalise pikkusega arvulist ning mis järjestab selle listi elemendid mittekahanevalt. Midagi tagastada ei ole vaja.

Vihje. Kõige lihtsam on kasutada jällegi elementide paarikaupa äravahetamist. Tõenäoliselt on vaja list mitu korda „läbi käia”.

Lisa 1. Muuda lahendust nii, et argumendiks antud list jääb muutmata ja funktsioon tagastab uue, järjestatud listi.

3. Oma split

Kirjuta funktsioon minu_split, mis toimib analoogselt Pythoni sõnemeetodiga split. Loodav funktsioon peaks võtma argumendiks kaks sõne (tekst ja eraldaja) ning tagastama sõnede järjendi. Näiteks

>>> minu_split('tere vana kere', ' ')
['tere', 'vana', 'kere']

Lisa. Proovi teha oma funktsiooni Pythoni split-iga veel sarnasemaks – korralda nii, et kui eraldajat pole antud, siis toimub jupitamine nende kohtade pealt, kus on koos 1 või rohkem tühisümbolit (tühik, tabulaator või reavahetus).

4. Kauplusejärjekord

Järjendisse on salvestatud kaupluse kassajärjekorras seisvate inimeste korvis olevate esemete arvud (küsida kasutajalt). Koosta programm, mis iga järjekorras oleva inimese puhul leiab, mitmel inimesel tema ees on korvis rohkem kui kolm eset.

5. Järjestikused naturaalarvud

Kirjuta funktsioon, mille argumendiks on naturaalarvude list ning mis tagastab True või False vastavalt sellele, kas etteantud list sisaldab n esimest naturaalarvu, kus n on listi pikkus. Näiteks

>>> on_järjestikused([2,4,1,3,0]) 

peaks tagastama True, aga

>>> on_järjestikused([2,4,1,3]) 

peaks tagastama False (sest 0 on puudu).

NB! Funktsioon peab töötama ka tühja listi puhul!

Jah, arvutiteaduses loetakse ka 0 naturaalarvuks.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
iktp regionaalarengu fondi logo euroopa sotsiaalfondi logo tiigrilikooli logo it akadeemia logo