Documente Academic
Documente Profesional
Documente Cultură
număr natural
Există nenumărate aplicaţii în practică, când ni se solicită informaţii despre cifrele din
care este construi un număr, despre natura sau numărul lor. În acest caz cifrele numărului vor fi
separate, una câte una, de la ultima cifră(cifra unităţilor) spre prima cifră. După fiecare
prelucrare din numărul iniţial vom elimina ultima cifră, algoritmul conţinuând în acelaşi mod, în
funcţie de numărul de cifre din numărul dat.
Şablonul de rezolvare al problemelor care prelucrează cifrele unui număr natural are
următoarea formă:
citeşte numărul de prelucrat
iniţializarea variabilelor de manevră
└■
afişează rezultatul
Aplicaţii rezolvate
1. Se dă un număr natural n. Se cere să se scrie un algoritm care
calculează suma cifrelor numărului dat.
Rezolvarea acestei probleme va urmări şablonul de rezolvare prezentat mai sus, tinând
cont de faptul că atunci când avem de calculat o sumă de termeni, variabila care va conţine
rezultatul se va iniţializa cu valoarea zero.
┌cât timp n>0 execută
└■
┌cât timp n>0 execută
└■
┌cât timp n>0 execută
│ c = n%10 // extrag ultima cifră din numărul n
│ └■
└■
Atunci când avem de determinat valoarea maximă dintre un şir de numere, vom iniţializa
variabila care va conţine maximul cu cea mai mică valoare posibilă. În cazul nostru trebuie să
determinăm cifra maximă dintre cifrele unui număr dat, şi vom iniţializa cifra maximă cu
valoarea zero, apoi vom extrage câte o cifră din număr şi o vom compara cu valoarea cifrei
maxime. În situaţia în care am găsit o valoare mai mare vom actualiza informaţia din cifra
maximă, cu ultima cifră extrasă din număr. Algoritmul continuă în acelaşi mod până când au
fost prelucrate toate cifrele numărului dat.
Algoritmul este:
┌cât timp n>0 execută
│ ┌dacă c >= cif_max atunci // dacă ultima cifră este mai mare decât
│ │ cif_max = c // cifra maximă, atunci păstrez valoarea ei
│ └■
└■
Algoritmul este:
┌cât timp n>0 execută
│ c = n%10 // extrag ultima cifră din numarul n
└■
Atunci când avem de a verifica îndeplinrea unei condiţii de către toate elementele unui şir
vom proceda astfel:
vom verifica dacă există cel mult un număr din şir care nu verifică condiţia dată.
În situaţia nostră vom presupune iniţial că toate cifrele numărului dat sunt pare şi vom
separa apoi câte o cifră din număr şi îi vom verifica paritatea. Dacă în numărul iniţial există cel
mult o cifră pară, atunci vom ajunge la concluzia ca nu toate cifrele numărului dat sunt pare.
Algoritmul este:
│ ┌dacă c%2 = 1 atunci // dacă ultima cifra extrasă este impară atunci
└■
┌daca ok = 1 atunci
│altfel
└■
Atunci când trebuie să verificam îndeplinrea unei condiţii de către cel puţin un element din şir
vom proceda astfel:
vom verifica dacă există cel puţin un număr din şir care verifică condiţia dată.
În situaţia nostră vom presupune iniţial că nici una din cifrele numărului dat nu este pară şi
vom separa apoi câte o cifră din număr şi îi vom verifica paritatea. Dacă în numărul iniţial există
cel puţin o cifră pară, atunci vom ajunge la concluzia ca în cifrele numărului dat există cel puţin
o cifră pară.
│ ┌dacă c%2 = 0 atunci // dacă ultima cifra extrasă este pară atunci
└■
┌dacă ok = 1 atunci
│altfel
└■