Sunteți pe pagina 1din 71

Algoritmi

PROFESOR MARIAN CIRLIG

Din Cuprins:
o NOIUNI INTRODUCTIVE
o DEFINIRE
o EXEMPLE DIN MATEMATIC
o METODE DE REPREZENTARE
LIMBAJ PSEUDOCOD
SCHEME LOGICE
o STRUCTURI FUNDAMENTALE DE
CONTROL
STRUCTURA LINIAR
STRUCTURA DECIZIONAL
STRUCTURA REPETITIV
o APLICAII

NOIUNI INTRODUCTIVE

Pentru a nelege noiunea de


algoritm vom porni de la un
exemplu.
EX:
S presupunem c mama ne
roag s cumprm pine.
Ce trebuie s facem?

Cnd am decis s plecm la


magazin vom proceda astfel:
- lum banii necesari;
- ne ndreptm ctre magazin;
- solicitm o pine;
- o pltim;
- venim cu ea ctre cas;
- o dm mamei.
4

Am

obinut astfel un algoritm:

* care conine 6 etape (deci un numr finit de


operaii);
* care au fost scrise n ordinea n care trebuie
executate (deci sunt ordonate);
* fiecare etap este explicat n cuvinte (deci
este complet definit);
* i care pornind de la ceva (n cazul nostru
bani) obinem ceea ce dorim (pinea).
5

Putem defini acum noiunea de algoritm sintetiznd cele


spuse astfel:

DEF:

Se numete algoritm o
secven finit de
operaii ordonat i
complet definit care
pornind de la datele de
intrare produce
rezultatele.

PROPRIETATILE ALGORITMULUI

Generalitatea const n aceea c un algoritm


nu rezolv o singur problem ci o clas de
probleme de acelai tip;
Finititudinea numrul transformrilor ce
trebuie aplicat unei informaii de intrare pentru
a obine imformaia final este finit;
Unicitatea toate transformrile prin care trece
informaia final sunt univoc determinate de
regulile algoritmului.

Un alt exemplu:
Presupunem c vrem s citim un
numr ntreg (pe care noi l introducem
de la tastatur) i l tiprim (pe ecranul
monitorului). irul aciunilor ce trebuie
executate este urmtorul:
- citete numrul
- tiprete numrul
i n acest caz am obinut un
algoritm. Aciunile trebuie executate n
ordinea n care au fost puse. Astfel, nu
putem tipri numrul nainte ca acesta
8
s fie cunoscut (citit).

Tem:
Scriei un algoritm care calculeaz suma a
dou numere ntregi a i b.
Modificai apoi algoritmul astfel nct s
calculeze i produsul celor dou numere.

Rezolvare:
Algoritmul problemei:
1. Solicit valori pentru a i b
2. Calculeaz S=a+b
3. Furnizeaz rezultatul pentru S

10

Algoritmul modificat are forma:

1. Solicit valori pentru a i b


2. Calculeaz S=a+b
3. Calculeaz P=a*b
4. Furnizeaz rezultatul pentru S i pentru P

11

MARIMI CU CARE OPEREAZA


ALGORITMII

CONSTANTE - o mrime ce are atribuit o


valoare care nu se modific n timpul execuiei
Exemplu a=7 sau nume=Marian pe tot
parcursul derularii algoritmului a va lua valoarea
7 sau pentru nume va fi afisat Marian
VARIABILE - o mrime care poate lua o
mulime de valori posibile n cursul prelucrrii.

Mrimile pot fi succesiuni de caractere alfabetice,


numerice i chiar speciale. Este indicat ca aceste
numere atribuite mrimilor s fie sugestive.

OPERATII UTILIZATE IN ALGORITMI


