Vous êtes sur la page 1sur 25

COLEGIUL NAIONAL NICOLAE GRIGORESCU, CMPINA

PROIECT INTERDISCIPLINAR

Profesor ndrumtor: Realizatorul


proiectului:

Darie Simona Pele Liviu


ALGORITMI ELEMENTARI

~2~
Cuprins
PROIECT INTERDISCIPLINAR............................................................................................................1
Noiuni teoretice. .....................................................................................................................................6
Exemple. ...................................................................................................................................................6
Implementarea algoritmului. ...................................................................................................................7
Probleme specifice. ..................................................................................................................................7
Enun 1. ................................................................................................................................................7
Algoritm de rezolvare 1. .......................................................................................................................7
Enun 2. ................................................................................................................................................7
Algoritm de rezolvare 2. .......................................................................................................................7
Enun 3. ................................................................................................................................................8
Algoritm de rezolvare 3. .......................................................................................................................8
Enun 4. ................................................................................................................................................8
Algoritm de rezolvare 4. .......................................................................................................................8
Enun 5. ................................................................................................................................................9
Algoritm de rezolvare 5. .......................................................................................................................9
Noiuni teoretice. .................................................................................................................................. 10
Exemple. ................................................................................................................................................ 10
Implementarea algoritmului. ................................................................................................................ 10
Probleme specifice. ............................................................................................................................... 11
Enun 1. ............................................................................................................................................. 11
Algoritm de rezolvare 1. .................................................................................................................... 11
Enun 2. ............................................................................................................................................. 11
Algoritm de rezolvare 2. .................................................................................................................... 11
Enun 3. ............................................................................................................................................. 12
Algoritm de rezolvare 3. .................................................................................................................... 12
Enun 4. ............................................................................................................................................. 13
Algoritm de rezolvare 4. .................................................................................................................... 13
Enun 5. ............................................................................................................................................. 13
Algoritm de rezolvare 5. .................................................................................................................... 13
Noiuni teoretice. ................................................................................................................................... 14
Exemple. ................................................................................................................................................ 14

~3~
Implementare........................................................................................................................................ 14
Probleme specifice. ............................................................................................................................... 15
Enun 1. ............................................................................................................................................. 15
Algoritm de rezolvare 1. .................................................................................................................... 15
Enun 2. ............................................................................................................................................. 16
Algoritm de rezolvare 2. .................................................................................................................... 16
Enun 3. ............................................................................................................................................. 16
Algoritm de rezolvare 3. .................................................................................................................... 16
Enun 4. ............................................................................................................................................. 16
Algoritm de rezolvare 4. .................................................................................................................... 16
Enun 5. ............................................................................................................................................. 17
Algoritm de rezolvare 5. .................................................................................................................... 17
Noiuni teoretice. .................................................................................................................................. 18
Exemple. ................................................................................................................................................ 18
Implementare........................................................................................................................................ 18
Probleme specifice. ............................................................................................................................... 19
Enun 1. ............................................................................................................................................. 19
Algoritm de rezolvare 1. .................................................................................................................... 19
Enun 2. ............................................................................................................................................. 19
Algoritm de rezolvare 2. .................................................................................................................... 19
Enun 3. ............................................................................................................................................. 20
Algoritm de rezolvare 3. .................................................................................................................... 20
Enun 4. ............................................................................................................................................. 20
Algoritm de rezolvare 4. .................................................................................................................... 20
Enun 5. ............................................................................................................................................. 21
Algoritm de rezolvare 5. .................................................................................................................... 21
Noiuni teoretice. .................................................................................................................................. 22
Exemple. ................................................................................................................................................ 22
Impelmentare........................................................................................................................................ 22
Probleme specifice. ............................................................................................................................... 23
Enun 1. ............................................................................................................................................. 23
Algoritm de rezolvare 1. .................................................................................................................... 23
Enun 2. ............................................................................................................................................. 23
Algoritm de rezolvare 2. .................................................................................................................... 23

