Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Logica programarii - Algoritmi: Definitie, proprietati, operatiuni de baza

algoritmi



+ Font mai mare | - Font mai mic



Logica programarii

Pentru ca o problema sa fie rezolvata cu ajutorul calculatorului electronic trebuie sa existe un program informatic care sa descrie algoritmul de rezolvare a problemei intr-un limbaj accesibil calculatorului, precizandu-se operatiunile prin care, de la datele de intrare, se ajunge la rezultate si sa existe datele structurate intr-un anumit mod, pentru a fi accesibile programului informatic.



Ansamblul activitatilor de concepere, dezvoltare si intretinere a programelor poarta denumirea de programare.

1. Etapele rezolvarii problemelor economice

Calculatoarele actuale gestioneaza datele fara a lua in considerare semnificatia lor. Identificarea datelor reprezentate se realizeaza prin amplasarea simbolurilor in memoria interna, in anumite zone de pe suport, dupa cum sunt definite prin programele de prelucrare. De aici necesitatea organizarii datelor, deci a structurarii lor conform logicii programelor.

Intrucat in starea initiala problemele de rezolvat, inclusiv cele din domeniul economic, nu raspund conditiilor specificate anterior este necesara parcurgerea anumitor etape pentru ca problema sa fie adaptata prelucrarilor informatice. Literatura de specialitate face apel la mai multe conceptii in modelarea problemelor in vederea prelucrarilor informatice : conceptia traditionala (clasica), conceptia utilizatorului final (prin folosirea de instrumente software specializate), achizitionarea de produse-program.

In conceptia traditionala drumul de la problema la rezultate este relativ greoi, fiind necesara insusirea si utilizarea unui limbaj de programare. Etapele de analiza si programare dureaza, de obicei, mult timp si presupun costuri ridicate.

Fig. nr. 1. Conceptia traditionala de rezolvare a problemelor economice

Asa cum rezulta din figura 1, calea de la problema de rezolvat la rezultate poate fi sintetizata astfel: definirea si analiza problemei, elaborarea algoritmului de rezolvare a problemei, codificarea algoritmului intr-un program utilizand un limbaj de programare, transformarea programului sursa in program executabil (prin compilare sau interpretare), testarea si corectarea, documentarea programului, executia si intretinerea.

In etapa de definire si analiza a problemei se prezinta imaginea conceptuala completa, coerenta si neambigua a problemei luate in studiu. Dupa formularea problemei in termeni concreti si clari urmeaza analiza tuturor aspectelor privind datele de intrare si rezultatele (natura, forma, mod de prezentare, mod de organizare), precum si precizarea modificarilor suferite de datele de intrare pentru a obtine rezultatele dorite. Dupa stabilirea acestor elemente se poate intocmi, ca o sinteza a etapei, schema de sistem.

Etapa de elaborare a algoritmului de rezolvare a problemei detaliaza prelucrarile pana la nivelul operatiunilor elementare de efectuat, luand in considerare toate restrictiile identificate in faza de analiza. Reprezentarea algoritmului se face prin diverse tehnici: schema logica, pseudocod etc.

Etapa de codificare a algoritmului presupune alegerea unui limbaj de programare adecvat pentru scrierea programului sursa (se utilizeaza pentru scriere un editor sau procesor de texte), programul sursa introducandu-se in sistem sub forma unui fisier in format text.

Programul scris de om se numeste program-sursa. Pentru a putea fi inteles de calculator el trebuie adus in format executabil. Obtinerea formatului executabil se realizeaza prin traducere, cu ajutorul unor programe speciale care pot fi interpretoare sau compilatoare. Majoritatea limbajelor de programare actuale reprezinta medii de programare, fiind prevazute cu editor de texte pentru introducerea programului sursa, cu module de traducere, cu editoare de legaturi, cu module de depanare etc.

Testarea si corectarea programului. Programul pregatit pentru exploatarea curenta trebuie sa fie corect din punct de vedere al logicii de rezolvare a clasei de probleme. In acest scop se folosesc date de test, respectiv date de intrare pentru care se cunosc rezultatele.

