+ All Categories
Home > Documents > curs1-PC2

curs1-PC2

Date post: 05-Jul-2018
Category:
Upload: sabinioan
View: 218 times
Download: 0 times
Share this document with a friend
57
Programarea calculatoarelor Universitatea Constantin Brâncuşi” din T ârgu-Jiu Facultatea de Inginerie Departamentul de Automatic ă  , Energie şi Mediu Lect.dr . Adr ian Runceanu  
Transcript
Page 1: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 1/57

Programareacalculatoarelor 

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

Departamentul de Automatic ă , Energie şi Mediu

Lect.dr. Adrian Runceanu 

Page 2: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 2/57

Câteva precizări 

Structura cursului

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

2 ore laborator – titular aplicaţii practice:• Asist.ing. Constantin Cercel

• Prep.ing. Alina Dinca

03.03.2013 Curs - Programarea Calculatoarelor 2

Page 3: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 3/57

Câteva precizări 

Bibliografia 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

03.03.2013 Curs - Programarea Calculatoarelor 3

Page 4: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 4/57

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.03.03.2013 Curs - Programarea Calculatoarelor 4

Page 5: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 5/57

Câteva precizări 

Forme de examinare:

Examen final = 60% 

Evaluare pe parcursulsemestrului a activităţii delaborator = 30%

Verificare finală lucrări delaborator = 10% 

03.03.2013 Curs - Programarea Calculatoarelor 5

30

1060

Procentaje evaluare

Evaluare pe parcursul semestruluiPrezenta curs si laboratorExamen final

Page 6: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 6/57

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 preexistente Se aplică ceea ce s-a predat la curs 

03.03.2013 Curs - Programarea Calculatoarelor 6

Page 7: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 7/57

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.

03.03.2013 Curs - Programarea Calculatoarelor 7

Page 8: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 8/57

 

Curs 1Algoritmi

03.03.2013 Curs - Programarea Calculatoarelor 8

Page 9: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 9/57

1. ALGORITMI

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

03.03.2013 Curs - Programarea Calculatoarelor 9

Page 10: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 10/57

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 

03.03.2013 Curs - Programarea Calculatoarelor 10

Page 11: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 11/57

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 pentrudatele de intrare

4.   Există unele restricţii (altele decât la 3) privind valorilede intrare

5. Câte valori vor fi la intrare, sau dacă  nu se poatespecifica un număr  fix de valori, cum se va şti când s-au terminat de introdus datele de intrare

03.03.2013 Curs - Programarea Calculatoarelor 11

Page 12: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 12/57

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 algoritmului

de calcul, asupra datelor de intrare, vor fi afişate (necesare utilizatorului), în acest pas se facediferenţierea  clară  între date intermediare şi  date de

ieş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) 

03.03.2013 Curs - Programarea Calculatoarelor 12

Page 13: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 13/57

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 

03.03.2013 Curs - Programarea Calculatoarelor 13

Page 14: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 14/57

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 care

descriu modul de prelucrare a unor date de intrare

 în scopul rezolvării  unei probleme.Un exemplu simplu de algoritm ar fi suita de

operaţii matematice făcută în rezolvarea unei ecuaţii 

matematice de gradul II:aX2+bX+c=0, coeficienţii  a, b, c  se schimbă  darmodul de procesare a valorilor lor, nu.

03.03.2013 Curs - Programarea Calculatoarelor 14

Page 15: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 15/57

1.1. Noţiunea de algoritm

Proprietăţile unui algoritm sunt:1. Este compus din instrucţiuni simple şi clare.2.   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.

03.03.2013 Curs - Programarea Calculatoarelor 15

Page 16: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 16/57

1. ALGORITMI

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

03.03.2013 Curs - Programarea Calculatoarelor 16

Page 17: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 17/57

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 logice 2. metoda pseudocod-ului 

03.03.2013 Curs - Programarea Calculatoarelor 17

Page 18: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 18/57

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 descrierea

paş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ării 

de tip pseudocod, poate şi  datorită  timpuluisuplimentar pierdut de utilizator cu executareasimbolurilor grafice.

03.03.2013 Curs - Programarea Calculatoarelor 18

Page 19: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 19/57

1.2. Reprezentarea unui algoritm

03.03.2013 Curs - Programarea Calculatoarelor 19

Start 

Bloc de atribuire 

Bloc citire variabile 

conditie 

Stop 

Bloc scriere variabile 

Nu  Da 

Figura 1. Reprezentarea algoritmilor prin metoda schemei logice

Page 20: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 20/57

1.2. Reprezentarea unui algoritm

Să  analizăm  unalgoritm de calcul a

mediei pentru trei noteşi  să  vedem cum arapărea  descris prinaceastă metodă.