~4~
Enun 3. ............................................................................................................................................. 24
Algoritm de rezolvare 3. .................................................................................................................... 24
Enun 4. ............................................................................................................................................. 24
Algoritm de rezolvare 4. .................................................................................................................... 24
Enun 5. ............................................................................................................................................. 25
Algoritm de rezolvare 5. .................................................................................................................... 25

~5~
CALCULUL CELUI MAI MARE DIVIZOR
COMNU A DOU NUMERE NATURALE
NENULE

Noiuni teoretice.
Fie a si b doua numere intregi, unde |a| > |b| sau |a| = |b|, b nenul.

1) Se mparte |a| la |b|; dac restul mpririi este 0, atunci b este un c.m.m.d.c. ;

2) Dac restul impririi este nenul, se mparte |b| la primul rest (restul mpririi de

mai sus) i obinem al doilea rest;

3) Imprim, apoi, primul rest la al doilea i obtinem un nou rest (al treilea) i aa mai

departe;

4) Ultimul rest nenul este c.m.m.d.c. al celor 2 numere.

Observaii:
a) Deducem c exist exact dou i numai dou numere ntregi avnd proprietatea

celui mai mare divizor comun al numerelor a i b, acestea fiind numere ntregi opuse.

Cel nenegativ se noteaz (a,b);

b) Dac ultimul rest nenul este 1, atunci numerele sunt prime ntre ele;

c) Algoritmul lui Euclid se poate folosi i pentru aflarea c.m.m.d.c. al mai multor

numere, de pilda a,b,c.

Se calculeaz mai nti (a,b) = d, apoi (c,d) = e.

Cel mai mare divizor comun (c.m.m.d.c.) pentru 2 sau mai multe numere naturale.

Exemple.
1.
a = 36 ; b = 15
r = 36 % 15; r = 6 ; a = 15, b = 6
r = 15 % 6; r = 3 ; a = 6, b = 3
r = a % b; r = 0.
Deci CMMDC ( a,b )= 3

~6~
2.
a = 35 ; b = 20
r = 35 % 20; r = 15 ; a = 20, b = 15
r = 20 % 15; r = 5 ; a = 15, b = 5
r = a % b; r = 0.
Deci CMMDC ( a,b )= 5

Implementarea algoritmului.
citete a,b // nat. nenule
ct timp a % b 0 execut
r a % b
a b
b r

scrie b

Probleme specifice.

Enun 1.
Se consider nr. nat nenule a,b . S se determine CMMDC i CMMMC al celor dou nr.

Algoritm de rezolvare 1.

citete a,b // nat. Nenule

x a ; y b
ct timp x % y 0 execut
r x % y
x y
y r

scrie CMMDC( a,b )=,y , , CMMMC( a,b )= ,x*y/b

Enun 2.
Se consider nr. nat nenule n1,n2,n3 . S se determine CMMDC( n1,n2 ) i CMMMC( n2,n3 ) .

Algoritm de rezolvare 2.
citete n1,n2,n3 // nat. Nenule
x n1 ; y n2
ct timp x % y 0 execut
r x % y
x y
y r

~7~

x n2 ; y n3
ct timp x % y 0 execut
r x % y
x y
y r

scrie CMMDC( n1,n2 )=,y , , CMMMC( n2,n3 )= ,x*y/n3

Enun 3.
Se consider nr. nat nenule n1,n2,n3 . S se determine CMMMC ( x,y ) , CMMDC( y,z ) i
CMMMC( x,z ) .

Algoritm de rezolvare 3.
citete x,y,z // nat. Nenule
a x ; b y
ct timp a % b 0 execut
r1 a % b
a b
b r1

a y ; b z
ct timp a % b 0 execut
r2 a % b
a b
b r2

a x ; b z
ct timp a % b 0 execut
r3 a % b
a b
b r3

scrie CMMDC( y,z )=,r2 , endl CMMMC( x,y )= ,x*y/r1,


endl CMMMC( x,z )= ,x*z/r3

Enun 4.
Se consider fraciile . S se transforme fiecare fracie n fracie ireductibil.

Algoritm de rezolvare 4.
citete x,y,p,q // nat. Nenule
a x ; b y ; c p ; d q