Documentarea programului este necesara deoarece, de obicei, programele sunt folosite in exploatarea curenta de alte persoane decat cele care le-au proiectat. Ea presupune precizarea instructiunilor de utilizare, a explicatiilor si exemplelor care sa conduca la o utilizare corecta a programului respectiv. In acest scop se intocmeste o documentatie. Aceasta poate fi inclusa in program prin linii de documentare/linii comentariu care nu influenteaza modul de derulare a executiei programului, facilitand doar intelegerea sa sau poate fi atasata programului sub forma dosarului de programare care cuprinde descrierea problemei si a functiilor sale, descrierea structurii datelor (de intrare si de iesire), descrierea algoritmului de rezolvare a problemei, programul sursa, descrierea conditiilor de implementare si exploatare, exemple de utilizare etc.

Exploatarea are in vedere utilizarea curenta a programului in rezolvarea cazurilor concrete din clasa de probleme pentru care a fost proiectat. Intretinerea programului are atat un aspect corectiv, inlaturand eventualele erori care au mai aparut, cat si un aspect evolutiv, care tine seama de dinamica clasei de probleme rezolvate.

Conceptia utilizatorului final se bazeaza pe utilizarea instrumentelor software specializate care apropie utilizatorul de calculator si elimina faza de programare. Asemenea instrumente software specializate sunt limbajele de programare din generatia a 4-a (programe de calcul tabelar, programe de grafica, sisteme de gestiune a bazelor de date etc.) care permit definirea unui model de rezolvare a problemei apropiat de formatia utilizatorului.

Achizitionarea de produse-program. Pentru aplicatiile curente din domeniul economic (productie, stocuri, contabilitate generala etc.) societati specializate in productia de software pun la dispozitie, pe piata, produse-program la cheie. Firmele interesate pot achizitiona asemenea produse-program dupa analiza atenta a cerintelor de prelucrare. Ulterior utilizatorul trebuie sa-si adapteze structura datelor la cerintele produsului-program.

Algoritmi: Definitie, proprietati, operatiuni de baza

Notiuni generale privind algoritmii

Dupa cum se stie, activitatea noastra zilnica nu este algoritmica. Algoritmizam de obicei o activitate in urmatoarele situatii:

Volumul de calcul necesar este mare;

Activitatea se repeta foarte frecvent;

Rezultatele sunt necesare in foarte scurt timp.

In alte situatii algoritmizarea si utilizarea calculatoarelor pentru rezolvarea problemelor nu este justificata. Exista insa si probleme care nu pot fi algoritmizate. Acest lucru insemna ca nu exista posibilitatea de programare a rezolvarii acestor probleme. Evident, daca o problema poate fi rezolvata, se pune problema eficientei, din punct de vedere al spatiului si a timpului necesar rezolvarii pe calculator a acestei probleme.

In DEX algoritmul este descris in doua moduri:

ansamblu de simboluri folosite in matematica si logica, permitand gasirea in mod mecanic (prin calcul) a unor rezultate;

succesiune de operatii necesare in rezolvarea unor probleme oarecare.

In dictionarul de informatica algoritmul este prezentat ca un "concept folosit in mod intuitiv pentru a desemna o multime finita de operatii (instructiuni, comenzi) cunoscute, care executate intr-o ordine bine stabilita, pornind de la un set de valori (intrari), produc in timp finit, un alt set de valori (iesiri)".

Structura unui algoritm este constituita din urmatoarele elemente de baza:

  • Date - variabile si tipuri de date utilizate pentru accesul la memorie si generarea de valori conform calculelor implementate in procesul de calcul prin intermediul instructiunilor;
  • Expresii - forme de calcul asemanatoare expresiilor matematice utilizate pentru calcule aritmetice, logice(booleene), operatii asupra valorilor de tip caracter (caractere ASCII) sau string (sir de caractere).
  • Instructiuni - instructiuni sau comenzi executabile pentru operatii Input/Output si operatii de prelucrare a datelor din memorie conform procesului de calcul;
  • Proceduri/Functii - subprocese de calcul cu o structura asemanatoare unui algoritm ce pot fi executate prin asa-numitele instructiuni de apelare.

Se pot enumera multe exemple de algoritmi cum ar fi:

algoritmul extragerii radacinii patrate a unui numar;

algoritmul conversiei dintr-o baza de numeratie in alta;

algoritmul determinarii minimului dintr-o multime de numere, etc.

Amintim si cateva exemple de algoritmi care opereaza cu multimi de date economice avand drept scop rezolvarea problemelor de gestiune: algoritmul pentru calculul salariilor, algoritmul determinarii costului de productie folosind articolele de calculatie.

Pentru ca problema sa fie rezolvata cu ajutorul calculatorului, algoritmul trebuie exprimat in formatul acceptat de acesta, deci in cod-masina. Acest lucru ar fi deosebit de dificil si totodata putin eficient. Solutia o reprezinta limbajele de programare care pot face descrierea algoritmilor intr-un format oarecum apropiat factorului uman. In cazul problemelor complexe descrierea directa intr-un limbaj de programare necesita efort de programare deosebit si, in plus, solicita cunoasterea detaliata a limbajului de programare. De aceea se prefera trecerea treptata spre program, prin descrieri intermediare, simplificate, concise si usor de urmarit (scheme logice, pseudocod, tabele de decizie etc.).

Proprietatile algoritmilor

Pentru a fi programabil, orice algoritm trebuie sa indeplineasca cumulativ anumite conditii (proprietati): generalitate, determinism, realizabilitate, finitudine, eficienta.

Generalitate (universalitate). Algoritmul trebuie sa se refere la o clasa de probleme si nu la o problema singulara (de exemplu algoritmul de determinare a stocului maxim va lua in considerare "n" produse).

Determinism (claritate). In fiecare moment al executiei se cunoaste cu exactitate urmatoarea operatiune ce trebuie executata. De asemenea, algoritmul trebuie sa prevada modul de solutionare a tuturor situatiilor posibile care pot apare in rezolvarea problemei, intr-o maniera fara ambiguitati sau neclaritati.

Realizabilitate (efectivitate). Fiecare din operatiunile elementare prezente in algoritm trebuie sa poata fi executata intr-un timp finit.

Finitudine. Operatiunile trebuie astfel concepute incat algoritmul sa se termine intr-un numar finit de pasi, cunoscut sau necunoscut.

Eficienta. Aceasta caracteristica ia in considerare procesorul care executa algoritmul. Se are in vedere evaluarea a doua functii:

complexitatea-timp, respectiv intervalul de timp cerut pentru executarea tuturor pasilor din algoritm;

complexitatea-spatiu, respectiv resursele necesare pentru executie (spatiu de memorie, numar de registri etc.).

Din pacate, avand in vedere caracteristica de generalitate este foarte greu de determinat eficienta algorimilor.

Algoritmizarea unei probleme presupune parcurgerea urmatoarelor etape

definirea unui enunt precis al problemei;

transformarea acestui enunt in enunt algoritmic;

reprezentarea enuntului algoritmic cu ajutorul instructiunilor specifice (organigrame, tabele de decizie, limbaje algoritmice etc);

programarea propriu-zisa utilizand un limbaj de programare.

Trebuie facuta precizarea ca aceeasi problema poate fi algoritmizata sub mai multe forme. Obtinerea unui algoritm este un act creativ care face apel la inteligenta, intuitie si experienta.

Operatiuni de baza in algoritmi

Operatiunile prevazute in algoritmi utilizeaza date elementare si date structurate. Este vorba de constante, variabile, masive de date (tablouri), articole, fisiere. Asupra acestor marimi se pot defini urmatoarele categorii de operatiuni: operatiuni de atribuire, operatiuni de decizie, operatiuni de intrare/iesire, alte operatiuni.

Operatiunile de atribuire asociaza unei variabile o anumita valoare definita printr-o constanta, printr-o alta variabila sau printr-o expresie. Tot aici se includ operatiunile de calcul definite pe multimea numerelor reale: adunare, scadere, inmultire, impartire, ridicare la putere etc.

Exemple:

Nota :=9

Medie := (Nota1 + Nota2) / 2

Nume := "Popescu"

