Arvutiteaduse instituut
  1. Kursused
  2. 2022/23 kevad
  3. Programmeerimise alused (MTAT.03.236)
EN
Logi sisse

Programmeerimise alused 2022/23 kevad

  • Pealeht
  • 1. Sissejuhatus
  • 2. Tingimuslause
  • 3. Tsükkel
  • 4. Järjend
  • 5. Funktsioon
  • 6. Andmevahetus. Lihtne kasutajaliides
  • Loengud
  • Moodle
  • Lahendus
  • Thonny paigaldamine
  • Thonny logide esitamine
  • Silumine
  • Kiireksamist
  • Viited

3. Silmaring. Tõeväärtused

TÕEVÄÄRTUSTABELID

Eespool vaatlesime salatinäidet.

kartul_olemas = True
makaron_olemas = False
salatikaste_olemas = True
print((kartul_olemas or makaron_olemas) and salatikaste_olemas)

Soovitati ka proovida programmi tööd muutujate kartul_olemas, makaron_olemas ja salatikaste_olemas erinevatel väärtustel. Kerkib küsimus, mitu erinevat varianti üldse on? Igaüks kolmest muutujast võib omada kahte erinevat väärtust. Kui olekski ainult üks muutuja, oleks võimalusi kaks:

  • True
  • False

Kui oleks ainult kaks muutujat, siis võimalusi oleks neli:

  • True, True
  • True, False
  • False, True
  • False, False

Kui on kolm muutujat, siis on võimalusi kaheksa:

  • True, True, True
  • True, True, False
  • True, False, True
  • True, False, False
  • False, True, True
  • False, True, False
  • False, False, True
  • False, False, False

Ülesanne

Meie näites on salati jaoks vaja kartulit või makaroni. Sõnal "või" on tavakeeles mõnevõrra teistsugune tähendus, kui programmeerimisel (või ka matemaatilises loogikas). Tavakeeles on "või" sageli välistav - kas see või teine (aga mitte mõlemad). Loogikas ja programmeerimisel on aga tehe or tõene ka siis, kui mõlemad operandid on tõesed. Seda saab kujutada ka tõeväärtustabelina. Loogikas tähistatakse or-tehet sageli märgiga V. Tõene ja väär on tähistatud vastavalt t ja v.

Toome ka tõeväärtustabeli and-tehte jaoks, mida sageli tähistatakse märgiga &.

Meie salatinäites on tõeväärtustabel arvutatud kahes järgus kõigepealt A v B, mis siis meil tähendab kartul_olemas or makaron_olemas ja pärast siis kogu avaldis (kartul_olemas or makaron_olemas) and salatikaste_olemas.

LOOGILISTE AVALDISTE SAMAVÄÄRSUS

Salatinäite puhul võime läheneda ka natuke teistmoodi. Kartulisalati jaoks oleks meil vaja kartulit ja salatikastet. Makaronisalati jaoks oleks vaja makarone ja salatikastet. Kokkuvõttes aga piisab, kui vähemalt ühe jaoks neist on materjal olemas. Vastav loogiline avaldis on siis järgmine.

(kartul_olemas and salatikaste_olemas) or (makaron_olemas and salatikaste_olemas)  

Tegelikult ongi see samaväärne avaldisega, mis meil enne oli.

(kartul_olemas or makaron_olemas) and salatikaste_olemas  

Loogiliste tehete puhul kehtivad mitmed seadused (analoogiliselt algebrale). Näiteks

  • avaldis a and b on samaväärne avaldisega b and a;
  • avaldis a or b on samaväärne avaldisega b or a;
  • avaldis (a or b) and c on samaväärne avaldisega (a and c) or (b and c);

Loogilistes tehetes orienteeruda on programmeerijale väga oluline ja nii on seda arendavad õppeained ka ülikoolide õppekavades.

Mitmetes ainetes Tartu Ülikooli kasutatakse veebipõhist tõeväärtustabeli ülesannete lahendamise keskkonda. Kes huvi tunneb, võiks seal proovida mõned tõeväärtustabelid arvutada. Kasutajanime ja ja parooli saate Moodle'is vastavast foorumist.

Selles keskkonnas on tehtud ka ülaltood tõeväärtustabelid, mis ühtlasi on ülesannete kogu Prog.alused esimeste ülesannete lahendused.


  • 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