Sunteți pe pagina 1din 3

9.7.2014 L8. Algoritmi fundamentali.

Prelucrarea cifrelor unui numar natural | Informatica, pas cu pas


http://mchelariu.wordpress.com/2012/03/05/algoritmi-fundamentali-prelucrarea-cifrelor-unui-numar-natural/ 1/3
Informatica, pas cu pas
POT SA INVAT SI SINGUR!
L8. Algoritmi fundamentali. Prelucrarea cifrelor unui
numar natural
05 MAR
Fie N un numar natural. Avem nevoie sa prelucram pe rand cifrele unui numar natural.
In prelucrarea cifrelor numarului, cel mai usor ajungem la ultima cifra (N%10) . Dupa prelucrarea ei,
ultima cifra va trebui inlaturata (N=N/10). Si totul trebuie repetat cat timp N mai are cifre (N!=0).
De vreme ca nu stim cate cifre are N, nu putem folosi intructiunea FOR/PENTRU. Raman
instructiunile repetitive cu un numar necunoscut de pasi : CAT TIMP EXECUTA/WHILE si
EXECUTA CAT TIMP/ DO WHILE.
Pentru CAT TIMP EXECUTA/WHILE am un contraargmuent. Algoritmul ar trebui sa fie
cat timp (N!=0) executa { //prel ultima cifra a lui N
.......N%10;
//stergem ultima cifra
N=N/10;
}
Daca utilizatorul doreste sa aplice algoritmul pentru valoarea zero, nu se va efectua nimic si secventa
noastra nu se va executa.Evident, situatia se poate evita prin plasarea unui test inainte de CAT TIMP ,
care sa verifice daca N este nul.
Nu ramane decat varianta cu EXECUTA CAT TIMP/DO WHILE.
executa{ //prel ultima cifra a lui N
.......N%10;
//stergem ultima cifra
N=N/10;
} cat timp (N!=0);
Cateva probleme clasice pentru acest algoritm:
9.7.2014 L8. Algoritmi fundamentali. Prelucrarea cifrelor unui numar natural | Informatica, pas cu pas
http://mchelariu.wordpress.com/2012/03/05/algoritmi-fundamentali-prelucrarea-cifrelor-unui-numar-natural/ 2/3
1. Sa se numere cate cifre are numarul N
2. Sa se stabileasca cate cifre pare/impare are numarul N.
3. Sa se stabileasca daca N contine o cifra data, CIF.
4. Sa se numere de cate ori apare cifra CIF in numarul N.
5. Sa se determine cifra maxima/minima din numarul N
6. Sa se construiasca oglinditul numarului N. Pentru N=3648 se va afisa 8463.
7. Sa se stabilesca daca N este palindrom (egal cu oglinditul sau).
8. Pentru un numar N dat, sa se construiasca cel mai mare numar natural care se poate forma cu
cifrele lui N.
cat timp (N!=0) executa { //prel ultima cifra a lui N
.......N%10;
//stergem ultima cifra
N=N/10;
}
2 Comments
Posted by Mihai Chelariu on 05/03/2012 in C2_1. Algoritmica
Tags: prelucrare cifre numar natural
2 responses to L8. Algoritmi fundamentali. Prelucrarea cifrelor
unui numar natural
Alex V
27/09/2012 at 21:11
Alogritmul de prelucrare a cifrelor unui numar(PSEUDOCOD)
Cat timp x0 executa
inceput
c<-x mod 10
x<-x div 10
sfarsit
mchelariu71
27/09/2012 at 21:36
Am raspuns deja in articol. Varianta Cat timp nu e universala. Daca n=0 nu se mai face nici o
9.7.2014 L8. Algoritmi fundamentali. Prelucrarea cifrelor unui numar natural | Informatica, pas cu pas
http://mchelariu.wordpress.com/2012/03/05/algoritmi-fundamentali-prelucrarea-cifrelor-unui-numar-natural/ 3/3
Am raspuns deja in articol. Varianta Cat timp nu e universala. Daca n=0 nu se mai face nici o
prelurcrare la nivel de cifra. De exemplu, numarul de cifre ale unei valori . Cu While, reiese ca N=0
are 0 cifre, ceea ce e gresit.
Blog at WordPress.com. The Choco Theme.
Entries (RSS) and Comments (RSS)
Follow
Follow Informatica, pas cu pas
Powered by WordPress.com

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