1.Operaii de calcul sunt operaiile obinuite de : adunare (+), scdere (-), nmulire (*),
mprire (/), ridicare la putere.
Acestea intervin n cadrul expresiilor care sunt o succesiune de variabile i constante legate
ntre ele prin operatori ( semne de operaii ) i eventual paranteze, dup reguli bine definite.
n cadrul expresiilor operaiile se execut n ordinea natural, conform prioritilor.
ntr-un algoritm o expresie apare ntotdeauna n cadrul unei operaii de atribuire.
2.Operaii de atribuire: printr-o asemenea operaie se atribuie unei variabilie o valoare a unei
- constante, variabile, expresii.
Operaia de atribuire se noteaz cu: := sau
Ex: NUME : = IOAN (constant)
NUME IOAN
NUME : = NUMEP (variabil) NUME NUMEP
A:= 1,
A1,
A:= X-1, A:= A+1
3.Operaii de test (decizie): scopul acestei operaii este de a verifica relaiile existente ntre
datele asupra crora opereaz algoritmul pentru a decide transmiterea controlului execuiei
ctre o anumit instruciune.
n urma executrii unei operaii de test rezultatul obinut este una din aa numitele valori logice
de adevr: adevrat sau fals.
Operaiile de test se reprezint prin semnele: <;
4.Operaii de intrare/ieire : se refer la introducerea datelor de intrare respectiv furnizarea
rezultatelor.
Operaii de intrare citire, atribuire citete
Operaii de ieire - scriere, afiare scriere

Metode de reprezentare
a algoritmilor
Limbajul natural nu permite o
descriere suficient de exact a
algoritmilor.
Din acest motiv pentru
reprezentarea algoritmilor se
folosesc diferite forme de descriere
caracteristice.
14

Dou din cele mai folosite forme de


descriere a algoritmilor sunt:

Limbajul pseudocod;
Scheme logice.

15

Reprezentarea algoritmilor n
limbaj pseudocod
Limbajul pseudocod
folosete cuvinte cheie, adic
nite cuvinte cu neles
prestabilit ce indic operaia
care se execut.
16

Exemplu:
S se calculeze suma a dou numere naturale a i b.
Rezolvare:
a) Algoritmul:

1. Solicit valori pentru a i b


2. Calculeaz S=a+b
3. Furnizeaz rezultatul pentru S
17

b)

Pseudocodul:
citete a,b
S=a+b
scrie S
stop

18

Tem:
S se calculeze media aritmetic a 3
numere ntregi x, y i z. Se cer:
a) algoritmul;
b) pseudocodul.

19

Reprezentarea algoritmilor prin scheme


logice
Schemele logice utilizeaz sgei de legtur
ntre diferite forme geometrice care simbolizeaz
aciunile ce urmeaz a fi executate.
n continuare sunt prezentate blocurile care
intr n componena unei scheme logice:
20

1.

Bloc pentru introducerea datelor


(bloc de citire)

Lista variabile

unde List variabile cuprinde numele simbolice ale


variabilelor crora li se asociaz valori numerice
(citite).
21

2. Bloc de extragere a rezultatelor


(bloc de scriere)

Lista variabile

unde variabilele menionate n list constituie


rezultate ale problemei.

22

3. Bloc de calcul
(bloc de atribuire)

V = expresie

Un astfel de bloc indic urmtoarea succesiune de


operaii:
- se calculeaz expresia din membrul drept;
- se atribuie variabilei din membrul stng valoarea
calculat anterior (V reprezint numele
23
variabilei).

4. Bloc de decizie
(bloc decizional)
TRUE

condiie

FALSE

Condiia logic nscris poate s aib


valoarea adevrat sau fals; n funcie de
valoarea logic obinut, blocul urmtor care
va fi parcurs va fi legat de ramura
true(adevrat) sau ramura false(fals). 24

5. Bloc de nceput
(bloc de start)

START

Indic nceputul algoritmului.


25

6. Bloc de sfrit
(bloc de stop)

STOP

Indic sfritul algoritmului.

26

EXEMPLU:
S se calculeze suma a dou numere naturale a
i b.
Rezolvare:
a) Algoritmul:
1. Solicit valori pentru a i b
2. Calculeaz S=a+b
3. Furnizeaz rezultatul pentru S
27

b) Pseudocodul:
citete a,b
S=a+b
scrie S
stop

28

START

C) SCHEMA LOGIC:

a, b
S=a+b

STOP

29

TEM:
S se calculeze produsul a trei numere
ntregi x, y i z.
Se cer:
a) algoritmul;
b) pseudocodul;
c) schema logic.
30

STRUCTURI DE
CONTROL
O structur nseamn o combinaie de
operaii utilizat n scrierea algoritmilor. Orice
algoritm care are un punct de nceput i un
punct de sfrit poate fi reprezentat ca o
combinaie a trei structuri de control:
Secvena;
Decizia;
Repetiia.
31

