Sunteți pe pagina 1din 6

Laborator 2 Algoritmi Fundamentali 1

Structura alternativă

Structura alternativă (decizională) execută un anumit set de instrucțiuni dacă o


condiție este îndeplinită, altfel execută alt set de instrucțiuni.
Forma generală a structurii alternative este:
If (condiție) then
instrucțiunea 1
Else
instrucțiunea 2

Modul de funcționare:
- dacă condiția este adevărată atunci se execută instrucțiunea 1,
- dacă condiția este falsă, atunci se intră pe ramura „else” și se execută
instrucțiunea 2

Aplicații de laborator
1. Se dau două numere întregi a și b. Să se scrie un algoritm care determină și returnează
maximul dintre cele două numere date.
Algoritm maxim (a, b, max)
If (a > b) then
max = a;
else
max = b;
return max;
end alg.
Laborator 2 Algoritmi Fundamentali 2

2. Se dau două numere naturale a și b, nenule. Să se scrie un algoritm care verifică dacă
cele două numere sunt consecutive. Dacă sunt consecutive se va returna 0, altfel se va
returna 1.
Algoritm consecutiv(a, b)
If (a = b-1 Or b = a+1)
return 0
else
return 1
end alg.

3. Se dă un număr natural a. Să se scrie un algoritm care verifică și returnează 0, dacă


numărul este par, altfel returnează 1.
Algoritm par (a)
If (a mod 2 = 0) then //daca restul împărțirii nr. a la 2 este 0, atunci numărul este par.
return 0
else
return 1;
end alg.

4. Să se scrie un algoritm care să rezolve ecuația de gradul I: a*x+b=0, unde a și b sunt


două numere naturale date. Se vor lua în discuție toate cazurile posibile.
Algoritmi ecuație(a, b, x)
if (a=0) and (b=0) then
cod 1 // cod 1= imposibil; // write (cout) („Ecuatia este imposibil de
rezolvat”)
else
x=-b/a;
return x;
end alg.
Laborator 2 Algoritmi Fundamentali 3

5. Se dau trei numere naturale a, b și c. Să se scrie un algoritm care verifică dacă suma
numerelor este pozitivă, returnând s în caz afirmativ, iar 0 altfel.
Algoritm suma(a, b, c, s)
s= a + b + c;
if ( s > 0)
return s
else
return 0
end alg.
6. Se dă un număr natural n din patru cifre. Să se scrie un algoritm care calculează suma
cifrelor pare și respectiv suma cifrelor impare din număr.
n = 2345
c1 = 2345 mod 10 = 5
c2 = 2345 div 10 mod 10 = 4
c3 = 23,45 div 100 mod 10 = 3
c4 = 2345 div 1000
algoritm cifre(n, sp, si)
sp=0; si=0;
c1 = n mod 10 // n % 10 = ultima cifră a nr. n
c2 = n div 10 mod 10 // n/10%10 = a 3-a cifra a nr. n
c3 = n div 100 mod 10
c4 = n div 1000
if (c1 % 2 = 0)
sp = sp + c1
else
si = si + c1
if (c2 % 2 = 0)
Laborator 2 Algoritmi Fundamentali 4

sp = sp + c2
else
si = si + c2
if (c3 % 2 = 0)
sp = sp + c3
else
si = si + c3
if (c4 % 2 = 0)
sp = sp + c4
else
si = si + c4
return sp
return si
end alg.
Laborator 2 Algoritmi Fundamentali 5

7. Se dau 3 cifre, a, b, c, nenule. Sa se scrie un algoritm care formeaza, din cele trei cifre,
un numar care incepe cu o cifra para (numarul poate incepe cu oricare dintre cele trei
cifre). Atentie la toate cazurile posibile.
Exemplu:
N=832
Daca a%2=0
nr1= a*100+b*10+c = 8*100 + 3*10 +2*1= 800+30+2= 832
nr2 = a*100+c*10+b = 8*100 + 2*10 + 3*1= 800+20+3= 823
algoritm numar (a, b, c, n1, n2)
if (a % 2 = 0)
n1=a*100 + b*10+ c
n2=a*100 +c*10+ b
else if (b % 2 = 0)
n1=b*100 + a*10+ c
n2=b*100 +c*10+ a
else if (c % 2 = 0)
n1=c*100+ b*10+ a
n2=c*100+ a*10+ b
else
cod 1 // mesaj: nu exista cifre pare
return n1;
return n2;
end alg.
Laborator 2 Algoritmi Fundamentali 6

Tema de laborator
1. Se dau trei numere intregi, a, b, c. Să se scrie un algoritm care verifica daca cele
trei numere pot fi laturile unui triunghi. În caz afirmativ, sa se determine și
returneze, aria triunghiului.
2. Se dau trei numere intregi, a, b, c. Să se scrie un algoritm care determina solutiile
ecuației de gradul II : a x 2 +bx +c=0
3. Se dau trei numere naturale a, b, x. Să se scrie un algoritm care verifică dacă
numărul x aparține intervalului [a,b]. Dacă condiția este îndeplinită se va returna 1,
altfel 0.
4. Se dau trei numere naturale a, b, c. Să se scrie un algoritm care determina si
returnează minimul dintre cele trei numere.
5. Se dă un număr natural de 3 cifre. Să se scrie un algoritm care determină câte cifre
impare conține numărul.
6. Se dau trei numere naturale a, b, c. Să se scrie un algoritm care determină si
returnează cea mai mare valoare care se poate obține prin înmulțirea a două dintre
numere și adunarea rezultatului cu al treilea.

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