Sunteți pe pagina 1din 3

Structura alternativa

Acest algoritm poate lua o decizie in functie de o conditie data. Decizia poate fi
asupra unui singur caz (forma simplificata) sau intre doua cazuri posibile.
Exemple de conditii:
- testarea unui numar pozitiv: a>=0
- testarea unui numar negativ: a<0
- numar par: a mod 2=0
- numar impar a mod 2=1
- numar divizibil cu o valoare x: a mod x=0
- ultima cifra egala cu o valoare x: a mod 10=x
- numar cu 2 cifre: a>=10 and a<=99
I. Structura alternativa simpla:
Sintaxa algoritmului:
1. DACA Expresie_logica ATUNCI
executa instructiune 1
ALTFEL
executa instructiune 2
Sfarsit_DACA
Pasii algoritmului:
- se evalueaza expresia logica
- daca este adevarata, se executa instructiunea 1
- daca aceasta nu este adevarata, se executa instructiunea 2
Exemplu:
Se citeste o variabila a. Daca valoarea ei este >0 sa se afisexe Nr. pozitiv, iar
in caz contrar sa se afiseze Nr. negativ.
a: intreg
inceput
citeste a
DACA a>0 ATUNCI
scrie Nr. pozitiv
ALTFEL
scrie Nr. negativ
sfarsit_Daca
2. Forma simplificata:
DACA Expresie_logica ATUNCI
executa instructiune
Pasii algoritmului:
- se evalueaza expresia logica
- daca este adevarata, se executa instructiunea
- daca aceasta nu este adevarata, nu se executa nimic.

Exemplu:
Se citeste valoarea unei variabile intregi a. Daca aceasta valoare este >0
atunci sa se scrie Nr. este pozitiv.
a: intreg
inceput
citeste a
DACA a>0 ATUNCI
scrie Nr. pozitiv
sfarsit_Daca
II. 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;
EXEMPLE
1. Calculati maximul intre 2 numere intregi.
a, b, max intregi;
citeste a, b;
daca (a>b) atunci
max=a
altfel
max=b;
scrie max;
sfarsit.
2. Se introduce de la tastatur un numr ntreg x. S se testeze dac numrul este
par sau nu i s se afieze un mesaj corespunztor.
x ntreg
citete x
dac x%2=0 atunci
scrie Este par
altfel
scrie Nu este par
Sfarsit_Daca
3. Se introduc de la tastatura dou numere ntregi x i y. Se afiseze numrul care
este mai mare intre cele dou. In caz ca sunt egale, se va afia un mesaj
corespunzator.

x, y ntregi
citete x, y
dac x=y atunci
scrie Numerele sunt egale
altfel
dac x>y atunci
scrie x
altfel
scrie y
Sfarsit_Daca
Sfarsit_Daca
4. 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.
a) 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;
b) 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;

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