59
Programarea calculatoarelor Universitatea Constantin Brâncuşi” din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Lect.dr . Adrian Runceanu

Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

Programareacalculatoarelor

Universitatea “Constantin Brâncuşi” din Târgu-JiuFacultatea de Inginerie

Departamentul de Automatică, Energie şi Mediu

Lect.dr. Adrian Runceanu

Page 2: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Obiectivele disciplinei

Obiectivele generale ale disciplinei:1. Cunoaşterea noţiunilor privind algoritmii şi proprietăţile lor2. Reprezentarea algoritmilor prin scheme logice, pseudocod,

programe C++Obiectivele specifice:

1. Pentru curs:

• Cunoaşterea limbajului C++

• Elaborarea de programe în C++

• Analiza şi proiectarea algoritmilor cu ajutorul limbajului de programare C++

2. Pentru aplicații:

• Implementarea unor algoritmi într-un limbaj de programare utilizat pe scară largă – C++

24.10.2014 Curs - Programarea Calculatoarelor 2

Page 3: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Câteva precizări

Structura cursului

3 ore curs – titular curs: Lector dr. Adrian Runceanu

2 ore laborator – titular aplicaţii practice: Conf.dr. Madalina Buneci

24.10.2014 Curs - Programarea Calculatoarelor 3

Page 4: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Câteva precizăriBibliografia necesară cursului:

1. Adrian Runceanu, Mihaela Runceanu, Noțiuni de programare înlimbajul C++, Academica Brâncuşi, Târgu-Jiu, 2012, ISBN 978-973-144-550-2, 483 pagini

2. Adrian Runceanu, Programarea şi utilizarea calculatoarelor,Editura Academică Brâncuși Targu-Jiu, 2003

3. Octavian Dogaru, C++ - Teorie şi practică, volumul I, EdituraMirton, Timişoara, 2004

4. O.Catrina, I.Cojocaru, Turbo C+, Editura Teora, Bucureşti, 19935. D.Costea, Iniţiere în limbajul C, Editura Teora, Bucureşti, 19966. K.Jamsa, C++, Editura Teora,19997. K.Jamsa & L.Klander, Totul despre C si C++, Teora, 2004

24.10.2014 Curs - Programarea Calculatoarelor 4

Page 5: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

24.10.2014 Curs - Programarea Calculatoarelor 5

Page 6: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Câteva precizări

Referinţele bibliografice nr. 1, 2 şi 3 se potîmprumuta de la Biblioteca Facultăţii de Inginerie, Str.Geneva nr.3, Etaj I – lângă Decanat.

1. Suport curs - varianta electronică disponibilă pe site-ul:

www.runceanu.ro/adrian

2. Îndrumar de laborator - varianta electronică disponibilăpe site pentru fiecare lucrare de laborator.

Notă: Actualizarea site-ului se face săptămânal.24.10.2014 Curs - Programarea Calculatoarelor 6

Page 7: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Câteva precizări

Forme de examinare:

Examen final = 60%Evaluare pe parcursul

semestrului a activităţii de laborator = 30%

Verificare finală lucrări de laborator = 10%

24.10.2014 Curs - Programarea Calculatoarelor 7

30

1060

Procentaje evaluare

Evaluare pe parcursul semestruluiPrezenta curs si laboratorExamen final

Page 8: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Mod de lucru

Curs:Se prezintă noţiuni teoretice şi exemple de

aplicare practică a acestoraNu ezitaţi să puneţi întrebări

Laborator:Se elaborează şi se depanează programe relativ

simple sau se dezvoltă programe preexistenteSe aplică ceea ce s-a predat la curs

24.10.2014 Curs - Programarea Calculatoarelor 8

Page 9: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Câteva recomandări

Citiţi cu maximă atenţie enunţurile temelor şirespectaţi-le în totalitate.

Analizaţi în detaliu problema de rezolvat.Identificaţi şi trataţi adecvat toate cazurilespeciale care pot să apară.

Notaţi-vă toate întrebările la care nu aţi găsitsinguri răspunsul şi adresaţi-le cadrelor didactice,la curs sau laborator.

24.10.2014 Curs - Programarea Calculatoarelor 9

Page 10: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Curs 1Algoritmi

24.10.2014 Curs - Programarea Calculatoarelor 10

Page 11: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari

24.10.2014 Curs - Programarea Calculatoarelor 11

Page 12: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.1. Noţiunea de algoritm

În procesul de rezolvare a unei probleme folosindcalculatorul există două etape:

