CLASIFICARE
1.Structura alternativa
– simpla
– generalizata
2.Structura repetitiva
– cu numar cunoscut de pasi
– cu numar necunoscut de pasi
1.Structura alternativa simpla
Se realizeaza selectarea intre doua actiuni in functie de indeplinirea sau neindeplinirea unei conditii.
Sintaxa:
daca conditie atunci actiune 1; altfel actiune 2; sfarsit_daca;
Exemplu: Se compara valorile a doua variabile a si b.
daca a>b atunci scrie a; altfel scrie b; sfarsit_daca;
Exemple de conditii:
– testarea unui numar pozitiv: a > = 0
– testarea unui numar negativ:a < 0
-testarea unui numar de doua cifre:a >=10 and a <= 99
-testarea unui numar par: a mod 2 = 0
-testarea unui numar impar: a mod 2 = 1
2.Structura alternativa generalizata
Se executa o anumita actiune in functie de o conditie numita selector.
in cazul ca selector cazul v1: actiune 1; cazul v2: actiune2; ........ cazul vn: actiune n; altfel actiune n+1; sfarsit_in_caz_ca;
Exemplu: Se citesc de la tastatura doua numere intregi a si b si un numar c. Daca se citeste in variabila c valoarea 1 sa se calculeze suma, daca se citeste valoarea 2 produsul iar daca se citeste valoarea 3 sa se calculeze media aritmetica a celor doua numere.
Utilizand structura alternativa simpla
citeste a,b,c; daca c=1 atunci scrie a+b; altfel daca c=2 atunci scrie a*b; altfel daca c=3 atunci scrie (a+b)/2; altfel scrie " Valoare gresita"; sfarsit_daca; sfarsit_daca; sfarsit_daca;
Utilizand structura alternativa generalizata
citeste a,b,c; in cazul ca c cazul 1: scrie a+b; cazul 2: scrie a*b; cazul 3: scrie (a+b)/2; altfel scrie "Valoare gresita"; sfarsit_in_caz_ca;
3.Structura repetitiva cu numar cunoscut de pasi
pentru contor <- v_i, v_f,[pas v] executa instructiune; sfarsit_pentru;
unde v_i este valoarea initiala
v_f este valoarea finala
Exemplu: Determinati suma primelor n numere naturale.
citeste n; s<-0; pentru i<-1,n executa S<-S+i; sfarsit_pentru; scrie S;
4.Structura repetitiva cu numar necunoscut de pasi
a) cu test initial
cat_timp conditie executa actiune; sfarsit_cat_timp;
Exemplu: Determinarea produsului cifrelor unui numar.
citeste a; P<-1; cat_timp a<>0 executa P<- P * a mod 10; a<-a div 10; sfarsit_cat_timp; scrie P;
b) cu test final
repeta actiune; pana_cand conditie;
Exemplu: Se citesc numere de la tastatura pana la intalnirea valorii 0.Determinati cate numere pare s-au citit.
k<-0; repeta citeste a; daca a mod 2=0 atunci k<-k+1; sfarsit_daca; pana cand a=0; scrie k;