Sunteți pe pagina 1din 2

Informatică - clasa a IX a

CDC

FIȘA DE LUCRU NR.5

Algoritmi reprezentați în limbaj pseudocod - structuri alternative


Structura alternativă reprezintă alegerea unei operații sau a unei secvențe de operații
dintre două sau mai multe alternative posibile. Se mai numește structură de decizie. În
limbaj pseudocod există două tipuri de structuri alternative: simplă și generalizată.
1. Structura alternativă simplă
dacă condiţie atunci
instructiune_1
altfel
instrucţiunea_2
sf.dacă
Efect: Se evaluează expresia.Dacă valoarea expresiei este Adevărat, atunci se execută instrucţiune_1. Dacă
valoarea expresiei este Fals, se execută instrucţiune_2.
Observaţii
1. Atât pe ramura atunci, cât şi pe ramura altfel este permisă executarea uneia sau mai multor
instrucţiuni.
2. Dacă pe ramura altfel nu este necesară efectuarea niciunei operaţii, ramura poate lipsi (structura
alternativă cu o ramură vidă).
Exemple:
1. Modulul unui număr
Se introduce de la tastatură un Date de intrare: x întreg;
număr întreg x. Date de ieşire: m
Scrieţi un algoritm care calculează Start
şi afişează modulul numărului x. întreg x
natural m
citeşte x;
dacă x<0
atunci m-x;
altfel mx;
sf.dacă
scrie „modulul numărului “,x, “este: ”,m
stop
2. Ecuaţia de gradul I
Se introduc de la tastatură Date de intrare: a,b;
coeficienţii a,b reali ai ecuației Date de ieşire: x
ax+b=0. Scrieţi un algoritm care Start
calculează şi afişează soluția Real a,b, x
citeste a,b
ecuației.
dacă a0
atunci { x -b/a
scrie x
}
altfel dacă b0
atunci scrie ‘nu există soluții’
altfel scrie ‘o infinitate de soluții’
sf.dacă
sf.dacă
2. Structura alternativă generalizată La acest tip de structură se selectează o acțiune dintre mai multe
acţiuni, în funcţie de o variabilă numită selector, care poate lua mai multe valori, dintr-o mulţime ordonată
de elemente de acelaşi tip cu selectorul.
Informatică - clasa a IX a
CDC

Sintaxa: Selector este o variabilă sau o expresie de tip întreg sau caracter
(nu este permis tipul real).
Cazuri selector
v1,…vn se numesc etichete şi sunt valori pe care le poate lua
caz v1: instrucţiune1 selectorul.
caz v2: instrucţiune2 Dacă selector=v1 se execută instrucţiune1. Dacă selector=v2 se
execută instrucţiune2
… Dacă selector≠v k(k=1,n) şi există ramura altfel atunci se execută
caz vn: instrucţiunen instrucţiune n+1;
altfel instrucţiune n+1 // Dacă nu există ramura altfel ,atunci nu se execută nimic şi se
(optional) trece la următoarea instrucțiune de după cazuri.
sf.cazuri
Exemplu:
Scrieți un algoritm care citește Date de intrare :luna
de la tastatură un număr Date de ieșire : nr_zile
Start
natural luna,cuprins între 1 și
Natural luna, nr_zile
12, reprezentând numărul de Citește luna
ordine al unei luni Cazuri luna
calendaristice și afișează Caz 1: nr_zile31
numărul de zile corespunzător Caz 2: nr_zile28
lunii.(Presupunem că este Caz 3: nr_zile31
…..
vorba de un an nebisect)
Caz 12: nr_zile31
Altfel : nr_zile0
Sf.cazuri
Scrie “numarul de zile al lunii nr “,luna,”=”,nr_zile
stop
Probleme propuse

S-ar putea să vă placă și