Biblioteca
Tutora
BibliotecaInformatică și TIC › clasa a VI-a

Structuri de control – secvențială și alternativă

Elevii învață să descrie și să implementeze algoritmi cu structuri liniare și de decizie.

Evaluarea Națională

Structura secvențială (liniară)

Structura secvențială este cea mai simplă structură de control: instrucțiunile se execută una după alta, în ordinea scrierii, fiecare exact o dată, fără sărituri și fără repetări. Este drumul drept al unui algoritm: citire → calcul → afișare.

Exemplu în pseudocod — media a două note:

Trei instrucțiuni, executate în ordine, fiecare o singură dată. În schema logică, structura secvențială arată ca o coloană de blocuri legate prin săgeți, de sus în jos, fără niciun romb.

De ce contează ordinea? Pentru că schimbarea ei strică rezultatul: dacă am scrie m înainte de a-l calcula, am afișa o valoare neinițializată; dacă am calcula media înainte de citirea notelor, am folosi valori care nu există încă. Întrebările de test dau adesea aceleași instrucțiuni amestecate și cer ordinea corectă — criteriul este mereu același: o variabilă trebuie să primească valoare înainte de a fi folosită.

Atenție și la paranteze în expresii: media este (n1 + n2) / 2, cu paranteze. Scrierea n1 + n2 / 2 calculează întâi împărțirea (regula ordinii operațiilor!) și dă alt rezultat — capcană aritmetică frecventă în subiecte.

Structura alternativă simplă: dacă – atunci – altfel

Structura alternativă (de decizie) permite algoritmului să aleagă între două drumuri, în funcție de o condiție — o propoziție care poate fi doar adevărată sau falsă. În pseudocod:

Execuția: se evaluează condiția; dacă e adevărată, se execută doar ramura atunci; dacă e falsă, doar ramura altfel. Niciodată ambele — acesta este punctul verificat obsesiv la teste.

Exemplu — cel mai mare dintre două numere:

Ramura altfel este opțională: forma „dacă–atunci” simplă face ceva doar când condiția e adevărată, iar când e falsă nu face nimic și merge mai departe (de exemplu: dacă nota < 5 atunci scrie „corigent”).

În schema logică, decizia se desenează în romb, din care ies două săgeți etichetate da și nu; cele două ramuri se reunesc apoi într-un singur drum.

Condițiile folosesc operatorii de comparare: < (mai mic), > (mai mare), <= (mai mic sau egal), >= (mai mare sau egal), = (egal) și (diferit). Capcană de citire: „a >= 10” este adevărată și pentru a = 10 — elevii pierd puncte tratând „mai mare sau egal” ca pe un simplu „mai mare”.

Condiții compuse: ȘI, SAU, NU

Deseori decizia depinde de mai multe condiții simultan. Condițiile simple se leagă cu operatorii logici:

Greșeala cu cele mai multe victime: negarea condițiilor. Negația lui „x > 5” este „x <= 5”, NU „x < 5” — cazul de egalitate trebuie să ajungă exact pe una dintre ramuri. La fel, contrariul lui „a = b” este „a ≠ b”.

A doua capcană clasică: intervalele. „x este între 3 și 7” se scrie x >= 3 ȘI x <= 7 — cu ȘI, pentru că ambele margini trebuie respectate simultan. Scrierea cu SAU (x >= 3 SAU x <= 7) este adevărată pentru orice număr, deci condiția nu mai filtrează nimic. Regulă practică: interval = ȘI; „în afara intervalului” = SAU.

Exemplu integrat: un elev promovează dacă „media >= 5 ȘI nota_purtare >= 6”. Cu media 9 dar purtare 4, condiția ȘI este falsă — nu promovează, oricât de tentant ar părea SAU-ul.

Structura alternativă multiplă și decizii imbricate

Când alegerea se face din mai mult de două variante, folosim structura alternativă multiplă sau decizii imbricate (un dacă în interiorul altui dacă).

Exemplul standard — semnul unui număr (trei variante: negativ, zero, pozitiv):

