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
3 Keele põhikonstruktsioonid II
3.1 Kodutöö
3.2 Harjutused
3.3 Videolingid
  • 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
  • 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

Harjutusülesanded

1. Lühendaja

Kirjuta funktsioon lyhendaja, mille parameetriks on sõne inimese nimega kujul eesnimed perenimi. Funktsioon tagastab nime kujul perekonnanimi ja eesnimede esimesed tähed koos punktiga ja tühikuga. Kui eesnimes on sidekriips, säilib see ka eesnimelühendis ja punkt on sel juhul ainult teise eesnime tähe järel. Funktsiooni signatuur on string lyhendaja(string nimi).

Näited funktsiooni tööst

cout << lyhendaja("Mari-Anne Lill");
Lill M-A.

cout << lyhendaja("Otto Triin Kaido Maastik");
Maastik O. T. K.

2. Isikukood

Koosta funktsioonid sugu ja synnikuupaev, mille parameetriks on isiku isikukood sõnena ja mis tagastavad sõne. Funktsioon sugu tagastab isiku soo (M/N). Seda näitab isikukoodi esimene märk (kui isikukoodi esimeseks numbriks on 1, 3 või 5, siis tegu on mehega; kui 2, 4 või 6, siis tegu on naisega). Funktsioon synnikuupaev tagastab isiku sünnikuupäeva kujul PP.KK.AAAA. Seda näitavad isikukoodi märgid 2-7. Selleks, et teada saada sünniaasta kahte esimest numbrit, tuleb kasutada ka isikukoodi esimest sümbolit. Täpsem info on aadressil
https://et.wikipedia.org/wiki/Isikukood.

3. Tagurpidi

Koosta funktsioon tagurpidi, mille parameetriteks on massiivi elementide arv ja sõnemassiiv. Funktsioon pöörab ümber massiivi kõik sõned, nt kass -> ssak ja muudab massiivi elementide järjekorra vastupidiseks. Funktsiooni signatuur on void tagurpidi(size_t arv, string massiiv[]). Näide programmi tööst.

string massiiv[] = {"kaks", "kolm", "neli"};
tagurpidi(3, massiiv);

for (int i = 0; i < 3; ++i) {
    cout << massiiv[i] << '\n';
}
ilen
mlok
skak

4. Faili sümbolite sagedus

Kirjuta funktsioon sagedus, mis võtab argumendiks sõne, mis sisaldab avatava faili asukohta. Funktsioon peab avama faili ja iga rea kohta leidma kõige sagedasema sümboli. Võib eeldada, et failis on vähemalt üks rida. Lisaks peaks funktsioon kontrollima ka antud faili olemasolu ning selle puudumisel kasutajat teavitama ja funktsioonist väljuma. Kirjuta antud veateade veavoogu (cerr).

Vihje: Siin võib abiks olla andmestruktuur map.

NB! Kui täpitähed tekitavad ülesande lahendamisel probleeme, võib neid ignoreerida.

Näide funktsiooni tööst:

Faili sisend.txt sisu:

C++ is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup and first released in 1985 as an extension of the C programming language, or "C with Classes".
The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM, so it is available on many platforms.

Funktsiooni kasutav kood:

int main() {
    sagedus("sisend.txt");
    sagedus("ei_eksisteeri.txt");
    return 0;
}

Väljund:

e: 19
e: 18
a: 20
Faili ei_eksisteeri.txt ei leitud.
  • 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