~8~
ct timp a % b 0 execut
r1 a % b
a b
b r1

ct timp c % d 0 execut
r2 c % d
c d
d r2

x [x/r1] ; y [y/r1] ; c [c/r2] ; d [d/r2]


scrie x,/,y, ,p,/,q

Enun 5.
Se consider fraciile . S se determine suma acestor fracii ca fracie ireductibil.

Algoritm de rezolvare 5.
citete x, y, p, q
ax*q+p*y
by*q
ct timp a%b0 execut
ra%b
ab
br

a[(x*q+p*y)/b]
b[(y*q)/b]
scrie a,'/',b

~9~
CUTAREA CELUI MAI MIC DIVIZOR
PROPRIU PENTRU NU NUMR
NATURAL NENUL

Noiuni teoretice.
Un numr x este numit divizor al altui numr y, dac y se poate scrie ca produsul dintre x i un alt
numr ntreg t.

Dac a este un numr ntreg vom numi numrul b divizor al lui a dac exist numrul c ntreg astfel
ca a = b . c i scriem b | a, de asemenea c | a.

Exemple :

a) 2 este divizor pentru 6 pentru c 6 = 2 . 3. Scriem 2 | 6.


b) 1 | n, n | n i n | 0 pentru orice numr ntreg nenul;
c) un numr prim are doi divizori naturali.

Exemple.
X = 100 2

X = 75 5

Implementarea algoritmului.
citete x // nr. nat. nenule
p 0
pentru i 2 , execut
dac x % i = 0
p i
stop repetiie


dac p 0 atunci
scrie p
altfel
scrie Nu exist divizor pentru x

~ 10 ~
Probleme specifice.

Enun 1.
Se consider nr. nat. a i b. S se afieze cel mai mare divizor propriu al lui a i al lui b.

Algoritm de rezolvare 1.

citete a,b//nr. nat.


P 0
pentru i 2, execut
dac a % i = o atunci
p i
stop repetiie

dac p = 0 atunci scrie Nu exist pentru a


altfel scrie p

P1 0
pentru i 2, execut
dac b % i = o atunci
p1 i
stop repetiie

dac p = 0 atunci scrie Nu exist pentru a


altfel scrie p1

Enun 2.
Se consider x,y nr. nat. S se calculeze maximul dintre cel mai mare divizor propriu al lui x i cel
mai mic div. propriu al lui y.

Algoritm de rezolvare 2.
citete x,y// nr. nat.
P 0
pentru i 2, execut
dac x % i = 0 atunci
p i
stop repetiie

~ 11 ~

dac p 0 atunci scrie p x/p

p1 0
pentru i 2, execut
dac y % i = 0 atunci
p1 i
stop repetiie

dac p1 0 atunci scrie p1 x/p1

max p
dac p1 max atunci
max p1
scrie max
altfel
scrie max

Enun 3.
Se consider nr. nat. x 1. S se determine cel mai mic divizor al lui x care este strict mai mare
dect 1.

Algoritm de rezolvare 3.
citete x// nat. mai mare dect 1

P 0
pentru i 2, execut
dac x % i = 0 atunci
p i
stop repetiie

dac p 1 atunci
scrie p
altfel
scrie Nu exist

~ 12 ~
Enun 4.
Se consider nr. nat. y. S se determine cel mai mare divizor al lui y strict mai mic dect el.

Algoritm de rezolvare 4.
citete y
P 0
pentru i 2, execut
dac y % i = 0 atunci
p i
stop repetiie

dac p 0 atunci
scrie p
altfel
scrie Nu exist

Enun 5.
Se consider nr. nat. nenul x. S se determine cel mai mic nr. prim y mai mare dect x.

Algoritm de rezolvare 5.
citete x
pentru y x+1,2x
P 0
pentru i 2, execut
dac y % i = 0 atunci
p i
stop repetiie


dac p = 0 atunci
stop repetiie

~ 13 ~
OPERAREA CU CIFRELE UNUI NUMR
NATURAL

