Documente Academic
Documente Profesional
Documente Cultură
Instructiuni
End for.
Modul de funcționare:
Pasul 1. Se inițializează contorul (contor = variabila care numără pașii)
Pasul 2. Se testeaza conditia astfel: se verifică dacă valoarea contorului este mai
mică sau egală cu valoarea finală
Pasul 3. Dacă DA , atunci se executa pachetul de instructiuni
Pasul 4. Se executa incrementarea si se revine la pasul 2
Pasul 5: Dacă NU, se oprește execuția instrucțiunii FOR.
Aplicații de laborator
1. Sa se calculeze suma numerelor naturale divizibile cu 3 mai mici sau egale decat o
valoare data n.
Algoritm divizibil (n, s)
s=0;
for i=3 to n
if ( i % 3 = 0 )
s= s + i;
else
return 0; // se iese din if si intra in alta iteratie a ciclului for
end if.
End for.
return s;
end alg.
2. Se dă un număr natural n. Să se scrie un algoritm care calculează si returnează
produsul numerelor impare cuprinse între 1 și n, altfel calculeaza suma numerelor
divizibile cu 5.
Algoritm produs (n, p, s)
p=1; s=0;
for i=1 to n
if ( i % 2 = 1 )
p= p * i;
if ( i % 5 = 0 )
s=s+i
end if.
end if.
end for.
return s; return p;
end alg.
Laborator 3 Algoritmi Fundamentali 3
6. Se dau n valori întregi. Să se scrie un algoritm care returnează cea mai mică valoare
impară dintre aceste valori.
Varianta 1
Algoritm valmin (n, min)
min=v[1];
For i=2 to n
If (v[i]<min) and (v[i] mod 2=1)
min=v[i];
end if.
If (min mod 2=0)
Cod = 1 // write („nu exista element impar in vector”)
Else
return min;
end if. end for.
end alg.
Laborator 3 Algoritmi Fundamentali 5
Varianta 2
Algoritm valmin (n, min)
min=MAXINT; // MAXINT este o constantă globală, egală cu limita superioară a tipului întreg
For i=1 to n
If (v[i] mod 2 !=0) and (v[i]<min)
min=v[i];
end if.
end for
return min;
end alg.
7. Se dau n valori întregi. Să se scrie un algoritm care returnează numărul de valori pare
aflate în intervalul [a,b].
algoritm interval(a, b, n, nr)
nr=0;
For i=1 to n
If (v[i]>=a) and (v[i]<=b) and (v[i]%2=0)
nr=nr+1;
end if.
end for.
return nr;
end alg
8. Să se scrie un algoritm care determină și returnează numerele de două cifre care au
cifre distincte.
algoritm distincte ( v[30] )
k=0 //contorul pentru vectorul format din numerele de 2 cifre distincte
For i = 10 to 98
cz = i/10; // cz = cifra zecilor
cu = i%10; // cu = cifra unitatilor
Laborator 3 Algoritmi Fundamentali 6
if (c1 != c2)
v[k] = i; //adaugam intr-un vector v numerele de 2 cifre distincte gasite
k = k + 1;
end if.
end for.
end alg.
9. Să se scrie un algoritm care calculează și returnează suma numerelor de trei cifre
divizibile cu 5.
algoritm numere ( v[30] )
s=0;
For i = 100 to 995 Step 5
s = s + i;
end for;
return s;
end alg.
Laborator 3 Algoritmi Fundamentali 7
Tema de laborator