Arvutiteaduse instituut
  1. Esileht
  2. Teeme ise arvutimänge
EN
Logi sisse

Teeme ise arvutimänge

  • Esileht
  • I RAAMAT
  • II RAAMAT
    • Otsustamine
    • Tõeväärtused
    • Tingimuse kontroll
      • Mitme tingimuse kontroll 1
      • Mitme tingimuse kontroll 2
    • Tsükkel
      • FOR tsükkel
      • RANGE()
      • Tsüklimuutujad
      • Tsükkel sõnedega
      • AJAMÕÕTJA!
      • WHILE tsükkel
      • Lõpmatu tsükkel
      • Jäta tsükkel pooleli
    • Kommentaarid
    • Kuidas kavandada mängu?
    • Mida õppisid?
  • III RAAMAT
  • IV RAAMAT
  • V RAAMAT
  • VI RAAMAT

Tingimuste kontroll

Mitme tingimuse kontroll 1

Tingimuse kontrolli saab teha palju, palju huvitavamaks. Sageli ei taha ma kontrollida ainult ühte asja vaid mitut. Lisaks tahan ma, et arvuti vastavalt erinevatele tingimustele ka erinevalt käituks. Sellist asja saab teha IF-ELIF-ELSE kontruktsiooniga.

IF-ELIF-ELSE konstruktsioon

Selle konstruktsiooni selgitamiseks võtan appi ühe võimaliku jupi seiklusmängust. Mängud koosnevad pea alati paljudest erinevatest alamprogrammidest, mis teevad erinevaid asju. Üheks selliseks alamprogrammiks võib olla justnimelt mingi otsustuse kontroll. Vaatame seda lähemalt:
  • Kõigepealt antakse mängijale teada, et ta on teelahkmel ja oma edasise tee valimiseks tuleb tal vajutada p, o või v tähte. Mängija valik salvestatakse muutujasse otsus. Samuti on kasutusel veel üks muutuja skoor, mis on võrdsustatud alguses nulliga. Seejärel hakkab toimuma otsustuse analüüs ehk kontroll.
  • Kui otus on võrdne p-ga, täidetakse esimese if-lause plokk (plokk oli siis if-lause ja kooloni järel tulev TAANDATUD käskude loetelu)

    Ole siin tähelepanelik, muutujate võrdlemisel peavad muutujad olema sama tüüpi. Kuna otsus on väärtustatud input() käsuga, siis on ta sõne tüüpi ja selle muutuja võrdlemiseks peab samuti kasutama sõnet ehk tähele "p" peab kindlasti jutumärgid ümber panema.
  • Kui esimene tingimus aga täidetud ei ole, siis minnakse kohe järgmise võtmesõna ELIF juurde ja kontrollitakse sealset tingimust. Kui ka see ei osutu tõeks, võetakse järgmine. Selliseid ELIF-e võid sa kirjutada üksteise alla nii palju kui soovid, kuid sageli osutub liiga paljude ELIF-de kasutamine mitteökonoomseks koodi kirjutamiseks. Kuidas selliseid olukordi vältida, sellest räägime aga mõnes järgmises peatükis.
  • Eriline on viimane kontroll! Kui kõik eelmised tingimused on kontrollitud ja ükski ei vastanud tõele, siis on mõistlik lisada ELSE osa, mille järel ei tule ühtegi tingimuse kontrolli. See on kõikide muude juhtude jaoks (näiteks juhu jaoks, kus mängija on kirjutanud vale tähe vms.)
  • Ning kõige viimaks täidetakse antud programmis skoori välja printimise rida, mis ei sõltu enam ühestki eelmisest if- või elif-lausest
  • 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