Arvutiteaduse instituut
  1. Kursused
  2. 2024/25 kevad
  3. Programmeerimine keeles C++ (LTAT.03.025)
EN
Logi sisse

Programmeerimine keeles C++ 2024/25 kevad

  • Pealeht
  • 1. Muutujad ja andmetüübid
  • 2. Keele põhikonstruktsioonid I
  • 3. Keele põhikonstruktsioonid II
  • 4. Klass, struktuur, mallid
  • 5. Dünaamiline mäluhaldus I
  • 6. Dünaamiline mäluhaldus II
  • 7. Kontrolltöö 1

Seitsmendal nädalal toimub 1. kontrolltöö

1. kontrolltöö näidis on Moodles

  • 8. Dünaamiline mäluhaldus III
  • 9. STL andmestruktuurid I
  • 10. STL andmestruktuurid II
10 STL andmestruktuurid II
10.1 Kodutöö
10.2 Harjutused
10.3 Videolingid
  • 11. OOP I Klassid
  • 12. OOP II Pärilus ja polümorfism
  • 13. Erindite töötlemine
  • 14. Täiendavad teemad
  • 15. Kontrolltöö 2

Viieteistkümnendal nädalal toimub 2. kontrolltöö

2. kontrolltöö näidis on Moodles

  • 16. Projekti esitlus
  • Mõned viited - vajalikud kaaslased
  • Vanad materjalid
  • Juhendid
  • Viited

Koduülesanded

Ülesannete lahendused paiguta faili lugemine.h. Esita ainult see fail. Operaatorite ülelaadimised tee otse klassi sees.

1. Hulk objektidest

Kirjuta klass Hoia, kus on üks avalik isendiväli el, mis hoiab string tüüpi väärtust. Klassis on konstruktor, mille parameetriks on string tüüpi muutuja, ja väärtustab sellega isendivälja el. Koosta funktsioon loe_hoia järgmise signatuuriga

std::set<Hoia>& loe_hoia(std::string failinimi, std::set<Hoia>& st); 

Funktsioon loeb failist sisse sõned ja teeb iga sõne korral Hoia objekti ja lisab selle funktsiooni parameetris näidatud hulka.

Näide 1. Kui andmefailis andmed.txt on read

1 2 4 5 2
3 4 5

siis programmilõigu töö tulemuseks on

set<Hoia> s1{};
s1 = loe_hoia("andmed.txt", s1);
for (auto el : s1) {
    cout << el << ' ';
}
1 2 3 4 5 

Näide 2. Kui andmefailis andmed1.txt on read

üks kaks kolm kaks
neli üks kaks

siis programmilõigu töö tulemuseks on

set<Hoia> s1{};
s1 = loe_hoia("andmed1.txt", s1);
for (auto el : s1) {
    cout << el << ' ';
}
kaks kolm neli üks  

Vihje. Klassis Hoia tuleb üle defineerida operator<, et Hoia objektid oleksid võrreldavad. See välistab sama sisuga objektide lisamise hulka.

2. Sõnade sagedus

Koosta mallifunktsioon sõnade sagedustabeli leidmiseks. Funktsiooni parameetriteks on faili nimi ja viide (reference) mallitüüpidega sõnastikule. Funktsiooni signatuur on järgmine:

template<typename T1, typename T2>
std::map<T1, T2>& loe_failist(std::string failinimi, std::map<T1, T2>& m );

Funktsioon peab lugema failist reakaupa teksti, eraldama sõnadeks, teisendama väikesteks tähtedeks ja eemaldama kirjavahemärgid. Näiteks, faili sisu

Lumehelbeke tasa, tasa, hõljub aknale, tasa, tasa! Mis hõljub tasa?

korral on sõnastiku sisu peale funktsiooni tööd järgmine:

aknale : 1
hõljub : 2
lumehelbeke : 1
mis : 1
tasa : 5
  • 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