03.03.2013 Curs - Programarea Calculatoarelor 20

Start 

Citire nota1, nota2, nota3 

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

Scriere media 

Stop 

Page 21: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 21/57

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 din

matematică.Pseudocod-ul are în componenţă  mai multe

comenzi standard care încep, în general cu uncuvânt cheie care defineşte operaţia de bază dinalgoritm şi  care va fi evidenţiat  prin utilizarea

aldinelor (cuvintelor îngroşate).03.03.2013 Curs - Programarea Calculatoarelor 21

Page 22: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 22/57

1.2. Reprezentarea unui algoritm

Comenzilor standard ale pseudocod-ului le

corespund instrucţiuni  din limbajele deprogramare, fapt care uşurează  implementareaalgoritmului în limbaj.

03.03.2013 Curs - Programarea Calculatoarelor 22

Page 23: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 23/57

1.2. Reprezentarea unui algoritm

Comenzile standard de bază ale pseudocod-uluisunt:

1) Comanda de atribuire

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

corespunde unei operaţii de atribuire

03.03.2013 Curs - Programarea Calculatoarelor 23

variabilă  expresie

Page 24: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 24/57

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 

03.03.2013 Curs - Programarea Calculatoarelor 24

citeşte listă de variabile 

scrie listă de expresii 

Page 25: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 25/57

1.2. Reprezentarea unui algoritm

4) Structura de decizie- are două  forme

corespunzătoare  celordouă  forme alestructurii alternative

(structurii de decizie):

03.03.2013 Curs - Programarea Calculatoarelor 25

dacă condiţie atunciinstructiune1 … instructiunen 

altfelinstructiune1 

… instructiunen 

sfârşit dacă 

Page 26: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 26/57

1.2. Reprezentarea unui algoritm

A doua formă  astructurii dedecizie:

03.03.2013 Curs - Programarea Calculatoarelor 26

dacă condiţie atunci

instructiune1 … 

instructiunen 

sfârşit dacă 

Page 27: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 27/57

1.2. Reprezentarea unui algoritm

5) Structura cât timp- are forma:

- corespunde ciclului

repetitiv cu test ini ţial  

03.03.2013 Curs - Programarea Calculatoarelor 27

cât timp condiţie execută 

instructiune1 … instructiunen 

sfârşit cât timp 

Page 28: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 28/57

1.2. Reprezentarea unui algoritm

6) Structurarepetă până când 

- are forma:

- corespunde cicluluirepetitiv cu test final

03.03.2013 Curs - Programarea Calculatoarelor 28

repetă instructiune1 

… instructiunen 

până când condiţie 

Page 29: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 29/57

1.2. Reprezentarea unui algoritm

7) Structura pentru- are forma:

- corespunde ciclului repetitiv cu numar cunoscut

de pasi03.03.2013 Curs - Programarea Calculatoarelor 29

pentru variabila<-valoare initiala, valoare finala executa

instructiune1 … 

instructiunen

sfârşit pentru

Page 30: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 30/57

1.2. Reprezentarea unui algoritm

8) Structura de oprire a algoritmului

- are forma:

03.03.2013 Curs - Programarea Calculatoarelor 30

stop 

Page 31: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 31/57

1.2. Reprezentarea unui algoritm

Reluăm  exemplul cu media a trei note pe

care îl vom scrie atât cu ajutorul schemelorlogice, cât şi cu ajutorul pseudocod-ului.

03.03.2013 Curs - Programarea Calculatoarelor 31

Page 32: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 32/57

1.2. Reprezentarea unui algoritm

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

03.03.2013 Curs - Programarea Calculatoarelor 32

Start 

Citire nota1, nota2, nota3 

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

Scriere media 

Stop 

Se observă  că  este multmai uşor  să  se redacteze un

algoritm cu ajutorulpseudocod-ului, decât cuajutorul schemelor logice.

Page 33: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 33/57

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii

1.5. Exemple de algoritmi elementari

03.03.2013 Curs - Programarea Calculatoarelor 33

Page 34: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 34/57

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 necesareobţinerii rezultatelor dorite.

Pentru a crea un algoritm eficient trebuie

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

03.03.2013 Curs - Programarea Calculatoarelor 34

Page 35: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 35/57

1.3. Conceptia unui algoritm

03.03.2013 Curs - Programarea Calculatoarelor 35

Date deintrare

Date deieșire 

ALGORITM

Page 36: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 36/57

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii

1.5. Exemple de algoritmi elementari

03.03.2013 Curs - Programarea Calculatoarelor 36

Page 37: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 37/57

1.4. Obiectele cu care lucrează algoritmii

Obiectele cu care lucrează algoritmii sunt:

a) Constante

b) Variabilec) Operaţii d) Expresii

03.03.2013 Curs - Programarea Calculatoarelor 37

Page 38: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 38/57

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 saureale

2. Constante nenumerice, adică  şiruri  de

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

03.03.2013 Curs - Programarea Calculatoarelor 38

Page 39: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 39/57

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  datele

iniţiale,  sau pentru a păstra  rezultatele parţiale sau finale ale algoritmului.Fiecare variabilă  va avea o locaţie  de

memorie asociată  ei, unde i se  păstrează 

valoarea.

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

03.03.2013 Curs - Programarea Calculatoarelor 39

Page 40: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 40/57

1.4. Obiectele cu care lucrează algoritmii

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

1. Operatori aritmetici2. Operatori relaţ ionali

3. 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) 03.03.2013 Curs - Programarea Calculatoarelor 40

Page 41: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 41/57

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 tipul

operatorilor si a operanzilor:1. Expresii aritmetice

2. Expresii relaţ ionale

3. Expresii logice

03.03.2013 Curs - Programarea Calculatoarelor 41

Page 42: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 42/57

1.4. Obiectele cu care lucrează algoritmii

O expresie aritmetică  este o expresie care

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

eventual, prin operatori aritmetici.

03.03.2013 Curs - Programarea Calculatoarelor 42

Page 43: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 43/57

1.4. Obiectele cu care lucrează algoritmii

O expresie relaţională poate fi formată din:Două expresii aritmetice legate printr-un singur

operator relaţional  (de exemplu: b2 > 4*a*c)Două  variabile nenumerice legate printr-un

operator relaţional   (de exemplu:nume1<>nume2)

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

03.03.2013 Curs - Programarea Calculatoarelor 43

Page 44: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 44/57

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.

03.03.2013 Curs - Programarea Calculatoarelor 44

Page 45: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 45/57

1.4. Obiectele cu care lucrează algoritmii

Condi ţ iile care apar în algoritmi vor fi întotdeauna exprimate prin expresii

relaţionale sau logice.

03.03.2013 Curs - Programarea Calculatoarelor 45

Page 46: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 46/57

1. ALGORITMI

1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii

1.5. Exemple de algoritmi elementari

03.03.2013 Curs - Programarea Calculatoarelor 46

Page 47: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 47/57

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

03.03.2013 Curs - Programarea Calculatoarelor 47

Page 48: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 48/57

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 ariei

unui triunghi dacă se cunosc laturile sale:

unde p reprezintă semiperimetrul triunghiului.

03.03.2013 Curs - Programarea Calculatoarelor 48

))()((   c pb pa p pS   

Page 49: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 49/57

1.5. Exemple de algoritmi elementari

Pas 3:Scriereaalgoritmului înpseudocod:

03.03.2013 Curs - Programarea Calculatoarelor 49

real a, b, c, p, S

citeşte a, b, c

p a + b + cScrie ‘Perimetrul triunghiului este  ‘, p

p p / 2

scrie ‘ Aria triunghiului este’, S

stop

c) b)(pa)(p p(pS  

Page 50: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 50/57

1.5. Exemple de algoritmi elementari

Pas 4: Implementarea algoritmului în limbajul deprogramare dorit - în cazul nostru vom utiliza

limbajul C++.Pas 5: Testarea algoritmului pe date de intrare

diferite şi verificarea rezultatelor.

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

03.03.2013 Curs - Programarea Calculatoarelor 50

Page 51: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 51/57

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

03.03.2013 Curs - Programarea Calculatoarelor 51

Page 52: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 52/57

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/a03.03.2013 Curs - Programarea Calculatoarelor 52

Page 53: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 53/57

1.5. Exemple de algoritmi elementari

Pas 3:Scrierea

algoritmului înpseudocod:

03.03.2013 Curs - Programarea Calculatoarelor 53

real a, b, xciteş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 54: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 54/57

1.5. Exemple de algoritmi elementari

Pas 4: Implementarea algoritmului în limbajul deprogramare dorit - în cazul nostru vom utiliza

limbajul C++.Pas 5: Testarea algoritmului pe date de intrare

diferite şi verificarea rezultatelor.

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

03.03.2013 Curs - Programarea Calculatoarelor 54

Page 55: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 55/57

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ă  cu

test iniţial?

03.03.2013 Curs - Programarea Calculatoarelor 55

Page 56: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 56/57

Enunţuri de probleme ce pot fi rezolvate

1. Să  se calculeze perimetrul şi aria unui

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

03.03.2013 Curs - Programarea Calculatoarelor 56

Page 57: curs1-PC2

8/16/2019 curs1-PC2

http://slidepdf.com/reader/full/curs1-pc2 57/57

 

 Întrebări?


Recommended