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

Computer Programming 2022/23 fall

  • Üldinfo
  • 1. Muutuja ja avaldis
  • 2. Tingimuslause
  • 3. Funktsioon
  • 4. Korduslause
  • 5. Lihtsam failitöötlus. Sõned
5.1 Sõned ja lihtsam failitöötlus
5.2 Kodutöö
5.3 Harjutused
5.4 Silmaring: kodeerimine ja krüpteerimine
  • 6. Kontrolltöö 1
  • 7. Järjend
  • 8. Järjend 2
  • 9. Kahekordne tsükkel. Failitöötlus
  • 10. Andmestruktuurid
  • 11. Andmestruktuurid 2
  • 12. Kontrolltöö 2
  • 13. Rekursioon
  • 14. Objektorienteeritud programmeerimine
  • 15. Objektorienteeritud programmeerimine 2
  • Viiteid
  • 15. Objektorienteeritud programmeerimine 2

https://www.uttv.ee/naita?id=33896

  • 16. Kordamine. Projektide esitlused
  • Silmaringimaterjalid
  • Materjalid

5. kodutöö

1. Suured väikeseks ja väikesed suureks

Kirjuta funktsioon suurväike, mis võtab argumendiks mingi sõne ning tagastab sõne järgmisel kujul:

  • suured tähed on muudetud väikeseks;
  • väikesed tähed on muudetud suureks;
  • kõik kirjavahemärkide sümbolid on asendatud mingi ühe ja sama juhusliku kirjavahemärgisümboliga.

Näide:

>>> suurväike("MinA oleN Tubli!!")
'mINa OLEn tUBLI##'

>>> suurväike("Aias sadas saia, Leiba ja Peedi-Porgandi pehmikut.")
'aIAS SADAS SAIA& lEIBA JA pEEDI&pORGANDI PEHMIKUT&'

Vihje:

>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

Automaatkontroll. Funktsiooni nimi peab olema suurväike ja sellel funktsioonil peab olema täpselt üks argument, mis on sõne. Funktsioon peab tagastama sõne, kus kõik antud sõne suured tähed on asendatud väikestega, väikesed tähed suurtega ja kõik kirjavahemärkide sümbolid asendatud teatud ühe juhuslikult valitud kirjavahemärgisümboliga.

2. Suured väikeseks ja väikesed suureks failist lugemisega

Oletame, et meil on eelnev tekst tekstifailis.

Näide faili tekst.txt võimalikust sisust:

MinA oleN Tubli!!
Aias sadas saia, Leiba ja Peedi-Porgandi pehmikut.

Kirjuta programm, mis

  1. küsib kasutajalt faili nime;
  2. loeb failist teksti;
  3. teeb tekstis asendused, kasutades eelmises ülesandes loodud funktsiooni suurväike;
  4. väljastab muudetud teksti ekraanile.

Näide programmi tööst

>>> %Run lahendus.py
Sisesta faili nimi: tekst.txt
mINa OLEn tUBLI##
aIAS SADAS SAIA& lEIBA JA pEEDI&pORGANDI PEHMIKUT&

3. Peidetud tekst ylisalajane:9,0,11,15,14,23,18,15,12,12,23,29,29,0,15,14,0,11,15,8,5,0,23,24,12,5,13,1,19:ylisalajane

Antud kodutöö veebilehele (https://courses.cs.ut.ee/2022/programmeerimine/fall/Main/Kodu5) on peidetud informatsiooni, mida veebileht ei kuva, kuid mille võib leida html failist.

Kirjuta funktsioon loe_saladus, mis leiab veebilehte lugedes peidetud saladuse ja tagastab selle. Funktsioon võtab argumendiks veebilehe aadressi (URL) ning peidetud saladuse algus- ja lõputunnuse. Antud veebilehele peidetud informatsioon jääb märgiste “ylisalajane:” ja “:ylisalajane” vahele.

Näide:

>>> loe_saladus("https://courses.cs.ut.ee/2022/programmeerimine/Main/Kodu5",
                "ylisalajane:", ":ylisalajane")
'0,1,2,3,4,5,6,7,8,9,10'

s4ladus:42:s4ladus

Vihje: Veebist lugemise näiteid leiad selle nädala viimases loenguvideos.

Vihje 2: tekst.find(“otsitavsõne”) tagastab otsitava sõne algusindeksi.

Mittekohustuslik lisaülesanne. Nagu näed, on peidetud saladus krüpteeritud ja koosneb komadega eraldatud numbritest. Püüa saladus dekrüpteerida. Tekst on krüpteeritud järgnevalt: iga arv näitab otsitava tähe järjekorranumbrit tähestikus, kusjuures 0 tähistab tühikut ning iga järgnev täht on eelnevast eraldatud komaga. Näiteks: 0 = “ “, 1 = “A”, 2 = “B” jne. Tähestiku saad ülesande lahendamiseks kopeerida siit: “ ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY”

Automaatkontroll. Funktsiooni nimi peab olema loe_saladus ja sellel funktsioonil peab olema täpselt kolm argumenti: veebilehe aadress, otsitav algusmärgis ja otsitav lõpumärgis. Kõik argumendid on sõned. Funktsioon peab tagastama veebilehel märgiste vahel peituva saladuse. Kui saladust veebilehel ei peitu, peab funktsioon tagastama tühisõne.

Esita programmid

Esita ülesannete lahendused Moodle'i kaudu failidena kodu1.py, kodu2.py ja kodu3.py.

Nõuanne

Pööra tähelepanu koodi selgusele. Programm on mõeldud inimesele lugemiseks ja ainult muuseas arvutile täitmiseks.

Vestlusagent

Kui vajad ülesannete lahendamisel abi, siis võid proovida TÜ keeletehnoloogia õppetoolis loodavat uut eksperimentaalset vestlusagenti, kes püüab sind programmeerimise teemadel aidata. Katseta julgelt! Esialgu on tema tarkus küll piiratud, aga aja jooksul ta loodetavasti areneb ning tema haare laieneb. Kui vestlusagent küsimusele vastata ei oska, küsi julgelt Zulipis. :)

  • 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