1. Definirea şi analiza problemei2. Proiectarea şi implementarea unui algoritm care

rezolvă problema1. Definirea şi analiza problemei poate fi la rândul ei

descompusă în: specificarea datelor de intrare specificarea datelor de ieşire

24.10.2014 Curs - Programarea Calculatoarelor 12

Page 13: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.1. Noţiunea de algoritm

Specificarea datelor de intrare constă în:1. Ce date vor fi primite la intrare2. Care este formatul (forma lor de reprezentare) datelor

de intrare3. Care sunt valorile permise sau nepermise pentru

datele de intrare4. Există unele restricţii (altele decât la 3) privind valorile

de intrare5. Câte valori vor fi la intrare, sau dacă nu se poate

specifica un număr fix de valori, cum se va şti când s-au terminat de introdus datele de intrare

24.10.2014 Curs - Programarea Calculatoarelor 13

Page 14: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.1. Noţiunea de algoritm

Specificarea datelor de ieşire trebuie să ţină cont deurmătoarele aspecte:

1. Care din valorile rezultate în cursul aplicării algoritmuluide calcul, asupra datelor de intrare, vor fi afişate(necesare utilizatorului), în acest pas se facediferenţierea clară între date intermediare şi date deieşire

2. Care va fi formatul datelor de ieşire (de exemplu unnumăr real poate fi afişat cu trei sau cu cinci zecimale,sau un text poate fi afişat integral sau parţial)

24.10.2014 Curs - Programarea Calculatoarelor 14

Page 15: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.1. Noţiunea de algoritm

3. Sunt sau nu necesare explicaţii suplimentarepentru utilizator în afara datelor de ieşire

4. Care este numărul de date de ieşire care trebuietransmise către ieşire

24.10.2014 Curs - Programarea Calculatoarelor 15

Page 16: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.1. Noţiunea de algoritm

O definiţie a noţiunii de algoritm poate fi:înlănţuirea de paşi simpli, operaţii distincte caredescriu modul de prelucrare a unor date de intrareîn scopul rezolvării unei probleme.

Un exemplu simplu de algoritm ar fi suita deoperaţii matematice făcută în rezolvarea unei ecuaţiimatematice de gradul II:

24.10.2014 Curs - Programarea Calculatoarelor 16

aX2+bX+c=0, coeficienţii a, b, c se schimbă dar

modul de procesare a valorilor lor, nu

Page 17: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.1. Noţiunea de algoritm

Proprietăţile unui algoritm sunt:1. Este compus din instrucţiuni simple şi clare2. Operaţiunile specificate de instrucţiuni se execută

într-o anumită secvenţă3. Soluţia trebuie obţinută într-un număr finit de paşi

Concluzia care rezultă este că:UN ALGORITM ESTE INDEPENDENT DE

TIPUL DE LIMBAJ ÎN CARE ESTE TRANSPUSSAU DE TIPUL DE CALCULATOR PE CARE ESTEEXECUTAT.

24.10.2014 Curs - Programarea Calculatoarelor 17

Page 18: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari

24.10.2014 Curs - Programarea Calculatoarelor 18

Page 19: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

În general, un algoritm poate fi considerat ca odescriere a prelucrărilor efectuate asupra unui flux dedate, prelucrări care au loc cu un scop binedeterminat.

Modul de descriere a unui algoritm, esteindependent de un limbaj de programare, existânddouă metode clasice:

1. metoda schemei logice2. metoda pseudocod-ului

24.10.2014 Curs - Programarea Calculatoarelor 19

Page 20: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

1. Metoda schemei logiceÎn cadrul acestei metode se foloseşte un set de

simboluri, prezentat în figura 1, pentru descriereapaşilor ce trebuie executaţi pentru ca algoritmulrezultat să ne rezolve o anumită problemă.

Deşi a fost extrem de folosită, până nu de mult,această metodă a pierdut teren în faţa reprezentăriide tip pseudocod, poate şi datorită timpuluisuplimentar pierdut de utilizator cu executareasimbolurilor grafice.

24.10.2014 Curs - Programarea Calculatoarelor 20

Page 21: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

24.10.2014 Curs - Programarea Calculatoarelor 21

Start

Bloc de atribuire

Bloc citire variabile

conditie

Stop

Bloc scriere variabile

Nu Da

Figura 1. Reprezentarea algoritmilor prin metoda schemei logice

Page 22: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

Să analizăm unalgoritm de calcul amediei pentru trei noteobținute de un studentîntr-o sesiune deexamene şi să vedemcum ar apărea descrisprin această metodă.

