Sunteți pe pagina 1din 4

Prelucrarea cifrelor unui număr

Algoritmii care urmează se bazează pe următoarele două operații:


- a % b unde a, b sunt numere întregi. Operația se numește a modulo b și
returnează restul împărțirii întregi dintre a și b. Ex: 456 % 10 = 6. După cum
se constată, operația modulo permite separarea cifrelor unui număr.
- n = n / 10. Dacă variabila n este declarată ca număr întreg, atunci aceasta
poate lua doar valori întregi. In această situație, dacă n = 3649, după
efectuarea operației n = n / 10, pe un calculator, n va deveni 364.

1. Prima cifră a unui număr


citește n
cât timp n > 9
{
n = n / 10
}
scrie „Prima cifră a numărului este” n
Algoritmul utilizează un ciclu cu test inițial care asigură repetarea secvenței dintre
acolade cât timp numărul dat este cel puțin egal cu 9. La ieșire din ciclu n va fi egal
cu prima cifră a numărului inițial n.

2. Cea mai mare cifră a unui număr

citește n
max = n % 10
cât timp n != 0
{ cifra = n % 10
Dacă cifra > max
atunci max = cifra
n = n / 10
}
scrie „Cea mai mare cifra a numărului este” max

Inițial, se presupune că cea mai mare cifră a numărului este cifra cea mai puțin
semnificativă. Acesta se obține prin operația modulo: max = n % 10. In continuare,
cât timp n este diferit de 0 ( n != 0 ) se calculează fiecare cifră a numărului (cifra =
n %10) și dacă aceasta este mai mare decât max, valoarea acesteia se reține în
variabila max.
3. Suma cifrelor unui număr

citește n
s=0
cât timp n != 0
{
s = s + n % 10
n = n / 10
}
scrie „Suma cifrelor este” s

Suma cifrelor numărului n se calculează cu formula recurentă s = s + v % 10.


Valoarea inițială a sumei se inițializează la 0. Ciclul cu test inițial repetă relația
pentru calcularea sumei până se parcurg toate cifrele numărului. La fiecare pas se
determină un nou număr având o cifră mai puțin decât numărul anterior (n = n /10).

4. Suma cifrelor pare ale unui număr

citește n
s=0
cât timp n != 0
{
dacă n % 10 % 2 == 0
atunci
s = s + n % 10
n = n / 10
}
scrie „Suma cifrelor pare este” s

Algoritmul este asemănător cu cel descris în cazul anterior. Pentru a depista cifrele
pare se utilizează relația n %10 % 2 == 0 prin care separă fiecare cifră și apoi se
verifică dacă aceasta se împarte la 2.

5. Media aritmetică a cifrelor unui număr

citește n
s=0
nr = 0
cât timp n != 0
{
s = s + n % 10
nr++
n = n / 10
}
dacă nr > 0
atunci
{ med = s / nr
scrie „Media aritmetică a cifrelor este” med
}
altfel scrie „Ați introdus un număr eronat”

6. Oglinda unui număr

Prin oglinda unui număr vom înțelege numărul repetat în ordine inversă a cifrelor.

citește n
oglinda = 0
cât timp n != 0
{
oglinda = oglinda * 10 + n % 10
n = n / 10
}
scrie „Oglinda numărului introdus este” oglinda

Se determină pe rând cifrele numărului dat și, din acestea, se formează noul
număr.

7. Testul de număr palindrom

Se verifică dacă numărul introdus este palindrom. Prin palindrom se înțelege un


număr care scris invers este egal cu oglinda lui.

citește n
cn = n
oglinda = 0
cât timp n != 0
{
oglinda = oglinda * 10 + n % 10
n = n / 10
}
dacă cn == oglinda
atunci scrie „Numărul introdus este palindrom”
altfel scrie „Numărul introdus nu este palindrom”

Se determină oglinda numărului dat la fel ca în cazul anterior, după care aceasta
se compară valoarea inițială a umărului păstrată în variabila cn.
8. Interschimbarea valorilor a două variabile

Vom exemplifica o metodă de interschimbare care nu utilizează o variabilă


auxiliară. Presupunem că avem două variabile a și b. Dacă efectuam operația
b = a + b – a, variabila b = va avea valoarea variabilei a, iar după operația a = a +
b – a variabila a va avea valoarea b. S-a realizat deci interschimbarea valorilor
variabilelor a și b. Pseudocodul acestui algoritm este prezentat în continuare:

citește a, b
a=a+b
b=a–b
a=a–b
scrie a, b

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