Noiuni teoretice.
Se va folosi rezultatul matematic conform cruia restul mpririi la 10 a unui nr. natural reprezint
ultima cifr a nr., iar ctul mpririi la 10 este nr. fr ultima cifr. Repetnd aceast operaie pn
cnd nr. va deveni 0 obinem toate cifrele sale.

Exemple.
n = 13

p = n % 10 = 3

s=s+p=0+3=3

n = pt.nt( n/10 ) = pt. nt ( 13/10 ) = pt. nt ( 1.3 ) = 1

p = n % 10 = 1

s=s+p=3+1= 4

n=0

Implementare.
SUMA CIFRELOR :

citete n //nat.
s 0
ct timp n 0 execut
c n % 10
s s + c
n n/10

scrie s

~ 14 ~
PRODUSUL CIFRELOR :

citete n //nat.
p 1
execut
c n % 10
p p * c
n n/10
ct timp n 0

scrie p

NUMRUL DE CIFRE :

citete n //nat.
nr. 0
execut
nr. nr. + 1
n n/10
ct timp n 0

scrie nr.

PRIMA CIFR A NUMRULUI :

citete n //nat.
ct timp n 0 execut
n n/10

scrie n

Probleme specifice.
Enun 1.
Fie a un nr. nat. S se determine suma cifrelor sale.

Algoritm de rezolvare 1.
citete a //nat.
s 0
ct timp a 0 execut
c a % 10
s s + c
a a/10

~ 15 ~

scrie s

Enun 2.
Fie b un nr. nat. S se determine produsul cifrelor sale.

Algoritm de rezolvare 2.
citete b //nat.
p 1
execut
c b % 10
p p * c
b b/10
ct timp b 0

scrie p

Enun 3.
Fie x un nr. nat. S se determine prima sa cifr.

Algoritm de rezolvare 3.
citete x //nat.
ct timp x 0 execut
x x/10

scrie x

Enun 4.
Fie y un nr. nat. S se determine suma i nr. de cifre.

Algoritm de rezolvare 4.
citete y //nat.
s 0; nr. 0
execut
nr. nr.+ 1
c p % 10
s s + c
p p/10
ct timp p 0

scrie p

~ 16 ~
Enun 5.
Fie z un nr. nat. S se determine suma cifrelor impare i produsul cifrelor pare.

Algoritm de rezolvare 5.
citete z //nat.
s 0; p 1
ct timp x 0 execut
c x % 10
dac c % 2 0 atunci
s s + c
altfel
dac c 0 atunci
p p * c


x x/10

scrie s,p

~ 17 ~
DESCOMPUNEREA N FACTORI PRIMI
PENTRU UN NUMR NATURAL
NENUL

Noiuni teoretice.
Se pornete de la primul factor prim posibil, 2; ct timp numrul dat este diferit de 1, se execut
operaiile: dac factorul l divide pe n l afim ct timp numrul se mparte exact la un factor prim
se execut mprirea, se prelucreaz factorul i ctul devine demprit se trece apoi la urmtorul
factor prim.

Exemple.

Implementare.
citete x// natural nenul
f 2 //primul factor prim posibilct timp n1
ct timp x 1 execut
P 0
ct timp x % f = 0 execut
p p + 1; x [x/f]

~ 18 ~
dac p 0 atunci
Instruciunile din aceast structur
depind de cerina problemei.

f f + 1

Rezultatul se va interpreta n funcie de problem.

Probleme specifice.
Enun 1.
Fie a un nr. nat. nenul. S se determine suma factorilor primi.

Algoritm de rezolvare 1.
citete a //nat. nenul
f 2; s 0
ct timp a 1 execut
P 0
ct timp a % f = 0 execut
p p + 1; a [a/f]

dac p 0 atunci
s s + f

f f + 1

scrie s

Enun 2.
Fie b un nr. nat. nenul. S se determine cel mai mare factor prim.

Algoritm de rezolvare 2.
citete b //nat. nenul
f 2
ct timp b 1 execut
P 0
ct timp b % f = 0 execut
p p + 1; b [b/f]

f f + 1

~ 19 ~

dac b = 1 atunci scrie Nu exist.
altfel scrie f f - 1