Execuția testează condițiile în ordine: prima condiție adevărată își execută ramura, iar restul se ignoră. Dacă x = -3, se afișează „negativ” și algoritmul nu mai verifică nimic altceva.

Alt exemplu frecvent: calificativele. Dacă media >= 9 → „foarte bine”; altfel dacă media >= 7 → „bine”; altfel dacă media >= 5 → „suficient”; altfel → „insuficient”. Observă subtilitatea care se punctează: pe ramura „bine” nu mai e nevoie de condiția „media < 9”, pentru că acolo se ajunge doar dacă prima condiție a fost falsă — altfel-ul o garantează deja.

La deciziile imbricate, fiecare altfel se leagă de cel mai apropiat dacă fără altfel — la urmărirea execuției pe hârtie, alinierea (indentarea) rândurilor arată împerecherea corectă.

Greșeala tipică în construcțiile în trepte: ordinea condițiilor. Dacă începi cu „media >= 5 → suficient”, un elev cu media 10 primește tot „suficient”, pentru că prima condiție adevărată câștigă. La praguri, condițiile se așază de la cel mai restrictiv la cel mai puțin restrictiv (sau invers, coborând), niciodată amestecat.

Urmărirea execuției și aplicații rezolvate

La evaluare, cel mai des se dă un algoritm cu decizii și se cere ce afișează pentru anumite date de intrare. Metoda sigură: tabelul de urmărire — execuți pas cu pas și notezi valoarea fiecărei variabile și valoarea de adevăr a fiecărei condiții.

Exemplu rezolvat:

Urmărire: a = 4, b = 9. Prima decizie: 4 > 9 este fals, deci m ← b, adică m = 9. A doua decizie: m ≠ a înseamnă 9 ≠ 4, adevărat, deci se afișează „al doilea”.

Alte aplicații care trebuie stăpânite la această clasă:

Sfaturi verificate de punctaj: citește condiția exact (>= nu este >); execută doar ramura corespunzătoare valorii de adevăr; nu executa niciodată ambele ramuri; și nu te opri din urmărire la prima decizie — subiectele înlănțuie de obicei două-trei decizii tocmai ca să vadă dacă duci execuția până la capăt.

De reținut

structură secvențială
structură în care instrucțiunile se execută una după alta, în ordinea scrierii, fiecare exact o dată
structură alternativă
structură de decizie care alege între două ramuri de instrucțiuni în funcție de valoarea de adevăr a unei condiții
condiție
propoziție care poate fi doar adevărată sau falsă, construită de regulă cu operatori de comparare
ramura atunci
instrucțiunile executate exclusiv când condiția deciziei este adevărată
ramura altfel
instrucțiunile executate exclusiv când condiția deciziei este falsă; această ramură poate lipsi
operatorul ȘI
operator logic pentru care condiția compusă este adevărată doar dacă ambele condiții componente sunt adevărate
operatorul SAU
operator logic pentru care condiția compusă este adevărată dacă cel puțin una dintre condițiile componente este adevărată
negație (NU)
operator logic care inversează valoarea de adevăr; negația lui x > 5 este x <= 5
structură alternativă multiplă
înlănțuire de decizii (altfel dacă) prin care se alege una dintre mai mult de două variante; prima condiție adevărată își execută ramura
număr par
număr al cărui rest la împărțirea cu 2 este 0

Greșeli frecvente

Greșit: Executarea ambelor ramuri ale unei decizii la urmărirea algoritmului
Corect: Se execută exclusiv ramura corespunzătoare valorii de adevăr a condiției: atunci pentru adevărat, altfel pentru fals — niciodată ambele
Greșit: Negarea condiției x > 5 prin x < 5
Corect: Negația lui x > 5 este x <= 5; cazul de egalitate trebuie să ajungă pe exact una dintre ramuri
Greșit: Scrierea intervalului „între 3 și 7” cu SAU: x >= 3 SAU x <= 7
Corect: Apartenența la interval cere ambele margini simultan, deci ȘI: x >= 3 ȘI x <= 7; varianta cu SAU este adevărată pentru orice număr
Greșit: Tratarea condiției a >= 10 ca falsă pentru a = 10
Corect: Operatorul >= înseamnă mai mare SAU egal, deci pentru a = 10 condiția este adevărată
Greșit: Așezarea pragurilor în ordine greșită în alternativa multiplă
Corect: Prima condiție adevărată câștigă; pragurile se ordonează de la cel mai restrictiv spre cel mai puțin restrictiv, altfel media 10 poate primi calificativul „suficient”

