Documente Academic
Documente Profesional
Documente Cultură
Structura alternativă
Structura alternativă urmărește execuția unei instrucțiuni doar dacă valoarea de adevăr a
acesteia este 1 (adevărată). Această structură se mai numește și structură de decizie.
Vom vorbi acum despre un exemplu practic: dacă mă descurc bine la matematică, atunci
merg la mate-info, altfel mă fac medic. Observăm că în această structură alternativă, avem un
„daca” condițional. Îmi pun întrebarea: mă descurc bine la matematică? Dacă răspunsul este
da, atunci merg la mate-info. Dar dacă răspunsul este nu, atunci mă fac medic.
Cam așa stau lucrurile și în informatică. De multe ori, trebuie să verificăm dacă un anumit
număr sau șir de numere respectă anumite proprietăți. De exemplu, ne propunem să verificăm
dacă un număr citit de la tastatură este par sau impar. Un număr este par, dacă restul împărțirii
lui la 2 este 0 și impar altfel. Algoritmul de rezolvare a acestei probleme este descris mai jos:
intreg a;
citește a;
daca a%2==0 atunci
| scrie „Numar par”;
| altfel
| scrie „Numar impar”;
|_
stop.
Dacă ne vom uita cu atenție pe algoritm, vom observa că există două elemente ale structurii
alternative și anume: daca (...) și altfel (...), prima se execută dacă a este număr
par, iar cealaltă dacă a este număr impar. Nu este obligatoriu să mai specificăm pe ramura de
altfel, dacă a este impar. Este suficient atât. De exemplu, dacă ni s-a spus că moneda a
căzut cu stema în sus, nu are rost să mai întrebăm dacă cealaltă față a monedei este în jos.
Structura alternativă are următorul aspect general:
daca expresie atunci
instructiune;
altfel
instructiune;
Ramura daca se execută doar dacă expresie este nenulă (adică diferită de zero și adevărată),
în caz contrar se execută ramura altfel.
Exerciții și probleme
1. Fie x un număr real. Scrieți un program în pseudocod, care să calculeze valoarea
funcției:
𝑓(𝑥) = max{|2𝑥 − 1|, 9 − 𝑥 2 }
2. Care este efectul următoarei secvențe de instrucțiuni?
intreg a, b, c, x;
a←3; b←5; c←7;
daca a-b/2<0 atunci
| x←1;
| altfel
| daca a+b-c/2<b
| | x←2;
| | altfel
| | daca a%b+c>b
| | | x←3;
| | |
| | | altfel x←4;
| | |_
| |_
|_
scrie x;
stop.