24.10.2014 Curs - Programarea Calculatoarelor 22

Start

Citire nota1, nota2, nota3

media <-(nota1+nota2+nota3)/3

Scriere media

Stop

Page 23: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

2. Metoda pseudocod-ului

Există mai multe variante de limbajealgoritmice, care însă nu diferă esenţial.

Am ales forma în care:cuvintele cheie sunt în limba românăşi operatorii sunt cei uzuali dinmatematică

24.10.2014 Curs - Programarea Calculatoarelor 23

Page 24: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

Pseudocod-ul are în componenţă mai multecomenzi standard care încep, în general cu uncuvânt cheie care defineşte operaţia de bază dinalgoritm şi care va fi evidenţiat prin utilizareaaldinelor (cuvintelor îngroşate).

Comenzilor standard ale pseudocod-ului lecorespund instrucţiuni din limbajele deprogramare, fapt care uşurează implementareaalgoritmului în limbaj.

24.10.2014 Curs - Programarea Calculatoarelor 24

Page 25: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

1.2. Reprezentarea unui algoritm

Comenzile standard de bază ale pseudocod-ului sunt:

1) Comanda de atribuire

- are forma:- este comanda care nu conţine cuvinte cheie şi

corespunde unei operaţii de atribuire

24.10.2014 Curs - Programarea Calculatoarelor 25

variabilă expresie

Page 26: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

2) Comanda de citire- are forma:- este comanda care corespunde unei operaţii de

citire

3) Comanda de scriere- are forma:- este comanda care corespunde unei operaţii de

scriere

24.10.2014 Curs - Programarea Calculatoarelor 26

citeşte listă de variabile

scrie listă de expresii

Page 27: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

4) Structura de decizie- are două forme

corespunzătoare celordouă forme alestructurii alternative(structurii de decizie):

24.10.2014 Curs - Programarea Calculatoarelor 27

dacă condiţie atunciinstructiune1

…instructiunen

altfelinstructiune1

…instructiunen

sfârşit dacă

Page 28: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

A doua formă astructurii dedecizie:

24.10.2014 Curs - Programarea Calculatoarelor 28

dacă condiţie atunciinstructiune1

…instructiunen

sfârşit dacă

Page 29: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

5) Structura cât timp- are forma:

- corespunde cicluluirepetitiv cu test iniţial

24.10.2014 Curs - Programarea Calculatoarelor 29

cât timp condiţie executăinstructiune1

…instructiunen

sfârşit cât timp

Page 30: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

6) Structura repetă până când

- are forma:

- corespunde cicluluirepetitiv cu test final

24.10.2014 Curs - Programarea Calculatoarelor 30

repetăinstructiune1

…instructiunen

până când condiţie

Page 31: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

7) Structura pentru- are forma:

- corespunde ciclului repetitiv cu număr cunoscutde pași

24.10.2014 Curs - Programarea Calculatoarelor 31

pentru variabila<-valoare initiala, valoare finala executa

instructiune1

…instructiunen

sfârşit pentru

Page 32: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

8) Structura de oprire a algoritmului

- are forma:

24.10.2014 Curs - Programarea Calculatoarelor 32

stop

Page 33: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.2. Reprezentarea unui algoritm

Reluăm exemplul cu media a trei note pecare îl vom scrie atât cu ajutorul schemelorlogice, cât şi cu ajutorul pseudocod-ului.

24.10.2014 Curs - Programarea Calculatoarelor 33

Page 34: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

1.2. Reprezentarea unui algoritm

real nota1, nota2, nota3, mediaciteşte nota1, nota2, nota3media (nota1+nota2+nota3)/3scrie mediastop

24.10.2014 Curs - Programarea Calculatoarelor 34

Start

Citire nota1, nota2, nota3

media <-(nota1+nota2+nota3)/3

Scriere media

Stop

Se observă că este mult mai uşor să se redacteze un algoritm cu ajutorul pseudocod-ului, decât cu ajutorul schemelor logice.

Page 35: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari

24.10.2014 Curs - Programarea Calculatoarelor 35

Page 36: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.3. Conceptia unui algoritm

Pași necesari:1. Problema care va fi rezolvată, trebuie citită cu

atenţie.2. Apoi se stabilesc prelucrările care sunt necesare

obţinerii rezultatelor dorite.Pentru a crea un algoritm eficient trebuie

evidenţiate datele de intrare şi datele de ieşire.

24.10.2014 Curs - Programarea Calculatoarelor 36

Page 37: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.3. Conceptia unui algoritm

