Algoritmi Curs 6

Embed Size (px)

DESCRIPTION

pri

Citation preview

  • 5/26/2018 Algoritmi Curs 6

    1/24

    CURS 6

    SCHEME LOGICE

  • 5/26/2018 Algoritmi Curs 6

    2/24

    DESCRIEREA ALGORITMILOR

    Descrierea unui algoritm poate fi fcut: n limbaj natural;Sub form grafic, prin scheme logice sau

    diagrame de structur; Cu ajutorul tabelelor de decizie, pentru

    probleme de deciziii multiple; Printr-un limbaj pseudocod (limbaj

    algoritmic); Printr-un limbaj de programare.

  • 5/26/2018 Algoritmi Curs 6

    3/24

    DEFINIII (1)

    Schema logic este deci o form de reprezentare aalgoritmului i a modului de lucru al acestuia subformgrafic,folosind diferite simboluri grafice.

    Simbolurile folosite n realizarea schemelor logice suntpractic figuri geometrice, croraprin convenie li s-aatribuit un nume, o funcie. Acestea sunt legate ntre

    ele prin sgei (arce orientate), conducnd astfel dela primul pas al algoritmului, pnla sfritullui.

  • 5/26/2018 Algoritmi Curs 6

    4/24

    DEFINIII (2)

    Figurile geometrice folosite la realizareaschemelor logice se numesc simboluri saublocuri.

    n fiecare bloc se nscriu instruciuni careprecizeaz ce aciuni, ce prelucrri trebuieefectuate ntr-o anumit etap a procesuluide calcul. Ele se deosebesc astfel unele dealtele, funcie de tipul operaiilor pe care leindic.

  • 5/26/2018 Algoritmi Curs 6

    5/24

    TIPURI DE BLOCURI (1)

    START-Blocul de nceput - indicnceputul desrierii algoritmului cu ajutorul

    shemei logice. Acest bloc nu are nici ointrare, ci numai o ieire(dinel pleacunarc). STOP-Blocul de sfrit - indicsfritul (ncheierea) procesului de calculi a shemei logice. El apare o singurdat,la sfritulschemei logice iconine

    n interiorul lui de regulunul din cuvinteleSTOP, SFRIT sau EXIT. El are doarintrride arce (sgei)inici o ieire.

  • 5/26/2018 Algoritmi Curs 6

    6/24

    TIPURI DE BLOCURI (2)

    Blocul de intrare (de citire) indiccitirea, de pe suport extern, a datelor

    de intrare necesare pentrufuncionarea algoritmului de calcul incrierea lor n locaii de memorieintern. El poarteticheta CITETE,iar lista-intrare conine variabile care

    precizeaz zonele de memorieintern receptoare. Blocul are ointrare i o ieire, pentru a indicacontinuarea algoritmului de calcul.

  • 5/26/2018 Algoritmi Curs 6

    7/24

    TIPURI DE BLOCURI (3)

    Blocul de ieire (de scriere) areacelaiformat cu cel de intrare, numai

    cspecificdatele de ieire,deci celecare trebuie afiate (scrise) pe unsuport extern de date, pentru a puteafi ulterior utilizate, cum ar fi : pe ecran,pe imprimant sau pe un suportmagnetic. Acestea constituie practicrezultatele prelucrrilor.

    Acest bloc are eticheta SCRIE, urmatde lista variabilelor cerute.

  • 5/26/2018 Algoritmi Curs 6

    8/24

    TIPURI DE BLOCURI (4)

    Blocul de prelucrare, da calculsau deatribuire reprezint grafic o etap a

    procesului de calcul n care se efectueazdiferite calcule. n acest bloc se calculeazvaloarea unei expresii (e) i se atribuierezultatul suunei variabile (v). Simbolul =este operator de atribuire inu operatorul

    relaionaldin matematic. De exemplu x=znseamn c valoarea lui z se mut nvariabila x sau, altfel spus, variabilei x i seatribuie valoarea lui z.

  • 5/26/2018 Algoritmi Curs 6

    9/24

    TIPURI DE BLOCURI (5)

    Blocul de decizie, de ramificaie sau deselecie marcheaz locul unde se decide, se

    hotrte, funcie de coninutul blocului, pe ce calese va continua procesul de prelucrare (de calcul). Elpoate fi un bloc de decizie simplu, cu o intrare idou ieiri,corespunztoarecelor douvalori logiceposibile la testarea unei condiiilogice (AdevratsauFalse), sau cu trei ieiri(mai mic, egal, mai mare).n

    interiorul blocului se scrie condiia ce se va testa(simplsau complex,formatdin mai multe condiiisimple legate ntre ele prin operatorii logici AND, ORsau NOT).

  • 5/26/2018 Algoritmi Curs 6

    10/24

    TIPURI DE BLOCURI (6)

    Bloc de conexiune pe aceeaipagin(conector) este practic un cercule folosit

    pentru a uni dou blocuri. Un conector seva plasa n acest caz n punctul dentrerupere al sgeii,iar altul n locul undetrebuie s continue sgeata. Cei doiconectori trebuie s aib nscris acelaiconinut(grup de litere sau cifre).

    Conector de pagin sau bloc deconexiune pe o alt pagin seutilizeaz n acelai mod, dar pentru acontinua schema logicpe o altpagin.

  • 5/26/2018 Algoritmi Curs 6

    11/24

    PRINCIPIILE REALIZRII SCHEMELOR

    LOGICE:

    Orice shemlogicncepe cu blocul de START. Dup terminarea activitii unui bloc de prelucrare,

    ncepe activitatea blocului imediat urmtor. Dup terminarea activitii unui bloc de decizie i

    ncepe activitatea blocul conectat la ieireacorespunztoare condiiei. n cazul unui bloc simplu,

    cu dou ieiri, se executblocul conectat la DA daceste adevratcondiiaspecificatiblocul conectat laNU n caz contrar.

    Schema logic i nceteaz activitatea la bloculSTOP.

  • 5/26/2018 Algoritmi Curs 6

    12/24

    OBSERVAIE:

    Pentru descrierea algoritmilor se potutiliza i alte simboluri, cu condiiaca ele s fie explicate, s fie clar

    sensul inelesullor.

  • 5/26/2018 Algoritmi Curs 6

    13/24

    SCHEME LOGICE STRUCTURATE

    O schem logic este structurat, dacndeplineteurmtoarelecondiii:Conineun singur bloc de intrareConineun singur bloc de ieireConineuna din structurile de control, denumite

    i structuri fundamentale, cum sunt:structurasecvenial, structura alternativ, structurarepetitiv.

  • 5/26/2018 Algoritmi Curs 6

    14/24

    PROGRAMAREA STRUCTURAT

    Putem spune astfel cprogramarea structuratreprezint o modalitate de ordonare a activitii

    mentale desfurate n scopul realizrii deprograme, constituite din structuri fundamentaleimpusesecvenial, alternativirepetitiv- ncondiiile minimizrii efortului de programare iobinerii unui produs informatic de cea mai buncalitate.

    Un program este structurat dac are o singurintrare, o singur ieire i conine numai structurifundamentale admise.

  • 5/26/2018 Algoritmi Curs 6

    15/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR (LINIAR)

    Structura secvenial sau liniar

    Desemneaz una sau mai multe operaii cese execut una dup cealalt, n mod liniar(secvenial).

  • 5/26/2018 Algoritmi Curs 6

    16/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR(IF-THEN-ELSE (1))

    Structura alternativsau selecia(IF-THEN-ELSE)

    Structura alternativ desemneaz execuia uneisecvene de operaiiS1 sau a alteia S2, n funcie de

    ndeplinirea sau nu a unei condiii.

  • 5/26/2018 Algoritmi Curs 6

    17/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR (IF-THEN-ELSE (2))

    Structurile alternative sunt de mai multe tipuri: Structura IF-THEN-ELSE, selecteaz succesiunea operaiilor

    ce urmeaz a fi executate, funcie de valoarea logic deadevr sau fals pe care o are n momentul respectiv condiiaspecificat. Dac este adevrat condiia, se urmeaz caleaspecificat de ramura Da, altfel se urmeaz calea lui Nu.

    Structura IF-THEN numit i selecia simpl, este practic oform particular a seleciei IF-THEN-ELSE, n care blocul de

    pe ramura Nu este vid. n mod asemntor se poate construi i selecia IF-ELSE, cu

    precizarea c n acest caz blocul vid va fi cel de pe ramuraDa.

  • 5/26/2018 Algoritmi Curs 6

    18/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR(CASE-OF (1))

    Structura CASE-OF selecteaz una dintre mai multeranuri, n funcie de valoarea unui selector. De

    aceea, structura de acest tip se mai numeteselecie multipl. Dac selectorul are o valoarecare aparine listei de valori specificat, atunci seexecut secvena de operaii precizat pentruvaloarea respectiv. Dac selectorul nu are o

    valoare care saparinunei liste de valori, atuncise execut aciunea specificat n mod exprespentru acest caz sau nu se executnimic n caz.

  • 5/26/2018 Algoritmi Curs 6

    19/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR(CASE-OF (2))

  • 5/26/2018 Algoritmi Curs 6

    20/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR (ITERAIA)

    Structura repetitiv sau iteraia

    Structura repetitiv indic repetarea uneioperaiisau secvenede operaiiS, atta timp ctestendeplinito anumitcondiie.

    n funcie de momentul n care se face

    testarea condiiei specificate, structurilorrepetitive sunt de mai multe tipuri (WHILE-DO,DO-UNTIL).

  • 5/26/2018 Algoritmi Curs 6

    21/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR (WHILE-DO)

    Condiia Cse testeaz

    anterior execuieisecvenei de comenziSi atunci avem o

    structur de tipWHILE-DO

  • 5/26/2018 Algoritmi Curs 6

    22/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR (DO-UNTIL)

    Condiia se testeaz

    posterior execuieisecveneide comenziS i atunci avem o

    structurde tipDO-UNTIL

  • 5/26/2018 Algoritmi Curs 6

    23/24

    STRUCTURI FUNDAMENTALE ALE

    ALGORITMILOR

    Structura repetitiv mai poate fi analizat i din punctde vedere al numruluide reluri. Din acest punct de

    vedere, o structurrepetitivpoaste fi: Fr numrtor, cci nu se cunoate de la nceput

    numrul de reluri. Aa este cazul structurii de tipWHILE, indiferent de tipul ei.

    Cu numrtor, atunci cnd se tie sau se poatecalcula automat numrul de reluri. Aa este cazulstructurii repetitive de tip DO-FOR

  • 5/26/2018 Algoritmi Curs 6

    24/24

    Structura repetitiv cu numrtor

    DO-FOR funcioneaz astfel:

    Se iniializeazo variabilvcu rol de contor de numrare, cu o valoareiniial(vi); Se verificdacvaloarea contorului este mai micsau egalcu valoarea

    final(dat),vf . Dac Da, atunci se execut setul de operaii specificat prin S, seincrementeaz(se mrete)valoarea contorului cu pasul specificat prin vr ise trece la o noucomparare a valorii contorului cu valoarea final. DacNu, atunci execuiaciclului s-a ncheiat.

    Prin urmare, la acest tip de structurrepetitivse cunosc ise dau de lanceput: valoarea iniiala contorului de numrare; pasul de creterea valorii lui, dupfiecare execuiea ciclului. Valoarea final a contorului, care stabilete condiia de ieire din ciclu.Atunci cnd contorul a ajuns la o valoare egal sau mai mare dect ceaprecizatprin vf,se terminautomat execuiaciclului.