STRUCTURA
SECVENIAL
Secvena reprezint o succesiune de dou sau
mai multe operaii care conine o transformare de
date:
Secvena A

32
n care Secvena A reprezint o transformare de date.

EXEMPLU:

a)

S se calculeze suma, produsul i diferena


a trei nume ntregi x, y i z.
algoritmul:
1. Se dau valori pentru x, y i z
2. Calculeaz S=x+y+z
3. Calculeaz P=x*y*z
4. Calculeaz diferena D=x-y-z
5. Afieaz rezultatele pentru S, P i D.

33

b) pseudocodul:
citete x, y, z
S=x+y+z
P=x*y*z
D=x-y-z
scrie S, P, D
stop
34

c) Schema logic:
START
x,y,z
S=x+y+z
P=x*y*z
D=x-y-z
S, P, D
STOP
35

TEM:

Se

dau trei numere naturale a, b i c. S se


calculeze valorile expresiilor:
S1=(a+b)*(a-b)
S2=a*b+a*c+b*c
P=S1*S2

Se cer:
a) algoritmul;
b) pseudocodul;
c) schema logic.
36

STRUCTURA DECIZIONAL
Decizia reprezint alegerea unei operaii sau
a unei secvene de operaii dintre dou
alternative posibile. Forma structurii decizionale
este urmtoarea:
true
Secvena A

condiie

false
Secvena B
37

n limbaj natural, execuia poate fi


descris astfel:
- se evaluez condiia;
- dac condiia este adevrat, se execut Secvena A;
- n caz contrar (dac condiia este fals) se execut
Secvena B.
n pseudocod, execuia se descrie astfel:
dac condiie atunci
Secvena A
altfel
Secvena B
38

EXEMPLU
:

1.
2.

Se dau dou numere naturale a i b. S se


determine care dintre ele are valoarea mai
mare.
Rezolvare:
a) Algoritmul:
Se dau valori lui a i b
Se determin maximul dintre a i b:
dac a este mai mare ca b atunci
maximul este a
altfel maximul este b

3. Se afieaz maximul

39

b) Pseudocodul:
citete a
dac a>b atunci
max=a
altfel
max=b
scrie max
stop

40

c) Schema logic:

start
a, b
true

a>b

max=a

false
max=b

max
stop

41

TEM:
S se determine dac un numr x este

pozitiv sau nu.


Se cer:
- algoritmul;
- pseudocodul;
- schema logic.

42

DECIZIA CU VARIANTA UNEI CI


NULE
Mai exist o form a structurii decizionale i
anume cea cu varianta unei ci nume.
Forma acestei structuri este urmtoarea:

true

condiie

false

Secvena A
43

N LIMBAJ NATURAL, EXECUIA


POATE FI
DESCRIS
ASTFEL:
- se
evaluez condiia;
- dac condiia este adevrat, se execut Secvena A
apoi execuia structurii decizionale se ncheie;
- n caz contrar (dac condiia este fals) execuia
structurii decizionale se ncheie.
n pseudocod, execuia se descrie astfel:
dac condiie atunci
Secvena A
44

Se citete o valoare ntreag a. n cazul n care


EXEMPLU:

1.
2.

aceasta este nul (egal cu 0) se va tipri mesajul


am citit zero. Altfel, nu se va da mesaj.
Rezolvare:
a) Algoritmul:
Se d valoare lui a
Se determin dac a este nul:
dac a este egal cu zero atunci se va tipri
am citit zero
45

b) Pseudocodul:
citete a
dac a=0 atunci
scrie am citit zero

stop
46

c) Schema logic:
start
a
true

a=0

false

am citit zero

stop

47

Se

TEM:

citete de la tastatur un numr ntreg


x. n cazul n care acesta este cuprins n
intervalul [1,100] se va afia mesajul
numr cuprins n interval, altfel nu se
va afia nici un mesaj.
Se cer:
algoritmul;
pseudocodul;
schima logic.

48

STRUCTURA REPETITIV
Repetiia

(bucla sau iteraia) asigur


execuia unei secvene n mod repetat n
funcie de o anumit condiie.
Exist trei tipuri de structuri repetitive:
- bucla cu test iniial;
- bucla cu test final;
- bucla cu contor.
49

1. STRUCTURA REPETITIV CU TEST


Structura repetitiv cu test iniial are forma:
INIIAL

condiie

false

true
Secvena A
50