24.10.2014 Curs - Programarea Calculatoarelor 37

Date de intrare

Date de ieșire

ALGORITM

Page 38: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari

24.10.2014 Curs - Programarea Calculatoarelor 38

Page 39: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

Obiectele cu care lucrează algoritmii sunt:

a) Constanteb) Variabilec) Operaţiid) Expresii

24.10.2014 Curs - Programarea Calculatoarelor 39

Page 40: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

a) Constantele sunt date de un anumit tip care nuse modifică pe parcursul execuţiei unui algoritm.

Pot fi:1. Constante numerice, adică numere întregi sau

reale2. Constante nenumerice, adică şiruri de

caractere cuprinse între apostrofuri3. Constante logice, adevărat şi fals

24.10.2014 Curs - Programarea Calculatoarelor 40

Page 41: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

b) Variabilele sunt date ale căror valori se modificăpe parcursul execuţiei unui algoritm.

Ele se utilizează pentru a păstra dateleiniţiale, sau pentru a păstra rezultatele parţialesau finale ale algoritmului.

Fiecare variabilă va avea o locaţie dememorie asociată ei, unde i se păstreazăvaloarea.

Variabilele pot: naturale, întregi, reale, logicesau şiruri de caractere.

24.10.2014 Curs - Programarea Calculatoarelor 41

Page 42: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

1.4. Obiectele cu care lucreazăalgoritmii

c) Operatorii sunt ceifolosiţi uzuali înmatematică:

1. Operatori aritmetici2. Operatori relaţionali3. Operatori logici

Operatori aritmetici

Operator Semnificaţie

+ Adunare

- Scădere

* Înmulţire

/ Împărţire

Operatori relaţionali

< Mai mic

<= Mai mic sau egal

> Mai mare

>= Mai mare sau egal

= Egal

<> Diferit

Operatori logici

not Negaţie

si Şi (conjuncţie)

sau Sau (disjuncţie)24.10.2014 Curs - Programarea Calculatoarelor 42

Page 43: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

d) Expresiile sunt formate din constante şi variabilelegate între ele cu ajutorul operatorilor.

Pot fi de mai multe tipuri, în funcţie de tipuloperatorilor si a operanzilor:

1. Expresii aritmetice2. Expresii relaţionale3. Expresii logice

24.10.2014 Curs - Programarea Calculatoarelor 43

Page 44: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

O expresie aritmetică este o expresie carecuprinde:

1. constante2. variabile3. sau funcţii aritmetice elementare legate,

eventual, prin operatori aritmetici.

24.10.2014 Curs - Programarea Calculatoarelor 44

Page 45: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

O expresie relaţională poate fi formată din:Două expresii aritmetice legate printr-un singuroperator relaţional (de exemplu: b2 > 4*a*c)

Două variabile nenumerice legate printr-unoperator relaţional (de exemplu:nume1<>nume2)

O variabilă şi o constantă nenumerice legateprintr-un operator relaţional (de exemplu:raspuns=‘da’)

24.10.2014 Curs - Programarea Calculatoarelor 45

Page 46: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

O expresie logică cuprinde:1. constante2. variabile3. sau expresii relaţionale legate prin operatori

logici a cărei valoare este fie adevărat, fie fals.

24.10.2014 Curs - Programarea Calculatoarelor 46

Page 47: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.4. Obiectele cu care lucrează algoritmii

Condiţiile care apar în algoritmi vor fiîntotdeauna exprimate prin expresiirelaţionale sau logice.

24.10.2014 Curs - Programarea Calculatoarelor 47

Page 48: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari

24.10.2014 Curs - Programarea Calculatoarelor 48

Page 49: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.5. Exemple de algoritmi elementari

Enunţ:Să se calculeze perimetrul şi aria unui triunghi oarecaredacă se cunosc laturile triunghiului.

Pas 1: Stabilim care sunt datele de intrare si datele deiesire, adică cele care vor fi prelucrate cu ajutorulalgoritmului.

În cazul problemei date, avem:Date de intrare: a, b, şi c numere reale ce reprezintă

laturile triunghiului.Date de iesire: p = perimetrul si s = aria triunghiului

24.10.2014 Curs - Programarea Calculatoarelor 49

Page 50: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

1.5. Exemple de algoritmi elementari

Pas 2: Analiza problemeiStabilim condiţiile pe care trebuie să le

îndeplinească datele de intrare pentru a fiprelucrate în cadrul algoritmului.

În cadrul problemei pe care o avem de rezolvat,cunoaştem formula lui Heron pentru calculul arieiunui triunghi dacă se cunosc laturile sale:

unde p reprezintă semiperimetrul triunghiului.

24.10.2014 Curs - Programarea Calculatoarelor 50

))()(( cpbpappS

Page 51: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

1.5. Exemple de algoritmi elementari

Pas 3: Scriereaalgoritmului în pseudocod:

24.10.2014 Curs - Programarea Calculatoarelor 51

real a, b, c, p, S

citeşte a, b, c

p a + b + c

scrie ‘Perimetrul triunghiului este ‘, p

p p / 2

scrie ‘Aria triunghiului este’, S

stop

c)b)(pa)(pp(pS

Page 52: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.5. Exemple de algoritmi elementari

Pas 4: Implementarea algoritmului în limbajul deprogramare dorit - în cazul nostru vom utilizalimbajul C++.

Pas 5: Testarea algoritmului pe date de intrarediferite şi verificarea rezultatelor.

Ultimii doi paşi îi vom scrie dupăprezentarea limbajului C++.

24.10.2014 Curs - Programarea Calculatoarelor 52

Page 53: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.5. Exemple de algoritmi elementari

Enunţ:

Considerăm ecuaţia de gradul I de forma:

ax + b = 0, unde a şi b sunt numere reale.

Să se scrie un algoritm care să rezolve ecuaţia dată pentru

orice două valori a şi b date.

Pas 1: Stabilim care sunt datele de intrare si de iesire, adică

cele care vor fi prelucrate cu ajutorul algoritmului.

În cazul problemei date, avem:

Date de intrare: a, b - numere reale

Date de iesire: x - solutia ecuatiei

24.10.2014 Curs - Programarea Calculatoarelor 53

Page 54: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.5. Exemple de algoritmi elementariPas 2: Analiza problemei

Stabilim condiţiile pe care trebuie să le îndeplineascădatele de intrare pentru a fi prelucrate în cadrul algoritmului.Căutăm cazurile particulare.

În cadrul problemei pe care o avem de rezolvat,cunoaştem următoarele:

Ecuaţia ax+b=0, are solutii reale daca a si b sunt diferite de 0.Cazurile particulare sunt:1) Daca a = 0, atunci ecuatia data are o infinitate de solutii.2) Daca a = 0 si b = 0, atunci ecuatia este nedeterminata3) Daca a ≠ 0 si b ≠ 0, atunci ecuatia are o singura solutie si

anume:

x = -b/a24.10.2014 Curs - Programarea Calculatoarelor 54

Page 55: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

1.5. Exemple de algoritmi elementari

Pas 3: Scriereaalgoritmului în pseudocod:

24.10.2014 Curs - Programarea Calculatoarelor 55

real a, b, x

citeşte a, b

dacă a = 0 atunci

scrie ‘Ecuaţia are o infinitate de soluţii’

altfel

dacă b = 0 atunci

scrie ‘Ecuaţia este nedeterminată’

altfel

x - b / a

scrie x

sfârşit dacă

sfarşit dacă

stop

Page 56: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

1.5. Exemple de algoritmi elementari

Pas 4: Implementarea algoritmului în limbajul deprogramare dorit - în cazul nostru vom utilizalimbajul C++.

Pas 5: Testarea algoritmului pe date de intrarediferite şi verificarea rezultatelor.

Ultimii doi paşi îi vom scrie dupăprezentarea limbajului C++.

24.10.2014 Curs - Programarea Calculatoarelor 56

Page 57: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Recapitulare

1. Ce este un algoritm?2. Cum se pot reprezenta algoritmii?3. Folosind metoda pseudocod-ului de reprezentare a

algoritmilor, cum se reprezintă structura de decizie?4. Folosind metoda pseudocod-ului de reprezentare a

algoritmilor, cum se reprezintă structura repetitivă cutest iniţial?

24.10.2014 Curs - Programarea Calculatoarelor 57

Page 58: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Enunţuri de probleme ce pot fi rezolvate

1. Să se calculeze perimetrul şi aria unuidreptunghi, ştiind laturile sale.

2. Să se calculeze unghiurile(in radiani) unuitriunghi, ştiind laturile sale.

24.10.2014 Curs - Programarea Calculatoarelor 58

Page 59: Programarea şi utilizarea calculatoarelor · 1. Metoda schemei logice Încadrul acestei metode se foloseşteun set de simboluri, prezentat înfigura 1, pentru descrierea paşilorce

[email protected]

Întrebări?

24.10.2014 Curs - Programarea Calculatoarelor 59