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

Programmeerimine keeles C++ 2023/24 kevad

  • Pealeht
  • 1. Muutujad ja andmetüübid
  • 2. Keele põhikonstruktsioonid I
2 Keele põhikonstruktsioonid I
2.1 Kodutöö
2.2 Harjutused
2.3 Videolingid
  • 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
  • 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öö

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

Kodused ülesanded

1. Kolmnurk

Kirjuta programmilõik (funktsioon kolmnurk), mis küsib kasutajalt kolmnurga kõrguse ja kuvab ekraanile tärnidega täidetud võrdhaarse kolmnurga. Näiteks n = 5 korral saame järgmise kujundi

  

2. Naelad ja kilod

Kirjuta programmilõik (funktsioon tabel), mis kuvab ekraanile naela ja kilogrammi võrdlustabeli. Programm küsib kasutajalt alguse, sammu ja lõpu. Näiteks, algusega 2.2, sammuga 0.4 ja lõpuga 4.0 kuvatakse järgmine tabel.

 

Vihje. Uuri moodulit <iomanip>

3. Krediitkaardi numbri valideerimine (Luhni algoritm)

Kirjuta programm (funktsioon krediitkaart), mis küsib kasutajalt krediitkaardi numbri ning väljastab käsureale, kas see on "korrektne" või "vale". Aluseks võta Luhni algoritm: https://en.wikipedia.org/wiki/Luhn_algorithm.

Enda programmi testimiseks saad kasutada järgnevat veebilehte: https://www.dcode.fr/luhn-algorithm.

4. Blackjack ehk 21

Kirjuta lihtne mängu blackjack simulatsioon (funktsioon blackjack). Pärast igat arvuti valitud kaarti kuvatakse ekraanile kaardi väärtus (2 kuni 11) ja hetkeseis ning küsitakse kasutajalt, kas ta soovib veel kaarti. Programmi töö lõpeb, kui juhtub üks kolmest olukorrast:

  • kasutaja saab võidu, st kaartide summa on 21
  • kasutaja kaotab, st kaartide summa on üle 21
  • kasutaja ei soovi enam kaarti.

Esimese kaardi annab arvuti ilma küsimata.

Vihje. Kasutada moodulit <random>. Et saada iga kord erinevaid juhuarve, võib kasutada seemnena süsteemikellast saadud arvu unsigned seeme = chrono::system_clock::now().time_since_epoch().count() (moodulis <chrono>)

NB! Proovi ka arvestada reaalse olukorraga, kus kaardipakis on neli sama väärtusega kaarti, st rohkem kui neli sama numbriga kaarti ei saa arvuti pakkuda.

Näiteid programmi tööst:

 
 

Ülesannete lahendused paigutada malli (kodu2.zip) (saadaval ka Moodle'is kodutöö esitamise all) ja fail kodu2.cpp laadida Moodlesse. Ülesanded 2 ja 4 kontrollitakse käsitsi.

  • 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