3. praktikum (8 tundi) Võtame kõigepealt kokku seni nähtud-kuuldud mõisted. Jätkame valiku- ja tsüklilauseid sisaldavate programmidega. Ülesanne 1. Pauli pallivise Koolis oli spordipäev ja lapsed viskasid palli. Iga õpilase kohta on teada tema parim vise. Eraldi aga teame Pauli tulemust. Leia, mitmenda koha Paul saavutas. (Nt: Paul sai palliviskes 4 koha.) Ülesande täiendus oleks, kus tuuakse eraldi välja võimalik kohtade jagamine. (Nt: Paul jagas 2 kuni 4 kohta.) Ülesanne 2. Õnne-seitse Kui suur on lootus võita mõnes õnnemängus? Selleks võib välja arvutada tõenäosuseid, aga võib ka mängu käiku simuleerida. Mängija veeretab kahte täringut. Kui täringutel olevate silmade summa on 7, võidab mängija 4 eurot, vastasel juhul kaotab 1 euro. Mängu alguses küsi kasutajalt, kui palju ta raha mängu paneb ehk kui suur on panus. Seejärel veereta täringuid ja vastavalt suurenda või vähenda raha. Millal mäng lõppeb? Siis, kui raha on otsas (või lootsid Sa võita??). Täringuid aitab veeretada juhuslike arvude generaator. Lõpus teata, mitu korda täringuid veeretati ja kui suur oli vahepeal kõige suurem rahasumma. Joonistame selle kohta kõigepelt vooskeemi / plokkskeemi Lisasime järgmised täiustused: 1. Ei lase nulli mängida, vaid lõpetame siis, kui pool raha veel alles. 2. Küsime ka panusest suurema arvu - millise võidu korral mängija raha välja võtta soovib. Ülesanne 3. Röövlid - jätsime vahele, läks kodutööde valikusse Kolm röövlit röövisid pangast hunniku kullakange. Oli juba hiline aeg ja nagu vanarahvas väidab, olla hommik õhtust targem. Nii juhtuski, et saagi jagamine otsustati jätta hommikuks. Kuid röövlite vahel üleliia suurt usaldust ei olnud. Esimene röövel ootas ära, kui teised kaks olid uinunud. Ta jagas kangid kolme hunnikusse, sealjuures üks kang üle. Röövel mattis enda kolmandiku + 1 kangi puu alla, pani ülejäänud kullakangid kotti tagasi ja keeras ennast uuesti magama. Peagi ärkas teine röövel ja kordas kotis olevate kullakangidega sama toimingut. Ka temal jäi kolmeks jaotamisel üks kang üle, mille ta loomulikult endale võttis ja ülejäänud kotti tagasi pani. Hommikupoole ööd ärkas üles kolmas röövel, kes jagas omakorda järelejäänud kangid kolmeks, jälle jäi üks üle, mille ta samuti endale võttis. Kui siis päike tõusis, asusid kõik kolm koos saaki jagama, nagu poleks öösel midagi juhtunud. Ja vaata imet - jälle jäi üks üle. See ebavõrdsus muidugi ei mahtunud ühelegi röövlile hinge ja nii laskid nad üksteise maha. Küsimus: kui palju võis kullakange alguses olla, kui arvestada maksimaalseks arvuks 500? Stringid -------- Väike sissejuhatus ja paar ülesannet. Ülesanne 4. Isikukood Programmile on sisendiks on nimi ja Eesti Vabariigi kodaniku isikukood (edaspidi IK). Leia IK-st järgmised andmed ja trüki nad võimalikult viisakalt ekraanile: 1. Sugu 2. Sünnipäev 3. Vanus 4. Kontrolli, kas IK kontrollsumma on õige ehk leia kontrollnumber. Kursuse veebilehelt leiad isikukoodi selgituse ja kontrollnumbri arvutamise (kui see veel piisavalt tuttav pole). Vanuse leidmiseks on vaja tänast kuupäeva. Seda saab küsida moodulis time oleva funktsiooniga localtime(), näiteks nii: aeg = time.localtime() aeg[0] on aasta, aeg[1] on kuu ja aeg[2] on päev Täpse vanuse määramiseks harjuta if-lauset, mis arvestab sellega, kas sünnipäev on juba olnud või mitte. Kuidas lisada sünnikuu nimetusena ja kuidas mõistlikul viisil välja arvutada IK kontrollnumber, kasutades selleks tsüklit? Testid kontrollnumbrile: 1. kordajatega 39105174211 39401225223 60002010241 50002242212 2. kordajatega 39506063722 60004250270 3. lihtsalt 0 39410130010 60203270960 49601300260