Algoritmi_site Scheme Logice

Embed Size (px)

Citation preview

  • 7/27/2019 Algoritmi_site Scheme Logice

    1/69

    1

    coala cu clasele I-VIIIIon Creang

    Suceava

    prof. Marius UDUDEC

  • 7/27/2019 Algoritmi_site Scheme Logice

    2/69

    2

    ALGORITMIo NOIUNI INTRODUCTIVEo DEFINIRE

    o EXEMPLE DIN MATEMATICo METODE DE REPREZENTARE LIMBAJ PSEUDOCOD SCHEME LOGICE

    o STRUCTURI FUNDAMENTALE DE CONTROLSTRUCTURA LINIARSTRUCTURA DECIZIONALSTRUCTURA REPETITIV

    o APLICAII

  • 7/27/2019 Algoritmi_site Scheme Logice

    3/69

    3

    Noiuni introductive

    Pentru a nelege noiunea de

    algoritm vom porni de la unexemplu.S presupunem c mama ne

    roag s cumprm pine. Cetrebuie s facem?

  • 7/27/2019 Algoritmi_site Scheme Logice

    4/69

    4

    Cnd am decis s plecm la

    magazin vom proceda astfel:- lum banii necesari;

    - ne ndreptm ctre magazin;- solicitm o pine;

    - o pltim;- venim cu ea ctre cas;

    - o dm mamei.

  • 7/27/2019 Algoritmi_site Scheme Logice

    5/69

    5

    Am obinut astfel un algoritm:

    * care conine 6 etape (deci un numr finit deoperaii);

    * care au fost scrise n ordinea n care trebuieexecutate (deci sunt ordonate);* fiecare etap este explicat n cuvinte (deci este

    complet definit);

    * i care pornind de la ceva (n cazul nostru bani)obinem ceea ce dorim (pinea).

    Putem defini acum noiunea de algoritm

    sintetiznd cele spuse astfel:

  • 7/27/2019 Algoritmi_site Scheme Logice

    6/69

    6

    Definire

    Se numete algoritm o secven

    finit de operaii ordonat icomplet definit care pornindde la datele de intrare producerezultatele.

  • 7/27/2019 Algoritmi_site Scheme Logice

    7/697

    S lum un alt exemplu:

    Presupunem c vrem s citim un numr

    ntreg (pe care noi l introducem de latastatur) i l tiprim (pe ecranulmonitorului). irul aciunilor ce trebuie

    executate este urmtorul:- citete numrul

    - tiprete numrul

    i n acest caz am obinut un algoritm.Aciunile trebuie executate n ordinea n careau fost puse. Astfel, nu putem tipri numrul

    nainte ca acesta s fie cunoscut (citit).

  • 7/27/2019 Algoritmi_site Scheme Logice

    8/698

    Tem:

    Scriei un algoritm care calculeaz sumaa dou numere ntregi a i b.

    Modificai apoi algoritmul astfel nct s

    calculeze i produsul celor dou numere.

  • 7/27/2019 Algoritmi_site Scheme Logice

    9/699

    Rezolvare:

    Algoritmul problemei:

    1. Solicit valori pentru a i b

    2. Calculeaz S=a+b

    3. Furnizeaz rezultatul pentru S

  • 7/27/2019 Algoritmi_site Scheme Logice

    10/6910

    Algoritmul modificat are forma:

    1. Solicit valori pentru a i b2. Calculeaz S=a+b

    3. Calculeaz P=a*b

    4. Furnizeaz rezultatul pentru S i pentru P

  • 7/27/2019 Algoritmi_site Scheme Logice

    11/6911

    Metode de reprezentare

    a algoritmilor

    Limbajul natural nu permite odescriere suficient de exact aalgoritmilor. Din acest motiv

    pentru reprezentarea algoritmilorse folosesc diferite forme dedescriere caracteristice.

  • 7/27/2019 Algoritmi_site Scheme Logice

    12/6912

    Dou din cele mai folosite forme de descriere a

    algoritmilor sunt: limbajul pseudocod;

    Scheme logice.

  • 7/27/2019 Algoritmi_site Scheme Logice

    13/69

    13

    Reprezentarea algoritmilor

    n limbaj pseudocod

    Limbajul pseudocod folosetecuvinte cheie, adic nite cuvinte cuneles prestabilit ce indic operaia

    care se execut.

  • 7/27/2019 Algoritmi_site Scheme Logice

    14/69

    14

    Exemplu:

    S se calculeze suma a dou numere naturale

    a i b.Rezolvare:

    a) Algoritmul:

    1. Solicit valori pentru a i b2. Calculeaz S=a+b

    3. Furnizeaz rezultatul pentru S

  • 7/27/2019 Algoritmi_site Scheme Logice

    15/69

    15

    b) Pseudocodul:

    citete a,b

    S=a+b

    scrie S

    stop

  • 7/27/2019 Algoritmi_site Scheme Logice

    16/69

    16

    Tem:

    S se calculeze media aritmetic a 3 numere

    ntregi x, y i z. Se cer:a) algoritmul;

    b) pseudocodul.

  • 7/27/2019 Algoritmi_site Scheme Logice

    17/69

    17

    Reprezentarea algoritmilor

    prin scheme logice

    Schemele logice utilizeaz sgei de

    legtur ntre diferite forme geometrice caresimbolizeaz aciunile ce urmeaz a fiexecutate.

    n continuare sunt prezentate blocurilecare intr n componena unei schemelogice:

  • 7/27/2019 Algoritmi_site Scheme Logice

    18/69

    18

    1. Bloc pentru introducerea datelor

    (bloc de citire)

    unde List variabile cuprinde numele simbolice alevariabilelor crora li se asociaz valori numerice(citite).

    List variabile

  • 7/27/2019 Algoritmi_site Scheme Logice

    19/69

    19

    2. Bloc de extragere a rezultatelor

    (bloc de scriere)

    unde variabilele menionate n list constituie rezultate aleproblemei.

    List variabile

  • 7/27/2019 Algoritmi_site Scheme Logice

    20/69

    20

    3. Bloc de calcul

    (bloc de atribuire)

    Un astfel de bloc indic urmtoarea succesiune de operaii:- se calculeaz expresia din membrul drept;

    - se atribuie variabilei din membrul stng valoareacalculat anterior (V reprezint numele variabilei).

    V = expresie

  • 7/27/2019 Algoritmi_site Scheme Logice

    21/69

    21

    4. Bloc de decizie

    (bloc decizional)

    Condiia logic nscris poate s aib valoareaadevrat sau fals; n funcie de valoarea logicobinut, blocul urmtor care va fi parcurs va fi legatde ramura true(adevrat) sau ramura false(fals).

    condiieTRUE FALSE

  • 7/27/2019 Algoritmi_site Scheme Logice

    22/69

    22

    5. Bloc de nceput

    (bloc de start)

    Indic nceputul algoritmului.

    START

  • 7/27/2019 Algoritmi_site Scheme Logice

    23/69

    23

    6. Bloc de sfrit

    (bloc de stop)

    Indic sfritul algoritmului.

    STOP

  • 7/27/2019 Algoritmi_site Scheme Logice

    24/69

    24

    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+b3. Furnizeaz rezultatul pentru S

  • 7/27/2019 Algoritmi_site Scheme Logice

    25/69

    25

    citete a,b

    S=a+b

    scrie Sstop

    b) Pseudocodul:

  • 7/27/2019 Algoritmi_site Scheme Logice

    26/69

    26

    c) Schema logic:a

    START

    a, b

    S=a+b

    STOP

  • 7/27/2019 Algoritmi_site Scheme Logice

    27/69

    27

    Tem:

    S se calculezeprodusul a trei numere ntregi x,

    y i z.Se cer:

    a) algoritmul;

    b) pseudocodul;c) schema logic.

  • 7/27/2019 Algoritmi_site Scheme Logice

    28/69

    28

    Structuri de control

    O structur nseamn o combinaie de operaiiutilizat n scrierea algoritmilor. Orice algoritm care areun punct de nceput i un punct de sfrit poate fireprezentat ca o combinaie a trei structuri de control:

    Secvena;

    Decizia;Repetiia.

  • 7/27/2019 Algoritmi_site Scheme Logice

    29/69

    29

    Structura secvenial

    Secvena reprezint o succesiune de dou sau mai multeoperaii care conine o transformare de date:

    n care Secvena A reprezint o transformare de date.

    Secvena A

  • 7/27/2019 Algoritmi_site Scheme Logice

    30/69

    30

    Exemplu:

    S se calculeze suma, produsul i diferena a treinume 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 diferena D=x-y-z

    5. Afieaz rezultatele pentru S, P i D.

  • 7/27/2019 Algoritmi_site Scheme Logice

    31/69

    31

    b) pseudocodul:

    citete x, y, z

    S=x+y+zP=x*y*z

    D=x-y-z

    scrie S, P, Dstop

  • 7/27/2019 Algoritmi_site Scheme Logice

    32/69

    32

    c) Schema logic:

    START

    x,y,z

    P=x*y*z

    D=x-y-z

    STOP

    S=x+y+z

    S, P, D

  • 7/27/2019 Algoritmi_site Scheme Logice

    33/69

    33

    Tem:Se dau trei numere naturale a, b i c. S secalculeze 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.

  • 7/27/2019 Algoritmi_site Scheme Logice

    34/69

    34

    Structura decizional

    Decizia reprezint alegerea unei operaii sau a uneisecvene de operaii dintre dou alternative posibile. Forma structurii decizionale este urmtoarea:

    condiie

    Secvena A Secvena B

    true false

  • 7/27/2019 Algoritmi_site Scheme Logice

    35/69

  • 7/27/2019 Algoritmi_site Scheme Logice

    36/69

    36

    Exemplu:

    Se dau dou numere naturale a i b. S sedetermine care dintre ele are valoarea mai mare.

    Rezolvare:a) Algoritmul:1. Se dau valori lui a i b2. Se determin maximul dintre a i b:

    dac a este mai mare ca b atuncimaximul este a

    altfel maximul este b

    3. Se afieaz maximul

  • 7/27/2019 Algoritmi_site Scheme Logice

    37/69

    37

    b) Pseudocodul:citete a

    dac a>b atuncimax=a

    altfelmax=b

    scrie maxstop

  • 7/27/2019 Algoritmi_site Scheme Logice

    38/69

    38

    c) Schema logic:start

    stop

    a, b

    a>b

    max=a max=b

    true false

    max

  • 7/27/2019 Algoritmi_site Scheme Logice

    39/69

    39

    Tem:

    S se determine dac un numr x este pozitiv saunu.

    Se cer:- algoritmul;

    - pseudocodul;

    - schema logic.

  • 7/27/2019 Algoritmi_site Scheme Logice

    40/69

  • 7/27/2019 Algoritmi_site Scheme Logice

    41/69

    41

    n limbaj natural, execuia poate fi

    descris astfel:- se evaluez condiia;- dac condiia este adevrat, se execut Secvena Aapoi execuia structurii decizionale se ncheie;

    - n caz contrar (dac condiia este fals) execuiastructurii decizionale se ncheie.

    n pseudocod, execuia se descrie astfel:dac condiie atunci

    Secvena A

  • 7/27/2019 Algoritmi_site Scheme Logice

    42/69

    42

    Exemplu:Se citete o valoare ntreag a. n cazul n careaceasta este nul (egal cu 0) se va tipri mesajulam 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 tipri

    am citit zero

  • 7/27/2019 Algoritmi_site Scheme Logice

    43/69

    43

    b) Pseudocodul:

    citete a

    dac a=0 atunciscrieam citit zero

    stop

  • 7/27/2019 Algoritmi_site Scheme Logice

    44/69

    44

    c) Schema logic:

    start

    stop

    a

    a=0true false

    am citit zero

  • 7/27/2019 Algoritmi_site Scheme Logice

    45/69

    45

    Tem:Se citete de la tastatur un numr ntreg x. ncazul n care acesta este cuprins n intervalul

    [1,100] se va afia mesajul numr cuprins ninterval, altfel nu se va afia nici un mesaj.

    Se cer:

    algoritmul;

    pseudocodul;

    schima logic.

  • 7/27/2019 Algoritmi_site Scheme Logice

    46/69

    46

    Structura repetitiv

    Repetiia (bucla sau iteraia) asigur execuia uneisecvene n mod repetat n funcie de o anumit

    condiie.Exist trei tipuri de structuri repetitive:

    -bucla cu test iniial;

    - bucla cu test final;- bucla cu contor.

  • 7/27/2019 Algoritmi_site Scheme Logice

    47/69

    47

    1. Structura repetitiv cu test iniialStructura repetitiv cu test iniial are forma:

    condiie

    Secvena A

    true

    false

  • 7/27/2019 Algoritmi_site Scheme Logice

    48/69

    48

    aExecuia structurii repetitive cu test iniial

    presupune parcurgerea urmtoarelor etape:

    1.Se evalueaz condiia; dac rezultatul esteadevrat se trece la pasul 2, altfel execuia sencheie;

    2. Se execut secvena A, apoi se trece la pasul 1).

  • 7/27/2019 Algoritmi_site Scheme Logice

    49/69

    49

    Exprimarea n pseudocod:

    ct timpcondiie execut

    Secvena A

  • 7/27/2019 Algoritmi_site Scheme Logice

    50/69

    50

    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+Ii I ia valoarea urmtorului termen al sumei, dupformula I=I+1

    4. Se afieaz valoarea sumei S.

  • 7/27/2019 Algoritmi_site Scheme Logice

    51/69

    51

    b) Pseudocodul:

    citete n

    S=0I=1

    ct timp I

  • 7/27/2019 Algoritmi_site Scheme Logice

    52/69

    52

    c) Schema logic:a start

    stop

    n

    s=0

    i=1

    s=s+i

    i=i+1

    i

  • 7/27/2019 Algoritmi_site Scheme Logice

    53/69

    53

    Tem

    S se calculeze produsul primelor n numerenaturale.

    Se cer:a) algoritmul;

    b) pseudocodul;

    c) schema logic.

  • 7/27/2019 Algoritmi_site Scheme Logice

    54/69

    54

    2. Structura repetitiv cu test final:

    Structura repetitiv cu test final are forma:

    Secvena A

    condiiefalse

    true

  • 7/27/2019 Algoritmi_site Scheme Logice

    55/69

    55

    a Execuia buclei cu test final presupuneparcurgerea urmtoarelor etape:

    1. Se execut secvena A

    2. Se evalueaz condiia; dac rezultatul este fals,se continu cu pasul 1), n caz contrar, se ncheie

    execuia buclei.

  • 7/27/2019 Algoritmi_site Scheme Logice

    56/69

    56

    Exprimarea n pseudocod:

    repet

    Secvena Apn cndcondiie

  • 7/27/2019 Algoritmi_site Scheme Logice

    57/69

    57

    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+Ii I ia valoarea I=I+1, pn cnd I>n.

    4. Se afieaz valoarea sumei.

  • 7/27/2019 Algoritmi_site Scheme Logice

    58/69

    58

    b) Pseudocodul:a citete n

    S=0I=1repet

    S=S+I

    I=I+1pn cndI>nscrie S

    stop

  • 7/27/2019 Algoritmi_site Scheme Logice

    59/69

    59

    c) Schema logic:a

    stop

    n

    s=0i=1

    s=s+i

    i=i+1

    i>nfalse

    true

    start

  • 7/27/2019 Algoritmi_site Scheme Logice

    60/69

    60

    Tem:S se calculeze produsul primelor n numerenaturale.

    Se cer:- algoritmul;

    - pseudocodul;

    - schema logic.

  • 7/27/2019 Algoritmi_site Scheme Logice

    61/69

    61

    3. Structura repetitiv cu contor:

    Structura repetitiv cu contor are forma:

    unde cu vi s-a notat valoarea iniial, iar cu vf s-a

    notat valoarea final.

    contor=vi

    contor

  • 7/27/2019 Algoritmi_site Scheme Logice

    62/69

    62

    Aceast structur are un numr cunoscut de repetiii aSecvenei A, motiv pentru care se numete structurrepetitiv cu contor.

    Execuia structurii repetitive cu contor presupuneparcurgerea urmtoarelor etape:

    1).Variabila de ciclare contor ia valoarea iniial vi.

    2). Dac contor este mai mic sau egal cu valoarea final vf, seexecut Secvena A, se adun 1 la contor i se reia cu

    pasul 2).. Altfel, execuia este ncheiat.

  • 7/27/2019 Algoritmi_site Scheme Logice

    63/69

    63

    pentru contor=vi, vfexecut

    secvena A

    Exprimarea n pseudocod:

  • 7/27/2019 Algoritmi_site Scheme Logice

    64/69

    64

    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 lund valori de la 1 pn la n secalculeaz suma dup formula S=S+I

    4. Se afieaz valoarea sumei.

  • 7/27/2019 Algoritmi_site Scheme Logice

    65/69

    65

    b) Pseudocodul:citete n

    S=0petntru I=1, n executS=S+I

    scrie Sstop

  • 7/27/2019 Algoritmi_site Scheme Logice

    66/69

    66

    c) Schema logic:start

    stop

    n

    i=1

    s=s+i

    i=i+1i

  • 7/27/2019 Algoritmi_site Scheme Logice

    67/69

    67

    Tem:

    S se calculeze produsul primelor n numerenaturale.

    Se cer:- algoritmul;

    - pseudocodul;

    - schema logic.

  • 7/27/2019 Algoritmi_site Scheme Logice

    68/69

    68

    1. Se citesc dou valori ntregi a i b. Se cere s setipreasc media lor aritmetic.

    2. Se citesc 3 numere naturale. Se cere s setipreasc primul numr, suma dintre primul ial doilea, suma celor trei numere.

    3. Se citete x numr natural. S se evalueze expresia

    de mai jos:

    Aplicaii

    inrestx

    xdacaxx

    3

    0,2

  • 7/27/2019 Algoritmi_site Scheme Logice

    69/69

    4. Se citesc trei numere ntregi. S se tipreasc(dac exist) numrul care este egal cu sumacelorlalte dou.

    5. Se citete n (numr ntreg). Se cere s se calculezesuma:

    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.