Professional Documents
Culture Documents
Laborator 4 Algoritmi
Laborator 4 Algoritmi
Structura repetitivă cu număr necunoscut de pași este utilizată, atunci când, într-un
algoritm, anumite operații trebuie repetate de un număr necunoscut de ori.
Instrucțiunea while este o structura cu test inițial, adică, în cazul în care condiția
nu este îndeplinită, pachetul de instrucțiuni nu se execută niciodată.
Forma generală a structurii WHILE:
while conditie do
Instructiuni
end while.
Mecanismul de funcționare:
Pasul 1. Se evaluează condiția;
Pasul 2. Dacă condiția este adevărată se execută instrucțiunile apoi se revine la pasul 1;
Pasul 3. Dacă condiția este nu este adevărată se oprește execuția structurii while;
Obs. În bucla while este necesar să existe o instrucțiune care asigură terminarea iterațiilor
(repetițiilor).
Aplicații de laborator
1. Se dă un număr natural n, format din cel mult 9 cifre. Să se scrie un algoritm care
calculează și returnează produsul cifrelor impare. Dacă numărul nu conține nicio cifră
impară, se va returna -1.
algoritm produs(n, p)
p=1; nrcifre = 0;
while(n!=0)
if((n%10)%2 == 1)
nrcifre = nrcifre + 1;
p=p*(n%10);
end if.
n=n/10;
end while.
if (nrcifre == 0)
return -1;
else
return p;
end alg.
2. Se dau două numere naturale: n - un număr natural de cel mult 9 cifre și c - o cifră. Să
se scrie un algoritm care determină și returnează de câte ori apare c în scrierea numărului
n.
Algoritm cifre(n, c, nr)
nrcifre=0;
if (n==0 and c==0)
nrcifre=1;
end if
while (n != 0)
if(n%10 == c)
nrcifre = nrcifre + 1;
end if.
n = n/10;
end while.
return nrcifre;
end alg.
Laborator 4 Algoritmi fundamentali 3
ogl=ogl*10 + cn%10;
cn= cn/10;
end while.
return ogl;
end alg.
Laborator 4 Algoritmi fundamentali 4
Tema de laborator.
1. Se dă un număr n. Să se scrie un algoritm care calculează și returnează suma
cifrelor pare și produsul cifrelor impare din număr.
2. Se dă un număr natural n. Se cere să se scrie un algoritm care returnează de câte
ori apare, în număr, ultima cifră a acestuia.
3. Se dă un număr strict pozitiv și o cifră. Să se scrie un algoritm care introduce cifra
respectivă între oricare două cifre ale numărului n.
Exemplu: pentru n= 123 si c=0, algoritmul returneaza 10203
4. Se dau n valori reale. Să se scrie un algoritm care returnează cât la sută dintre
valorile date sunt negative, rezultatul fiind dat în procente.
5. Se dă un număr întreg a. Să se scrie un algoritm care calculează suma cifrelor
numărului, dacă acesta este număr impar, în caz contrar produsul cifrelor.
6. Se dă un număr natural n. Să se scrie un algoritm care determină dacă numărul n
are cifrele ordonate crescător, returnând suma lor, în caz contrar să returneze 0.