Test — 6 întrebări ca la examen

1. Într-o structură secvențială, instrucțiunile se execută:
  1. doar dacă o condiție este adevărată
  2. în ordinea scrierii, fiecare exact o dată
  3. în orice ordine, rezultatul e același
  4. repetat, până la îndeplinirea unei condiții
Vezi răspunsul
în ordinea scrierii, fiecare exact o dată. Secvențial înseamnă liniar: pas după pas, de sus în jos, fără sărituri și repetări. Varianta cu ordinea indiferentă e capcana — schimbarea ordinii poate folosi variabile înainte ca ele să primească valoare.
2. Se execută: citește a, b (se citesc 7 și 2); dacă a < b atunci scrie a altfel scrie b. Ce se afișează?
  1. 7
  2. 2
  3. 7 și apoi 2
  4. nimic
Vezi răspunsul
2. Condiția 7 < 2 este falsă, deci se execută ramura altfel: se afișează b, adică 2. Varianta „7 și apoi 2” pică în greșeala clasică de a executa ambele ramuri ale deciziei.
3. Care condiție este adevărată exact pentru numerele din intervalul de la 10 la 20, inclusiv capetele?
  1. x >= 10 SAU x <= 20
  2. x > 10 ȘI x < 20
  3. x >= 10 ȘI x <= 20
  4. x >= 20 ȘI x <= 10
Vezi răspunsul
x >= 10 ȘI x <= 20. Apartenența la interval cere ambele margini simultan, cu >= și <= pentru includerea capetelor. Prima variantă, cu SAU, e adevărată pentru orice număr; a doua exclude capetele 10 și 20; a patra nu e îndeplinită de niciun număr.
4. Negația condiției „nota >= 5” este:
  1. nota <= 5
  2. nota < 5
  3. nota > 5
  4. nota = 5
Vezi răspunsul
nota < 5. Contrariul lui „mai mare sau egal cu 5” este „strict mai mic decât 5”. Varianta nota <= 5 e capcana: pentru nota = 5, atât condiția inițială cât și această „negație” ar fi adevărate simultan, ceea ce e imposibil pentru o negație corectă.
5. Un număr n este par dacă:
  1. n se împarte la 2 cu restul 1
  2. restul împărțirii lui n la 2 este 0
  3. n este mai mare decât 2
  4. ultima cifră a lui n este impară
Vezi răspunsul
restul împărțirii lui n la 2 este 0. Paritatea se verifică prin restul împărțirii la 2: rest 0 înseamnă par. Restul 1 — distractorul simetric — caracterizează numerele impare, iar mărimea numărului nu are nicio legătură cu paritatea.
6. Se execută: citește x (se citește 8); dacă x > 10 atunci y ← x - 10 altfel dacă x > 5 atunci y ← x + 10 altfel y ← 0; scrie y. Ce valoare se afișează?
  1. 0
  2. 18
  3. 8
  4. 10
Vezi răspunsul
18. Prima condiție, 8 > 10, este falsă; se trece la a doua, 8 > 5, adevărată, deci y ← 8 + 10 = 18. Varianta 0 e capcana celor care sar direct la ultimul altfel fără să verifice condiția intermediară — în alternativa multiplă, prima condiție adevărată câștigă.
Deschide varianta interactivă — cu AI care îți explică
← Algoritmi și programare – noțiuni introductiveStructuri de control – repetitive →
BiologieChimieEconomieFilosofieFizicăGeografieInformatică și TICIstorieLogică și argumentareMatematicăPsihologieLimba și literatura română