Tingimuslaused, operaatorite järjekord
Tingimuslause (ingl Conditional Statement või if-statement) on programmeerimises meetod, millega lastakse programmil otsuseid langetada. See võimaldab programmil kontrollida, kas teatud tingimus on tõene (True) või väär (False), ja vastavalt sellele täita erinevaid koodiplokke.
Peamised terminid: Tingimus (Condition / Expression): Avaldis, mida kontrollitakse. Tulemuseks on alati tõeväärtus (Boolean value), kas True või False. Tõeväärtus (Boolean): Andmetüüp, mis saab omandada ainult kahte väärtust: tõene (True) või väär (False). C++ keeles esindab True väärtust 1 (või mis tahes mittemidagi 0), ja False väärtust 0. if: Võtmesõna, mis tähistab tingimuslause algust.
else if: Võtmesõna, mis lubab kontrollida teist tingimust, kui esimene oli väär.
else: Võtmesõna, mis tähistab koodiplokki, mida täidetakse siis, kui eelnev tingimus oli väär.
Analoogia: Mõtle tingimuslausele kui teevalikule: "Kui" (if) ilm on ilus, "siis" lähen randa. "Vastasel juhul" (else) lähen kinno.
|
| |
| Operaator | Nimetus (eesti/inglise) | Märk C++-s | Omadus (millal on tulemus TÕENE) | | JA | Logical AND | && (kaks ampersandi) | Tulemus on TÕENE AINULT siis, kui KÕIK kombineeritud tingimused on tõesed. | | VÕI | Logical OR | || | | | EITUS | Logical NOT | ! (hüüumärk) | Pöörab tingimuse tõeväärtuse vastupidiseks (Tõene saab Vääraks ja vastupidi). |
|
| |
Näiteks: JA (&&): Ma lähen randa, kui (temperatuur > 20) JA (vihma ei saja). (Mõlemad peavad olema tõesed). VÕI (||): Ma ostan šokolaadi, kui (mul on raha) VÕI (sõber pakub). (Piisab, kui üks neist on tõene).
C++ masinkoodi käitamine Kirjutamine: Programmeerija kirjutab koodi (Sketch) Arduino IDE-s C++ keeles. Kompileerimine: IDE teisendab C++ koodi (mis sisaldab tingimuslauseid) spetsiaalse programmiga (Kompilaator) masinkoodiks (ehk binaarseks koodiks), mis on mikrokontrolleri (nt Arduino Uno ATmega328P) poolt otse arusaadavad juhised (nullid ja ühed). Üleslaadimine: Masinkood laaditakse mikrokontrolleri Flash-mälusse. Käitamine (Run-time): Mikrokontrolleri protsessor loeb ja täidab koodi mälust järjestikku ja väga kiiresti. Kui protsessor jõuab tingimuslauseni, kontrollib ta tingimuse tõeväärtust ja täidab ainult vastava koodiploki.
Prioriteet (Töötluse järjekord) Erinevad operaatorid täidetakse C++ avaldistes erinevas järjekorras (prioriteediga). Matemaatilised/Aritmeetilised operaatorid (nt *, /, +, -) on reeglina kõige kõrgema prioriteediga. Võrdlusoperaatorid (nt <, >, ==, !=) on järgmised. Need teevad tehte ja annavad tulemuseks tõeväärtuse. Loogikaoperaatorite seas on JA (&&) kõrgema prioriteediga kui VÕI (||).
Järjekord (kõrgemalt madalamale, olulisemad tingimuslausete kontekstis): Sulgudes olevad avaldised (sulgudega saab prioriteeti muuta, nt (a + b) > c) Eitus (!) JA (&&) VÕI (||)
Näide: Avaldises Tingimus1 || Tingimus2 && Tingimus3 Programmi täidab kõigepealt Tingimus2 && Tingimus3 (kuna JA on kõrgema prioriteediga) ja seejärel kasutab selle tulemust koos Tingimus1-ga VÕI tehte jaoks.
Soovitus: Alati kasuta sulgusid ( ), et muuta kood paremini loetavaks ja tagada täpselt see töötluse järjekord, mida sa soovid, isegi kui prioriteedireegel annaks sama tulemuse. |
| |
Monteeri lihtsalt ja kiiresti
Riistvara montaa¾ on jaotatud etappideks ja toetatud õppevideodega. Vaata lähemalt.
Tarkvaratugi
Loe riistvaralist portide lugemist ja muutujate defineerimist toetava tarkvarateegi kohta