Enun 3.
Fie x un nr. nat. nenul. S se determine numrul de factori primi.

Algoritm de rezolvare 3.
citete x //nat. nenul
f 2; nr. 0
ct timp x 1 execut
P 0
ct timp x % f = 0 execut
p p + 1; x [x/f]

dac p 0 atunci
nr. nr. + 1

f f + 1

dac nr. = 0 atunci scrie Nu exist.


altfel scrie nr.

Enun 4.
Fie y un nr. nat. nenul. S se afieze factorii primi.

Algoritm de rezolvare 4.
citete x //nat. nenul
f 2; nr. 0
ct timp x 1 execut
P 0
ct timp x % f = 0 execut
p p + 1; x [x/f]

dac p 0 atunci
scrie f

f f + 1

~ 20 ~
Enun 5.
Fie n un nr. nat. nenul. S se determine factorul ce apare la puterea cea mai mare.

Algoritm de rezolvare 5.
citete n//nat. nenul
f 2; max 0
ct timp n 1 execut
P 0
ct timp x % f = 0 execut
p p + 1; n [n/f]

dac p 0 atunci
dac p max atunci
max p


f f + 1

~ 21 ~
PRELUCRAREA IRURILOR DINTR-O
SINGUR TRAVERSARE

Noiuni teoretice.
Pentru a prelucra un ir de numere trebuie s tim fie numrul de termeni n discuie (ir cu numr
cunoscut de termeni), fie s avem un termen care s marcheze sfritul irului.

Exemple.
IR CU NUMR CUNOSCUT DE TERMENI :

1, 2, 3,...,N

IR CU TERMINATOR (\0)

1,2,3,6,437,48,...,345,...,... \0

Impelmentare.
IR CU NUMR CUOSCUT DE TERMENI:

citete n// numr natural


Stri iniiale
pentru i 1,n execut
citete t
Prelucreaz t

Interpretarea rezultatului.

IR CU TERMINATOR INCLUS:

Stri iniiale
execut
citete t
Prelucreaz t
ct timp t terminator

Interpretarea rezultatului.

~ 22 ~
IR CU TERMINATOR EXCLUS
citete t
Stri iniiale
ct timp t terminator execut
Prelucreaz t
citete t

Interpretarea rezultatului.

Probleme specifice.

Enun 1.
Se dau n numere naturale s se verifice dac oricare dintre cele n numere au exact 3 cifre.

Algoritm de rezolvare 1.
citete n// numr natural
nr1. 0
pentru i 1,n execut
citete t
nr2. 0
ct timp t 0 execut
c t % 10
dac c 0 atunci
nr2. nr2. + 1

t [t/10]

dac nr2. = 3 atunci
nr1. nr1. + 1

dac nr1. = n atunci scrie Da


altfel scrie Nu

Enun 2.
Se dau z numere naturale. S se calculeze suma i produsul termenilor.

Algoritm de rezolvare 2.
citete z// numr natural
nr1. 0; s 0; p 1

~ 23 ~
pentru i 1,z execut
citete t
s s + t
p p * t

scrie s, p

Enun 3.
Se dau m numere naturale. S se calculeze minimul i maximul irului.

Algoritm de rezolvare 3.
citete m// numr natural
citete t
nr1. 0; max t; min t
pentru i 1,m execut
citete t
dac t < min atunci
min t

dac t > max atunci
max t

scrie max, min

Enun 4.
Se dau y numere naturale. Se gsete tremenul a n acest ir ?

Algoritm de rezolvare 4.
citete y, a// numr natural
adv. 0
pentru i 1,y execut
citete t
dac t = a atunci
adv. 1
stop repetiie

dac adv. = 0 atunci scrie Nu


altfel scrie Da

~ 24 ~
Enun 5.
Se dau u numere naturale. De cte ori apare q n ir ?

Algoritm de rezolvare 5.
citete u, q// numr natural
nr. 0
pentru i 1,u execut
citete t
dac t = q atunci
nr. nr. + 1

scrie q apare n ir de, ,q, ,ori

~ 25 ~

Vous aimerez peut-être aussi