Structura alternativă
Ideile de bază pe scurt și, unde există, exercițiile din subiectele de BAC care le verifică. Lecția completă, animată, cu grile și exerciții corectate, e în aplicația Tomomi.
Pe scurt
Sintaxă: dacă…atunci…altfel
Structura de decizie cu două ramuri, în pseudocod și C++:
dacă condiție atunci
...
altfel
...
■if (conditie) {
...
} else {
...
}Capcana: = față de ==
În C++, = atribuie, == compară: if (x = 5) nu este eroare de sintaxă, dar îi schimbă valoarea lui x în loc să o testeze. În pseudocod distincția este ← (atribuire) față de = (comparație).
Sintaxă: ramuri în lanț
Lanțul de decizii, în pseudocod (decizie cuibărită pe altfel) și C++ (else if):
dacă c1 atunci
...
altfel
dacă c2 atunci
...
altfel
...
■
■if (c1) {
...
} else if (c2) {
...
} else {
...
}Șablon: semnul unui număr
Trei cazuri, trei ramuri: întâi negativ, apoi zero, la final pozitiv.
dacă n < 0 atunci
scrie "negativ"
altfel
dacă n = 0 atunci
scrie "zero"
altfel
scrie "pozitiv"
■
■Sintaxă: operatorii logici
și (C++: &&), sau (||), nu (!) leagă condiții simple într-una compusă. Exemplul complet - testul an bisect:
(an mod 4 = 0 și an mod 100 ≠ 0) sau an mod 400 = 0(an % 4 == 0 && an % 100 != 0) || an % 400 == 0Capcana: anii de secol
1900 nu a fost bisect, dar 2000 a fost. Regula completă: anul este bisect dacă se divide cu 4, iar anii de secol (care se divid cu 100) doar dacă se divid și cu 400. O condiție doar cu mod 4 pică exact această capcană.