1.2. Reprezentarea unui algoritm

  • Published on
    29-Jan-2017

  • View
    220

  • Download
    3

Embed Size (px)

Transcript

  • Programarea calculatoarelor

    Universitatea Constantin Brncui din Trgu-Jiu Facultatea de Inginerie

    Departamentul de Automatic, Energie i Mediu

    Lect.dr. Adrian Runceanu

  • copyright@www.adrian.runceanu.ro

    Cteva precizri

    Structura cursului 3 ore curs titular curs: Lector dr. Adrian Runceanu 2 ore laborator titular aplicaii practice: Prep.ing.

    Alina Dinca

    20.10.2013 Curs - Programarea Calculatoarelor 2

  • copyright@www.adrian.runceanu.ro

    Cteva precizri Bibliografia necesar cursului: 1. Adrian Runceanu, Mihaela Runceanu, Noiuni de programare n

    limbajul C++, Academica Brncui, Trgu-Jiu, 2012, ISBN 978-973-144-550-2, 483 pagini

    2. Adrian Runceanu, Programarea i utilizarea calculatoarelor, Editura Academic Brncui Targu-Jiu, 2003

    3. Octavian Dogaru, C++ - Teorie i practic, volumul I, Editura Mirton, Timioara, 2004

    4. O.Catrina, I.Cojocaru, Turbo C+, Editura Teora, Bucureti, 1993 5. D.Costea, Iniiere n limbajul C, Editura Teora, Bucureti, 1996 6. K.Jamsa, C++, Editura Teora,1999 7. K.Jamsa & L.Klander, Totul despre C si C++, Teora, 2004

    20.10.2013 Curs - Programarea Calculatoarelor 3

  • copyright@www.adrian.runceanu.ro

    Cteva precizri

    Referinele bibliografice nr. 1, 2 i 3 se pot mprumuta de la Biblioteca Facultii de Inginerie, Str. Geneva nr.3, Etaj I lng 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 sptmnal.

    20.10.2013 Curs - Programarea Calculatoarelor 4

    http://www.runceanu.ro/adrianhttp://www.runceanu.ro/adrianhttp://www.runceanu.ro/adrian

  • copyright@www.adrian.runceanu.ro

    Cteva precizri

    Forme de examinare: Examen final = 60% Evaluare pe parcursul

    semestrului a activitii de laborator = 30%

    Verificare final lucrri de laborator = 10%

    20.10.2013 Curs - Programarea Calculatoarelor 5

    30

    10 60

    Procentaje evaluare

    Evaluare pe parcursul semestruluiPrezenta curs si laboratorExamen final

  • copyright@www.adrian.runceanu.ro

    Mod de lucru

    Curs: Se prezint noiuni teoretice i exemple de

    aplicare practic a acestora Nu ezitai s punei ntrebri

    Laborator: Se elaboreaz i se depaneaz programe relativ

    simple sau se dezvolt programe preexistente Se aplic ceea ce s-a predat la curs

    20.10.2013 Curs - Programarea Calculatoarelor 6

  • copyright@www.adrian.runceanu.ro

    Cteva recomandri

    Citii cu maxim atenie enunurile temelor i respectai-le n totalitate.

    Analizai n detaliu problema de rezolvat. Identificai i tratai adecvat toate cazurile speciale care pot s apar.

    Notai-v toate ntrebrile la care nu ai gsit singuri rspunsul i adresai-le cadrelor didactice, la curs sau laborator.

    20.10.2013 Curs - Programarea Calculatoarelor 7

  • copyright@www.adrian.runceanu.ro

    Curs 1 Algoritmi

    20.10.2013 Curs - Programarea Calculatoarelor 8

  • copyright@www.adrian.runceanu.ro

    1. ALGORITMI

    1.1. Noiunea de algoritm 1.2. Reprezentarea unui algoritm 1.3. Concepia unui algoritm 1.4. Obiectele cu care lucreaz algoritmii 1.5. Exemple de algoritmi elementari

    20.10.2013 Curs - Programarea Calculatoarelor 9

  • copyright@www.adrian.runceanu.ro

    1.1. Noiunea de algoritm

    n procesul de rezolvare a unei probleme folosind calculatorul exist dou etape:

    1. Definirea i analiza problemei 2. Proiectarea i implementarea unui algoritm care

    rezolv problema 1. Definirea i analiza problemei poate fi la rndul ei

    descompus n: specificarea datelor de intrare specificarea datelor de ieire

    20.10.2013 Curs - Programarea Calculatoarelor 10

  • copyright@www.adrian.runceanu.ro

    1.1. Noiunea de algoritm

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

    de intrare 3. Care sunt valorile permise sau nepermise pentru

    datele de intrare 4. Exist unele restricii (altele dect la 3) privind valorile

    de intrare 5. Cte valori vor fi la intrare, sau dac nu se poate

    specifica un numr fix de valori, cum se va ti cnd s-au terminat de introdus datele de intrare

    20.10.2013 Curs - Programarea Calculatoarelor 11

  • copyright@www.adrian.runceanu.ro

    1.1. Noiunea de algoritm

    Specificarea datelor de ieire trebuie s in cont de urmtoarele aspecte:

    1. Care din valorile rezultate n cursul aplicrii algoritmului de calcul, asupra datelor de intrare, vor fi afiate (necesare utilizatorului), n acest pas se face diferenierea clar ntre date intermediare i date de ieire

    2. Care va fi formatul datelor de ieire (de exemplu un numr real poate fi afiat cu trei sau cu cinci zecimale, sau un text poate fi afiat integral sau parial)

    20.10.2013 Curs - Programarea Calculatoarelor 12

  • copyright@www.adrian.runceanu.ro

    1.1. Noiunea de algoritm

    3. Sunt sau nu necesare explicaii suplimentare pentru utilizator n afara datelor de ieire

    4. Care este numrul de date de ieire care trebuie

    transmise ctre ieire

    20.10.2013 Curs - Programarea Calculatoarelor 13

  • copyright@www.adrian.runceanu.ro

    1.1. Noiunea de algoritm

    O definiie a noiunii de algoritm poate fi: nlnuirea de pai simpli, operaii distincte care descriu modul de prelucrare a unor date de intrare n scopul rezolvrii unei probleme.

    Un exemplu simplu de algoritm ar fi suita de operaii matematice fcut n rezolvarea unei ecuaii matematice de gradul II:

    20.10.2013 Curs - Programarea Calculatoarelor 14

    aX2+bX+c=0, coeficienii a, b, c se schimb dar

    modul de procesare a valorilor lor, nu

  • copyright@www.adrian.runceanu.ro

    1.1. Noiunea de algoritm

    Proprietile unui algoritm sunt: 1. Este compus din instruciuni simple i clare 2. Operaiunile specificate de instruciuni se execut

    ntr-o anumit secven 3. Soluia trebuie obinut ntr-un numr finit de pai Concluzia care rezult este c: UN ALGORITM ESTE INDEPENDENT DE

    TIPUL DE LIMBAJ N CARE ESTE TRANSPUS SAU DE TIPUL DE CALCULATOR PE CARE ESTE EXECUTAT.

    20.10.2013 Curs - Programarea Calculatoarelor 15

  • copyright@www.adrian.runceanu.ro

    1. ALGORITMI

    1.1. Noiunea de algoritm 1.2. Reprezentarea unui algoritm 1.3. Concepia unui algoritm 1.4. Obiectele cu care lucreaz algoritmii 1.5. Exemple de algoritmi elementari

    20.10.2013 Curs - Programarea Calculatoarelor 16

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

    n general, un algoritm poate fi considerat ca o descriere a prelucrrilor efectuate asupra unui flux de date, prelucrri care au loc cu un scop bine determinat.

    Modul de descriere a unui algoritm, este independent de un limbaj de programare, existnd dou metode clasice:

    1. metoda schemei logice 2. metoda pseudocod-ului

    20.10.2013 Curs - Programarea Calculatoarelor 17

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

    1. Metoda schemei logice n cadrul acestei metode se folosete un set de

    simboluri, prezentat n figura 1, pentru descrierea pailor ce trebuie executai pentru ca algoritmul rezultat s ne rezolve o anumit problem.

    Dei a fost extrem de folosit, pn nu de mult, aceast metod a pierdut teren n faa reprezentrii de tip pseudocod, poate i datorit timpului suplimentar pierdut de utilizator cu executarea simbolurilor grafice.

    20.10.2013 Curs - Programarea Calculatoarelor 18

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

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

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

    S analizm un algoritm de calcul a mediei pentru trei note i s vedem cum ar aprea descris prin aceast metod.

    20.10.2013 Curs - Programarea Calculatoarelor 20

    Start

    Citire nota1, nota2, nota3

    media

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

    2. Metoda pseudocod-ului Exist mai multe variante de limbaje

    algoritmice, care ns nu difer esenial. Am ales forma n care: cuvintele cheie sunt n limba romn i operatorii sunt cei uzuali din matematic

    20.10.2013 Curs - Programarea Calculatoarelor 21

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

    Pseudocod-ul are n componen mai multe comenzi standard care ncep, n general cu un cuvnt cheie care definete operaia de baz din algoritm i care va fi evideniat prin utilizarea aldinelor (cuvintelor ngroate).

    Comenzilor standard ale pseudocod-ului le

    corespund instruciuni din limbajele de programare, fapt care uureaz implementarea algoritmului n limbaj.

    20.10.2013 Curs - Programarea Calculatoarelor 22

  • 1.2. Reprezentarea unui algoritm

    Comenzile standard de baz ale pseudocod-ului sunt:

    1) Comanda de atribuire - are forma: - este comanda care nu conine cuvinte cheie i

    corespunde unei operaii de atribuire

    20.10.2013 Curs - Programarea Calculatoarelor 23

    variabil expresie

  • copyright@www.adrian.runceanu.ro

    1.2. Reprezentarea unui algoritm

    2) Comanda de citire - are forma: - este c