Sunteți pe pagina 1din 6

Algoritmii elementari

Clasificarea algoritmilor elemetari:

I. Prelucrarea numerelor:

A. Algoritmii pentru prelucrarea cifrelor unui numar.

1. Algoritmul pentru extragerea cifrelor unui numar

2. Algoritmul pentru compunerea numarului din cifrele sale

3. Algoritmul pentru determinarea inversului unui numar (oglinditul numarului)

4. Algoritmul pentru calcularea sumei cifrelor unui numar.

5. Algoritmul pentru testarea unui numar palidrom ( este un numar care se citeste de la stanga
la dreapta).

I. Algoritmul pentru extragerea cifrelor unui numar

întreg n,c;

început

citește n

cât timp n0 execută

{ c <- n mod 10;

scrie c;

n <- n div 10 ;

sfârșit
II. Algoritmul pentru compunerea unui număr din cifrele sale

întreg n,c;

început

citește c;

n <- 0;

cât timp (c)=0 and (c≤9) execută

{ n <- n*10+c;

citește c;

scrie n;

sfârșit

III. Algoritmul pentru determinarea inversului unui număr

întreg a,inv

început

citește a;

inv <- 0; initial inversul este nul

cât timp a0 execută

{ inv <- inv *10+a mod 10

a <- a div 10;

scrie inv;
sfârșit

IV. Algoritmul pentru calcularea sumei cifrelor unui număr

întreg n,c,s;

început

citește n;

s <- 0;

cât timp n0 execută

{ c <- n mod 10;

s <- s+c;

n < n div 10;

scrie s;

sfârșit

V. Algoritmul pentru testarea unui număr palindrom

întreg a,inv,aux

început

citește a;

aux <- a// salvez valoarea inițială a lui a în aux

inv <- 0// inițial inv este nul

cât timp aux 0 execută

{ inv <- inv*10+aux mod 10

aux <- aux div 10;

}
dacă inv <- a atunci

scrie ,,numărul este palindrom’’;

altfel

scrie ,,numărul nu este palindrom’’;

sfârșit

B. Probleme de dizibilitate

1. Algoritmul pentru determinarea celui mai mare divizor comun dintre 2 numere

2. Algoritmul pentru generarea divizorilor unui număr

3. Algoritmul pentru testarea unui număr prim

1. Determinarea celui mai mare divizor comun dintre 2 numere

întreg a,b

început

citește a,b;

cât timp (a<>b) execută

{ dacă a>b atunci

a <- a-b

altfel

b <- b-a

scrie a;

sfârșit
Sau

întreg a,b,r

început

citește a,b

r <- a mod b// r reține restul împarțirii lui a la b

cât timp r0 execută

{ a<-b

b<-r

r<-a mod b

scrie ,,cmmdc este”, b

sfârșit

2. Generarea divizorilor unui număr

întreg a,i

început

citește a;

pentru i<-1, a execută

{ dacă (a mod i=0) atunci

scrie i;

sfârșit
3. Testarea unui număr prim

întreg a,i,prim

început

citește a;

dacă a<=1 atunci

scrie ,,număr NEPRIM” ;

altfel

{ prim<-1, // presupunem că numărul este prim

pentru i<-2, [a/2] execută

{dacă (a mod i=0) atunci

prim <-0; // am găsit divizori, deci nr nu e prim

dacă prim=1 atunci

scrie ,,numărul este prim’’

altfel

scrie ,,număr neprim’’ ;

sfârșit

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