Sunteți pe pagina 1din 3

Algoritmi elementari ce folosesc structuri fundamentale

În continuare vom prezenta câţiva algoritmi utili care prelucrează numere întregi şi
naturale.

1. Divizibilitate

Se citesc două numere întregi a şi b. Să se realizeze un algoritm care să verifice


dacă cele două numere sunt divizibile (a divizibil cu b sau b divizibil cu a).

De exemplu dacă se citesc numerele a = 25 şi b = 5 atunci algoritmul va afişa „DA”, iar


în cazul în care se citesc a = 25 şi b = 10 se va afişa „NU”.

În pseudocod algoritmul de rezolvare este:

a, b întregi
citeşte a, b
dacă (a % b = 0 sau b % a = 0) atunci
| scrie „DA”
| altfel
| scrie „NU”
|▄

Explicarea algoritmului: Se foloseşte o structură alternativă, în care se verifică a


este divizibil cu b (dacă restul împarţirii lui a la b = 0) sau invers.

2. Paritate

Se citeşte un număr întreg a. Să se realizeze un algoritm care să verifice dacă


numărul a este par, afişandu-se un mesaj corespunzator.

De exemplu dacă se citeşte pentru a valoarea 88 atunci algoritmul va afişa „PAR”, iar în
cazul în care se citeşte a = 15 se va afişa „IMPAR”.

În pseudocod algoritmul de rezolvare este:

a întreg
citeşte a
dacă (a % 2 = 0) atunci
| scrie „PAR”
| altfel
| scrie „IMPAR”
|▄

Explicarea algoritmului: Se foloseste o structură alternativa, în care se verifică


dacă a este divizibil cu 2 (daca restul împărţirii lui a la 2 = 0).

3. Divizorii unui număr a

Se citeşte un număr întreg a. Să se realizeze un algoritm care să afiseze toti divizorii


numărului a.

De exemplu dacă se citeşte pentru a valoarea 12 atunci algoritmul va afişa „1 2 3 4 6 12”,


iar în cazul în care se citeşte a = 13 se va afişa „1 13”.

În pseudocod algoritmul de rezolvare este:

a,i întreg
citeşte a
pentru i ← 1, a execută
| dacă (a % i = 0) atunci
| | scrie i
| |▄
|▄

Explicarea algoritmului: Se foloseste o structură repetitivă cu număr cunoscut de


repetiţii, în care se verifică dacă a este divizibil cu i (dacă restul împărţirii lui a la i = 0),
unde i ia toate valorile de la 1 la a.

4. Divizorii proprii ai unui număr a

Se citeşte un număr întreg a. Să se realizeze un algoritm care să afişeze toti divizorii


proprii ai numărului a.

De exemplu dacă se citeşte pentru a valoarea 12 atunci algoritmul va afişa „2 3 4 6”, iar
în cazul în care se citeşte a = 13 se va afişa mesajul „nu există divizori proprii”.
În pseudocod algoritmul de rezolvare este:

a, i, sem întreg
sem ← 0 //folosită pentru a reţine dacă am găsit divizori
citeşte a
pentru i ← 2, [a/2] execută
| dacă (a % i = 0) atunci
| | scrie i
| | sem ← 1 //marchez faptul ca am găsit divizori
| |▄
|▄
daca sem = 0 atunci
| scrie „nu există divizori proprii”
|▄

Explicarea algoritmului: Se cunoaşte faptul că divizorii proprii ai unui număr se


află în intervalul închis [2, [a/2] ], unde [a/2] este partea întreagă a lui „a/2”. Se foloseşte
o structură repetitivă cu număr cunoscut de repetiţii, în care se verifică dacă a este divizibil
cu i (dacă restul împărţirii lui a la i = 0), unde i ia toate valorile de la 2 la [a/2].

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