Structuri de control

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;

Algoritmi elementari in pseudocod >>

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.