Execuia structurii repetitive cu test iniial


presupune parcurgerea urmtoarelor etape:
1.Sea evalueaz condiia; dac rezultatul este
adevrat se trece la pasul 2, altfel execuia se
ncheie;
2. Se execut secvena A, apoi se trece la
pasul 1).

51

EXPRIMAREA N PSEUDOCOD:
ct timp condiie execut
Secvena A

52

EXEMPLU:

S se calculeze suma primelor n numere naturale.


Rezolvare:
a) Algoritmul:
1. Se d valoare lui n;
2. Se d lui S valoarea 0 i lui I valoarea 1
3. Ct timp I este mai mic sau egal cu n se calculeaz
suma dup formula S=S+I
i I ia valoarea urmtorului termen al sumei, dup
formula I=I+1
4. Se afieaz valoarea sumei S.

53

B)
PSEUDOCODUL:
citete
n

S=0
I=1
ct timp I<=n execut
S=S+I
I=I+1
scrie S
stop
54

C) SCHEMA LOGIC:
start
n
s=0
i=1
i<=n
true
s=s+i

false
s
stop

i=i+1
55

TEM

se calculeze produsul
primelor n numere naturale.
Se cer:
a) algoritmul;
b) pseudocodul;
c) schema logic.

56

2. STRUCTURA REPETITIV CU TEST


Structura repetitiv cu test final are forma:
FINAL:

Secvena A

condiie
true

false
57

Execuia buclei cu test final presupune


a
parcurgerea urmtoarelor etape:
1. Se execut secvena A
2. Se evalueaz condiia; dac rezultatul
este fals, se continu cu pasul 1), n caz
contrar, se ncheie execuia buclei.

58

EXPRIMAREA N PSEUDOCOD:
repet
Secvena A
pn cnd condiie

59

se calculeze suma primelor n numere


EXEMPLU:
naturale.
S

Rezolvare:
a) Algoritmul:
1. Se d valoare lui n;
2. Se d lui S valoarea 0 i lui I valoarea 1
3. Se calculeaz suma dup formula S=S+I
i I ia valoarea I=I+1, pn cnd I>n.
4. Se afieaz valoarea sumei.

60

B) PSEUDOCODUL:

citete n
S=0
I=1
repet
S=S+I
I=I+1
pn cnd I>n
scrie S
stop

61

C) SCHEMA LOGIC: start


n
s=0
i=1
s=s+i
i=i+1
i>n
true

stop

false
62

TEM:

se calculeze produsul
primelor n numere naturale.
Se cer:
- algoritmul;
- pseudocodul;
- schema logic.

63

3. STRUCTURA REPETITIV CU
CONTOR:
Structura repetitiv cu contor are forma:
contor=vi
false

contor<=vf

true
secvena A

unde cu vi s-a notat valoarea


iniial, iar+pas
cu vf s-a notat
contor=contor
valoarea final.
64

Aceast structur are un numr cunoscut de repetiii a


Secvenei A, motiv pentru care se numete structur
repetitiv cu contor.

Execuia structurii repetitive cu contor presupune


parcurgerea urmtoarelor etape:
1).Variabila de ciclare contor ia valoarea iniial vi.
2). Dac contor este mai mic sau egal cu valoarea final vf, se
execut Secvena A, se adun 1 la contor i se reia cu
pasul 2).. Altfel, execuia este ncheiat.

65

Exprimarea n pseudocod:
pentru contor=vi, vf execut
secvena A

66

se calculeze suma primelor n numere


EXEMPL
naturale.
Rezolvare:
U:a) Algoritmul:

1. Se d valoare lui n;
2. Se d lui S valoarea 0 i lui I valoarea 1
3. Pentru I lund valori de la 1 pn la n se
calculeaz suma dup formula S=S+I
4. Se afieaz valoarea sumei.
67

B) PSEUDOCODUL:
citete n
S=0
petntru I=1, n execut
S=S+I
scrie S
stop
68

C) SCHEMA
LOGIC:
start
n
s=0
i=1
false

s
stop

i<=n
true

i=i+1
s=s+i
69

TEM:
S

se calculeze aria si perimterul unui


dreptunghi
Sa se calculeze minumul dintre tri
numere narurale
Se cer:
- algoritmul;
- pseudocodul;
- schema logic.
70

GATA!!!!!!!!

71

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