Dacă plouă, iei umbrela — altfel, poți lăsa acasă. Exact asta face calculatorul când întâlnește o structură decizională: verifică o condiție și alege ce instrucțiuni execută.
Înainte să ajungi la decizii, înveți structura secvențială — instrucțiunile se execută una după alta, în ordine, fără nicio ramificare, ca pașii unui rețetar.
Împreună, cele două structuri sunt piatra de temelie a oricărui program: mai întâi în Scratch (cu blocuri vizuale), apoi în C++ (cu cod text).
Un program este o listă de instrucțiuni pe care calculatorul le urmează. Dacă le urmează pur și simplu de sus în jos, avem o structură secvențială (liniară). Fiecare pas se execută o singură dată, în ordinea în care l-ai scris.
Când vrei ca programul să aleagă ce face, folosești o structură alternativă (decizională). Verifici o condiție: dacă e adevărată (DA), execuți un bloc de instrucțiuni; dacă e falsă (NU), execuți alt bloc sau nu faci nimic.
if / else.
În Scratch, blocul „dacă <> atunci" este hexagonal portocaliu (categoria Control). Condiția e un bloc hexagonal albastru-deschis din Sensing — de exemplu „tasta spațiu apăsată?" sau „atingi pointer mouse?". În C++, aceeași logică se scrie cu if (condiție) { ... } else { ... }.
Se pot înlănțui mai multe condiții cu else if: de exemplu, o notă de 9-10 = „Excelent", 7-8 = „Bine", 5-6 = „Suficient", 1-4 = „Insuficient".
if/else — fără să știi asta, nu poți începe.
1. Într-un program C++, ce afișează codul următor dacă introduci numărul 16?
if (varsta >= 18) { cout << "major"; } else { cout << "minor"; }
16 >= 18 este falsă, deci se execută ramura else. (Lecția „Structura alternativă în C++" — atomul „Exemplu: Verificare vârstă".)
2. În Scratch, în ce categorie (culoare) găsești blocul „dacă <> atunci"?
3. Care este diferența dintre structura secvențială și cea alternativă?