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.