Sunteți pe pagina 1din 70

CLUBUL COPIILOR VISEU DE SUS MARAMURES

Algoritmi
1

prof. RalucaMaria Moldovan

Din Cuprins:
o NO IUNI 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 APLICA II
2

NO IUNI INTRODUCTIVE
Pentru a n elege no iunea de algoritm vom porni de la un exemplu. EX: S presupunem c mama ne roag s cump r m pine. Ce trebuie s facem?
3

Cnd am decis s plec m la magazin vom proceda astfel: - lu m banii necesari; - ne ndrept m c tre magazin; - solicit m o pine; - o pl tim; - venim cu ea c tre cas ; - o d m mamei.
4

Am

ob inut astfel un algoritm:

* care con ine 6 etape (deci un num r finit de opera ii); * 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) ob inem ceea ce dorim (pinea).

Putem defini acum no iunea de algoritm sintetiznd cele spuse astfel:

DEF:

Se nume te algoritm o secven finit de opera ii ordonat i complet definit care pornind de la datele de intrare produce rezultatele.
6

Un alt exemplu: Presupunem c vrem s citim un num r ntreg (pe care noi l introducem de la tastatur ) i l tip rim (pe ecranul monitorului). irul ac iunilor ce trebuie executate este urm torul: - cite te num rul - tip re te num rul i n acest caz am ob inut un algoritm. Ac iunile trebuie executate n ordinea n care au fost puse. Astfel, nu putem tip ri num rul nainte ca acesta 7 s fie cunoscut (citit).

Tem :
Scrie i un algoritm care calculeaz suma a dou numere ntregi a i b. Modifica i 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

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

10

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.
11

Dou din cele mai folosite forme de descriere a algoritmilor sunt:

limbajul pseudocod; Scheme logice.

12

Reprezentarea algoritmilor n limbaj pseudocod Limbajul pseudocod folose te cuvinte cheie, adic ni te cuvinte cu n eles prestabilit ce indic opera ia care se execut .
13

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


14

b)

Pseudocodul:
cite te a,b S=a+b scrie S stop

15

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

16

Reprezentarea algoritmilor prin scheme logice


Schemele logice utilizeaz s ge i de leg tur ntre diferite forme geometrice care simbolizeaz ac iunile ce urmeaz a fi executate. n continuare sunt prezentate blocurile care intr n componen a unei scheme logice:
17

1.

Bloc pentru introducerea datelor (bloc de citire)

List variabile

unde List variabile cuprinde numele simbolice ale variabilelor c rora li se asociaz valori numerice (citite).
18

2. Bloc de extragere a rezultatelor (bloc de scriere)

List variabile

unde variabilele men ionate n list constituie rezultate ale problemei.


19

3. Bloc de calcul (bloc de atribuire)

V = expresie

Un astfel de bloc indic urm toarea succesiune de opera ii: - se calculeaz expresia din membrul drept; - se atribuie variabilei din membrul stng valoarea calculat anterior (V reprezint numele variabilei). 20

4. Bloc de decizie (bloc decizional)

TRUE

condi ie

FALSE

Condi ia logic nscris poate s aib valoarea adev rat sau fals; n func ie de valoarea logic ob inut , blocul urm tor care va fi parcurs va fi legat de ramura true(adev rat) sau ramura false(fals).
21

5. Bloc de nceput (bloc de start)

START

Indic nceputul algoritmului.

22

6. Bloc de sfr it (bloc de stop)

STOP

Indic sfr itul algoritmului.

23

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
24

b) Pseudocodul:
cite te a,b S=a+b scrie S stop

25

a
C) SCHEMA LOGIC :

START a, b S=a+b

STOP

26

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

STRUCTURI DE
CONTROL

O structur nseamn o combina ie de opera ii utilizat n scrierea algoritmilor. Orice algoritm care are un punct de nceput i un punct de sfr it poate fi reprezentat ca o combina ie a trei structuri de control:  Secven a;  Decizia;  Repeti ia. 28

STRUCTURA SECVEN IAL


Secven a reprezint o succesiune de dou sau mai multe opera ii care con ine o transformare de date: Secven a A

29 n care Secven a A reprezint o transformare de date.

EXEMPLU:
a)

S se calculeze suma, produsul i diferen a 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 diferen a D=x-y-z 5. Afi eaz rezultatele pentru S, P i D.
30

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


31

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

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 .


33

STRUCTURA DECIZIONAL
Decizia reprezint alegerea unei opera ii sau a unei secven e de opera ii dintre dou alternative posibile. Forma structurii decizionale este urm toarea:
true Secven a A false Secven a B
34

condi ie

n limbaj natural, execu ia poate fi descris astfel:


- se evaluez condi ia; - dac condi ia este adev rat, se execut Secven a A; - n caz contrar (dac condi ia este fals ) se execut Secven a B. n pseudocod, execu ia se descrie astfel: dac condi ie atunci Secven a A altfel Secven a B
35

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
36

3. Se afi eaz maximul

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

37

c) Schema logic :

start a, b true max=a a>b false max=b

max
38

stop

TEM :
S

se determine dac un num r x este pozitiv sau nu. Se cer: - algoritmul; - pseudocodul; - schema logic .

39

DECIZIA CU VARIANTA UNEI C I NULE


Mai exist o form a structurii decizionale i anume cea cu varianta unei c i nume. Forma acestei structuri este urm toarea:

true Secven a A

condi ie

false

40

N LIMBAJ NATURAL, EXECU IA POATE FI DESCRIS ASTFEL: - se evaluez condi ia; - dac condi ia este adev rat, se execut Secven a A apoi execu ia structurii decizionale se ncheie; - n caz contrar (dac condi ia este fals ) execu ia structurii decizionale se ncheie. n pseudocod, execu ia se descrie astfel: dac condi ie atunci Secven a A
41

EXEMPLU:

1. 2.

Se cite te o valoare ntreag a. n cazul n care aceasta este nul (egal cu 0) se va tip ri 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 tip ri am citit zero

42

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

stop
43

c) Schema logic :
start a true am citit zero a=0 false

44

stop

TEM :
Se

cite te de la tastatur un num r ntreg x. n cazul n care acesta este cuprins n intervalul [1,100] se va afi a mesajul num r cuprins n interval, altfel nu se va afi a nici un mesaj. Se cer: algoritmul; pseudocodul; schima logic .
45

STRUCTURA REPETITIV
ia (bucla sau itera ia) asigur execu ia unei secven e n mod repetat n func ie de o anumit condi ie. Exist trei tipuri de structuri repetitive: - bucla cu test ini ial; - bucla cu test final; - bucla cu contor.
Repeti
46

1. STRUCTURA REPETITIV CU TEST INI IAL


Structura repetitiv cu test ini ial are forma:

condi ie true Secven a A

false

47

Execu ia structurii repetitive cu test ini ial presupune parcurgerea urm toarelor etape: a 1.Se evalueaz condi ia; dac rezultatul este adev rat se trece la pasul 2, altfel execu ia se ncheie; 2. Se execut secven a A, apoi se trece la pasul 1).

48

EXPRIMAREA N PSEUDOCOD:
ct timp condi ie execut Secven a A

49

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 urm torului termen al sumei, dup formula I=I+1 4. Se afi eaz valoarea sumei S.

50

B)

PSEUDOCODUL:

cite te n S=0 I=1 ct timp I<=n execut S=S+I I=I+1 scrie S stop
51

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

false s stop

TEM
S

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

53

Structura repetitiv cu test final are forma:

2. STRUCTURA REPETITIV TEST FINAL:

CU

Secven a A false

condi ie true

54

Execu ia buclei cu test final presupune a parcurgerea urm toarelor etape: 1. Se execut secven a A 2. Se evalueaz condi ia; dac rezultatul este fals, se continu cu pasul 1), n caz contrar, se ncheie execu ia buclei.

55

EXPRIMAREA N PSEUDOCOD:

repet Secven a A pn cnd condi ie

56

EXEMPLU:
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. Se calculeaz suma dup formula S=S+I i I ia valoarea I=I+1, pn cnd I>n. 4. Se afi eaz valoarea sumei.
S

57

B) PSEUDOCODUL:

cite te n S=0 I=1 repet S=S+I I=I+1 pn cnd I>n scrie S stop
58

C) SCHEMA LOGIC : start


n s=0 i=1 s=s+i i=i+1 false i>n true stop
59

TEM :
S

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

60

3. STRUCTURA REPETITIV CU CONTOR:


Structura

repetitiv cu contor are forma:


contor=vi

false

contor<=vf

true secven a A

unde cu vi s-a notat valoarea ini ial , iar cu vf s-a notat contor=contor +pas valoarea final .
61

Aceast structur are un num r cunoscut de repeti ii a Secven ei A, motiv pentru care se nume te structur repetitiv cu contor. Execu ia structurii repetitive cu contor presupune parcurgerea urm toarelor etape: 1).Variabila de ciclare contor ia valoarea ini ial vi. 2). Dac contor este mai mic sau egal cu valoarea final vf, se execut Secven a A, se adun 1 la contor i se reia cu pasul 2).. Altfel, execu ia este ncheiat .

62

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

63

EXEMPLU:
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. Pentru I lund valori de la 1 pn la n se calculeaz suma dup formula S=S+I 4. Se afi eaz valoarea sumei.
64

B)

PSEUDOCODUL:
cite te n S=0 petntru I=1, n execut S=S+I scrie S stop
65

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

false

i<=n true

stop

TEM :
S

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

67

APLICA

II

1. Se citesc dou valori ntregi a i b. Se cere s se tip reasc media lor aritmetic . 2. Se citesc 3 numere naturale. Se cere s se tip reasc primul num r, suma dintre primul i al doilea, suma celor trei numere. 3. Se cite te x num r natural. S se evalueze expresia de mai jos:
2 , x x! 3 x daca x " 0 inrest
68

4. Se citesc trei numere ntregi. S se tip reasc (dac exist ) num rul care este egal cu suma celorlalte dou . 5. Se cite te n (num r ntreg). Se cere s se calculeze suma: S=1+3+5++n. 6. S se calculeze suma: S=0,1+0,2+0,3++0,9. 7. S se calculeze media aritmetic a primelor n numere naturale.
69

ITI MULTUMESC PENTRU RABDARE!!!

70