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 pâine.
Ce trebuie să facem?
3
Când am decis să plecăm la
magazin vom proceda astfel:
- luăm banii necesari;
- ne îndreptăm către magazin;
- solicităm o pâine;
- 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 (pâinea).

5
Putem defini acum noţiunea de algoritm sintetizând 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
să fie cunoscut (citit). 7
Temă:
Scrieţi un algoritm care calculează suma a
două numere întregi a şi b.
Modificaţi apoi algoritmul astfel încât să
calculeze şi produsul celor două numere.

8
Rezolvare:

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

9
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 stâng valoarea
calculată anterior (V reprezintă numele
variabilei). 20
4. Bloc de decizie
(bloc decizional)

TRUE FALSE
condiţie

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 sfârşit
(bloc de stop)

STOP

Indică sfârş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 START

a, b
C) SCHEMA LOGICĂ:
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 sfârş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

în care “Secvenţa A” reprezintă o transformare de date.


29
EXEMPLU:

 Să se calculeze suma, produsul şi diferenţa


a trei nume întregi x, y şi z.
a) 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Ă:
 Sedau 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 condiţie false

Secvenţa A Secvenţa B

34
Î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:
 Se dau două numere naturale a şi b. Să se
determine care dintre ele are valoarea mai
mare.
Rezolvare:
a) Algoritmul:
1. Se dau valori lui a şi b
2. Se determină maximul dintre a şi b:
dacă a este mai mare ca b atunci
maximul este a
altfel maximul este b
3. Se afişează maximul
36
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 false
a>b
max=a 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 condiţie false

Secvenţa A

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:
 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:
1. Se dă valoare lui a
2. 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 false
a=0
‘am citit zero’

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Ă

 Repetiţ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.

46
1. STRUCTURA REPETITIVĂ CU TEST
INIŢIAL
 Structura repetitivă cu test iniţial are forma:

condiţie false

true
Secvenţa A

47
Execuţia structurii repetitive cu test iniţial
presupune parcurgerea următoarelor etape:
1.Sea 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:

cât 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. Cât 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
cât timp I<=n execută
S=S+I
I=I+1
scrie S
stop
51
a C) SCHEMA LOGICĂ:
start
n
s=0
i=1

false
i<=n
true s
s=s+i
stop
i=i+1

52
TEMĂ
 Săse calculeze produsul
primelor n numere naturale.
Se cer:
a) algoritmul;
b) pseudocodul;
c) schema logică.

53
2. STRUCTURA REPETITIVĂ CU
TEST FINAL:
 Structura repetitivă cu test final are forma:

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
până când condiţie

56
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. Se calculează suma după formula S=S+I
şi I ia valoarea I=I+1, până când I>n.
4. Se afişează valoarea sumei. 57
B) PSEUDOCODUL:
citeşte n
S=0
a I=1
repetă
S=S+I
I=I+1
până când I>n
scrie S
stop
58
a

C) SCHEMA LOGICĂ: start


n
s=0
i=1

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

stop
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 true
contor<=vf
secvenţa A
unde cu “vi” s-a notat valoarea iniţială, iar cu “vf” s-a notat
valoarea finală. contor=contor +pas

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:
 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. Pentru I luând valori de la 1 până 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

false i=i+1
i<=n
s=s+i
true

stop 66
Ă:
 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:
x 2 , daca x  0
x 68
3  x inrest
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

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