Operatiunile de decizie determina valoarea logica a unei propozitii (adevarat sau fals). In redactarea conditiilor se utilizeaza variabile, constante, expresii, operatori relationali (=, #, >, <, >=, <=) si, eventual, operatori logici (NOT, AND, OR).

Exemplu:

DACA tip_cont = "A" OR tip_cont = "a"

ATUNCI

SFD := SID +RD - RC

ALTFEL

SFC := SIC +RC - RD

SFARSIT_DACA

Operatiunile de intrare/iesire precizeaza fie introducerea datelor in memoria interna (citire), fie extragerea rezultatelor din memoria interna (scriere) pentru a putea fi stocate sau vizualizate si interpretate.

Alte operatiuni includ operatiunile de salt, operatiunile de apel a unei proceduri, etc.

3. Tehnici de reprezentare a algoritmilor

Dupa ce un algoritm este elaborat principial el trebuie prezentat intr-o forma accesibila si in mod detaliat. Aceasta operatie este numita reprezentarea algoritmului. Descrierea se poate face in mai multe moduri si anume prin:

limbaj logico-matematic;

limbaje de tip pseudocod;

limbaj grafic;

scheme logice verticale;

scheme logice orizontale (Chapin);

diagrame arborescente (Tabourier sau Mills);

prin tabele de decizie;

prin intermediul diferitelor limbaje de programare;

orice combinatie intre ele, fiecare forma avand avantajele si dezavantajele sale.

In continuare sunt prezentate cateva din posibilitatile de reprezentare a algoritmilor.

Scheme logice

Prezentare generala, tipuri de scheme logice

Schemele logice sunt reprezentari grafice ale fluxului general de date si a algoritmului de prelucrare, utilizand anumite simboluri predefinite. Simbolurile folosite in schemele logice au fost standardizate prin standardul X35 din 1970 aprobat de ANSI (American National Standard Institute), conform cu recomandarile R1028/1969 ale ISO (International Standard Organization).

Forma simbolurilor este definita prin configuratia geometrica si raportul inaltime/latime (dreptunghi: 2/3; romb: diagonala mica/diagonala mare = 2.3; paralelogram: inaltime/latime = 2/3, unghi ascutit = 75 ). Liniile folosite trebuie sa aiba aceeasi grosime, indiferent de dimensiunea simbolului. Directia normala a fluxului de prelucrare este de la stanga la dreapta si de sus in jos. Cand directia este de sens opus se folosesc varfuri de sageata fata de directia liniei de flux. Pentru mai multa claritate multi programatori folosesc varfuri de sageata in toate cazurile. Standardul nu specific[ modul cum se localizeaza si cum se scrie textul in interiorul unui simbol pentru descrierea operatiei de executat.

Distingem doua tipuri de scheme logice: scheme logice de sistem, scheme logice de program.

Schemele logice de sistem (numite prescurtat scheme de sistem) au rolul de a indica sistemul de resurse afectat pentru obtinerea rezultatelor scontate. Se schematizeaza relatiile dintre date si suporturile tehnice de inregistrare, precum si fluxul general de prelucrare. In cadrul lor exista unul sau mai multe blocuri de prelucrare ce reprezinta proceduri independente de prelucrare, deci programe diferite.

Simbolurile standard utilizate in realizarea schemelor logice de sistem sunt prezentate in fig. nr. 5. De asemenea, se utilizeaza si simboluri nestandardizate (vezi fig. nr. 6).

Fig. nr. 4. Exemplu de schema logica de sistem

Scheme logice de program sintetizeaza succesiunea etapelor de rezolvare a unei probleme constituind o reprezentare grafica a algoritmului proiectat. In cadrul acestor scheme se folosesc simbolurile standard din fig. nr. 5.

Schema logica reprezinta, in final, un graf orientat, care indeplineste urmatoarele conditii

contine un singur bloc START si un singur bloc STOP;

orice arc este etichetat cu una din informatiile:

o       START sau STOP;

o       citire sau scriere date;

o       decizie;

o       atribuire;

orice arc face parte din cel putin un drum care incepe cu blocul START si se termina cu blocul STOP.

O schema logica in care sunt respectate conditiile de mai sus este o schema logica structurata.

Fig. nr. 5. Simboluri ANSI folosite in schemele logice

Fig. nr.     Simboluri nestandardizate folosite in schemele logice

Structuri de baza in schemele logice

Ordinea in care instructiunile programului sunt executate constituie structura de control a acestuia.

Structurile de control, in general, se impart in doua categorii:

a.       structuri secventiale;

b.      structuri nesecventiale.

Structura secventiala este folosita in cazul programelor simple, in care, ordinea executiei instructiunilor sau modulelor de instructiuni coincide cu ordinea sintactica a acestora.

In programele complexe, aceasta structura se poate regasi doar pentru anumite parti ale acestora: (P = M1; M2; M3, , Mn). Sintetizat, structura secventiala pentru programul P care este format din modulele M1, M2,., Mn se prezinta astfel:

Fig. nr. 7.Structura secventiala

Structuri nesecventiale. Structurile nesecventiale apar in cazul in care instructiunile se executa numai in anumite conditii si/sau se repeta, in functie de rezultatul evaluarii unor conditii. Rezulta ca structurile secventiale pot fi:

structuri alternative (numite si de decizie sau de selectie

structuri repetitive (iterative);

structuri mixte.

Structura alternativa este acea structura in care se efectueaza un bloc de operatiuni sau altul in functie de o anumita conditie C impusa de logica de rezolvare a problemei. Conditia se poate referi la:

verificarea continutului si a naturii unor zone de memorie;

verificarea continutului unui contor, a carui valoare poate creste sau descreste;

verificarea corectitudinii unor date de intrare etc.

Cazul general de program (P) cu structura alternativa este de forma:

P=M1; ; M4.

in care M1, M2, M3, M4 sunt modulele programului P, iar C conditia evaluata. Derularea programului se realizeaza astfel:

Sub forma P = M1; M2; M4, cand conditia C este indeplinita sau



Sub forma P = M1, M3, M4, cand conditia C nu este indeplinita.

Schematic structura alternativa (IF - THEN - ELSE) se prezinta astfel:


Fig.nr. 9. Structura alternativa IF-THEN-ELSE

In particular, atunci cand M3 nu contine nici o instructiune se obtine o structura alternativa cu o ramura vida (pseudoalternativa). Conditia trebuie astfel construita incat de instructiuni ce va fi executat sa fie subordonat valorii de adevar (IF - THEN). Derularea programului se realizeaza astfel:

P = M1; M2; M4 daca C=DA

P = M1; M4 daca C = NU

Schematic aceasta structura se reprezinta astfel:

Fig.nr. 10. Structura de control alternativa de tip IF-THEN

Structurile alternative prezentate mai sus au fost generalizate de C.A.R. Hoare sub forma unei structuri cu n ramuri (DO - CASE sau SELECT - CASE) care permit selectia intre mai multe ramuri de instructiuni

Intr-o secventa de programe Sp in care apare o structura alternativa generalizata (selectia multipla) se executa numai modulul pentru care rezultatul evaluarii conditiei C este adevarat. Fiecarui modul de instructiuni ii este asociata o conditie. Secvential se evalueaza fiecare conditie in parte. Prima conditie care este adevarata, determina executia modulului aferent acesteia. Modulele care urmeaza in structura sunt ignorate, controlul fiind predat instructiunilor din urmatoarea secventa de program.

Derularea prelucrarilor se realizeaza astfel:

Sp = M1 daca C1 = DA

M2 daca C2 = DA

Mn daca Cn = DA

Schematic o structura alternativa generalizata se prezinta astfel:

Fig.nr. 11. Structura alternativa generalizata

Structurile repetitive permit executia repetata a aceluiasi modul de instructiuni. Numarul de repetitii poate fi predefinit (FOR) sau conditionat de rezultatul evaluarii unei conditii (WHILE - DO, DO - UNTIL).

In primul caz este vorba de structura repetitiva cu un numar definit de pasi (DO FOR). Numarul de repetitii este controlat de o variabila (V), numita variabila de control, care are o valoare initiala (Vi) si una finala (Vf) - ambele prestabilite - si o ratie R (un increment) care se adauga la valoarea curenta a variabilei de control dupa fiecare executie a modulului repetitiv. Iesirea din structura repetitiva se realizeaza atunci cand variabila de control depaseste valoarea finala. Derularea structurii DO FOR pentru o secventa de program (SP) se realizeaza astfel:

Sp = MODUL pentru V < Vf


Fig.nr. 12. Structura repetitiva cu un numar definit de pasi

In cel de-al doilea caz, in functie de plasarea conditiei, structura repetititva poate fi conditionata anterior (WHILE - DO) sau conditionata posterior (DO - UNTIL).

In structura repetitiva conditionata anterior evaluarea conditiei precede executia modulului repetitiv. Executia si, apoi, eventual, repetarea modulului se va face numai cand conditia este adevarata. Derularea structurii repetitive conditionata anterior se prezinta astfel:

Sp = cat timp C = DA executa MODUL REPET

Schematic aceasta structura se prezinta astfel:


Fig.nr. 13. Structura repetitiva conditionata anterior

In structura repetitiva conditionata posterior evaluarea conditiei se realizeaza dupa fiecare executie a modulului. Reluarea executiei are loc atat timp cat conditia nu este adevarata. Derularea structurii repetitive conditionata posterior se prezinta astfel:

Sp = Executa MODUL REPET pana cand C = DA


Fig.nr. 14. Structura repetitiva conditionata posterior

Structurile mixte se intalnesc in cadrul programelor complexe. Pe diverse niveluri de organizare se folosesc toate tipurile de structuri prezentate anterior. Practica a demonstrat ca pentru definirea structurii de control a oricarui program sunt suficiente structura secventiala, structura alternativa si structura repetitiva conditionata anterior. Este motivul pentru care in literatura de specialitate acestea sunt numite si structuri fundamentale

Fig.nr. 15. Structuri de control mixte

Pseudocoduri

Prezentare generala

Limbajul pseudocod este folosit in faza de proiectare a programelor pentru descrierea algoritmilor; el este o alternativa la schemele logice. Limbajul pseudocod nu este un limbaj de programare. Pseudocodul are numeroase variante, practic ele deosebindu-se de la proiectant la proiectant. Chiar la acelasi proiectant se pot intalni variatii ale formei, existand in anumite limite impuse de claritatea descrierii algoritmului, libertatea alegerii variantei celei mai adecvate. Toate variantele au insa ca trasaturi comune utilizarea enunturilor nestandard, precum si a operatiilor prescrise de programarea structurata.

Constructia de baza a limbajului este propozitia, un algoritm fiind constituit ca o succesiune de propozitii. Propozitiile sunt de tipul:

propozitii simple prin care se exprima operatii ce se vor codifica apoi direct intr-un limbaj de programare (de exemplu: deschide fisier, citeste inregistrare din fisier etc.);

propozitii complexe prin care se exprima operatii ce urmeaza a fi detaliate ulterior. Simbolul # este utilizat pentru a marca astfel de propozitii care se vor detalia ulterior.

Fiecare propozitie incepe cu un verb care exprima cat mai fidel operatia descrisa.

In dictionarul de informatica pseudocodul este definit ca "limbaj utilizat in proiectarea si documentarea programelor obtinut prin grefarea unor reguli sintactice pe limbajul natural. Mai exact, structurile de control sunt reprezentate prin folosirea unor cuvinte cheie (daca . atunci . altfel . ; executa.pana cand.s.a.) si printr-o anumita aliniere in pagina a liniilor. Poate fi utilizat in toate fazele proiectarii, precum si ca mijloc de documentare

Nu exista restrictii de definire unica a formei pe care trebuie sa o aiba un pseudocod. De fapt oricine poate crea un asemenea limbaj respectand insa conditia ca limbajul sa contina structuri de baza suficiente pentru a descrie orice algoritm.

Avantajul pseudocodului este dat de faptul ca reprezinta o metoda conventionala de notare si exprimare a algoritmilor, fara sa uzeze de regulile rigide din sintaxa unui limbaj de programare.

Reprezentarea structurilor de control cu ajutorul pseudocodurilor

Cu ajutorul pseudocodurilor pot fi reprezentate toate structurile de control fundamentale.

Structura secventiala este structura in care fiecare operatiune se reprezinta printr-o propozitie. Propozitiile sunt aliniate pe verticala in ordinea desfasurarii operatiunilor, iar termenii inceput si sfarsit fac delimitarea de alte sructuri de control.

Inceput

citeste CODPROD, DENPROD, CANT, PRET

calculeaza VALOARE = CANT * PRET

scrie DENPROD, VALOARE

Sarsit.

Structura alternativa are urmatorul format general:

Inceput

daca conditie

atunci

propozitia - 1

propozitia - 2

alternativa 1

propozitia - m

altfel:

propozitia - 1

propozitia - 2

alternativa 2

propozitia - n

sfarsit-daca

Sfarsit

Un exemplu de pseudocod, cu structura alternativa, pentru calculul salariilor este redat mai jos:

Inceput

citeste date de la terminal: MARCA, NUME, ORE, TARIF

daca ORE ≠ zero

atunci

calculeaza SALARIUL = ORE * TARIF

altfel

afiseaza mesajul "articol care nu se prelucreaza"

sfarsit-daca

Sfarsit

Structura alternativa cu o ramura vida are urmatorul format:

Inceput

daca conditie

atunci

propozitia - 1

propozitia - 2

propozitia - n

sfarsit

sfarsit_daca

Sfarsit

Structura alternativa generalizata are urmatorul format general:

Inceput

selecteaza i dintre

1: propozitia - 1

propozitia - 2 alternativa 1

propozitia - m

2: propozitia - 1

propozitia - 2 alternativa 2

propozitia - n

x: propozitia - 1

propozitia - 2 alternativa x

propozitia - p

sfarsit

Sfarsit

Exemplu pentru actualizarea unei baze de date:

Inceput

precizeaza i

daca i = 1

atunci

# adauga articol

daca i = 2

atunci

# modifica articol

daca i = 3

atunci

# sterge articol

sfarsit daca

sfarsit daca

sfarsit daca

Sfarsit

Structura repetitiva conditionata anterior are urmatorul format:

Inceput

cat timp conditie adevarata

executa propozitia - 1

propozitia - 2

propozitia - n

sfarsit

sfarsit cat timp

Sfarsit

Exemplu pentru stabilirea soldurilor la produsele existente in stoc.

Inceput

cat timp STOC > 0

calculeaza SOLD = STOC * PRET

afiseaza DENPROD, STOC, SOLD

sfarsit cat timp

Sfarsit

Structura repetitiva conditionata posterior are urmatorul format:

Inceput

executa

propozitia - 1

propozitia - 2

propozitia - n

pana cand conditia este adevarata

Sfarsit

Exemplu

Inceput

Executa

calculeaza SOLD = STOC * PRET

afiseaza DENPROD, STOC, SOLD

pana cand STOC < 0

Sfarsit

Pentru a asigura apropierea de limbajele de programare la ora actuala in multe cazuri se adopta o notare in limba engleza pentru marcarea structurilor de control.

De exemplu, o structura alternativa devine o structura de tip IF..THEN..ELSE astfel:

IF conditie adevarata

THEN

propozitie - 1

ELSE

propozitie - 2

ENDIF



Reix, R., Systemes d'information et management des organisations, Les Editions Foucher, Paris, 1990, pp. 146-148

***, Dictionarul Explicativ al Limbii Romane, Editura Univers Enciclopedic, Bucuresti, 1996, p. 27

***, Dictionar de informatica, Editura Stiintifica si Enciclopedica, Bucuresti, 1981, pp. 18-19

Bernard-Fanounillet, E,., s.a. Informatique pour comptabilit el la gestion, Editura Eska, Paris, p. 181

Apostol, C., s.a., Introducere in programare. Teorie si practica PASCAL, Editura Viata Romaneasca, Bucuresti, 1996, p. 37

Nickerson, R.C., Computers, Concepts and Applications for Users, San Francisco, 1990, p.291

Hoare, C.A.R., An Axiomatic Basis for Computer Pragramming, Comm. ACM 12, p. 576

Bhm, C., Jacopini, G., Flow diagrams, ACM, 9, pp. 366-371

***Dictionar de Informatica, Editura Stiintifica si Enciclopedica, Bucuresti, 1981, p.279




Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 6340
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved