Sunteți pe pagina 1din 2

Capitolul 7Algoritmi şi tehnici de reprezentare

7.1. Etapele rezolvării problemelor economice


Pentru ca o problemă să fie rezolvată cu ajutorul calculatorului trebuie să avem în vedere îndeplinirea a două condiţii:
să existe un program care să descrie algoritmul de rezolvare a problemei într-un limbaj accesibil calculatorului. Se vor
preciza operaţiunile prin care, de la datele de intrare, se ajunge la rezultate.
să existe datele structurate într-un anumit mod, pentru a fi accesibile programului.
Varianta clasică, discutată mai sus, poate fi detaliată. Astfel, se ajunge la următoarele etape:
definirea şi analiza problemei;
elaborarea algoritmului de rezolvare şi reprezentarea acestuia;
codificarea algoritmului într-un limbaj de programare;
obţinerea programului în format executabil;
testarea şi corectarea programului;
documentarea programului;
exploatarea şi întreţinerea.

Calculatoarele actuale gestionează date, fără a lua în considerare semnificaţia lor. Identificarea datelor reprezentate se
realizează prin amplasarea simbolurilor în memoria internă, în anumite zone de pe suport, după cum sunt definite prin
programele de prelucrare. De aici necesitatea organizării datelor, deci a structurării lor conform logicii programelor.
În concepţia tradiţională se parcurg următoarele etape (vezi fig. nr. 7.1.):
analiza problemei şi definirea modelului de prelucrare. Se stabilesc astfel algoritmul de prelucrare şi structurile de
date.
transpunerea modelului obţinut într-un model accesibil calculatorului utilizând un limbaj de programare. Este etapa de
scriere a programului şi de transpunere a acestuia în format executabil.
prelucrarea propriu-zisă este ultima etapă în care programul în format executabil este încărcat şi pus în execuţie. La
execuţie programul solicită datele de intrare şi furnizează rezultatele.

În concepţia tradiţională drumul de la problemă la rezultate este relativ greoi, fiind necesară însuşirea şi utilizarea unui
limbaj de programare. Etapele de analiză şi programare durează, de obicei, mult timp şi presupun costuri ridicate.
În rezolvarea problemelor cu ajutorul calculatorului electronic, drumul parcurs până la realizarea şi exploatarea
programului se structurează în anumite etape, subsumate criteriului eficienţă. Criteriul de eficienţă are o sferă largă de
cuprindere, fiind aplicat atât la fiecare etapă în parte cât şi global, la nivelul clasei de probleme rezolvate, cu
implicarea întregii game de resurse utilizate (hardware, software, personal, resurse financiare).
7.2 Algoritmi: definiţie, proprietăţi, operaţiuni de bază
7.2.1. Noţiunea de algoritm
Realizarea unui program fiabil, de bună calitate, necesită o activitate complexă care implică parcurgerea unor etape
distincte, bine definite. Analiza, în profunzime, a problemei supuse atenţiei programatorului, a datelor, şi în special, a
logicii de prelucrare a acestora, necesită şi constituie o condiţie impusă în vederea obţinerii, în viitor, a unui program
cu performanţe ridicate. Pe această bază se trece la elaborarea algoritmului de rezolvare.
7.2.3. Operaţiuni de bază în algoritmi
Operaţiunile prevăzute în algoritmi utilizează date elementare şi date structurate. Este vorba de constante, variabile,
masive de date (tablouri), articole, fişiere. Asupra acestor mărimi se pot defini următoarele categorii de operaţiuni:
operaţiuni de atribuire, operaţiuni de decizie, operaţiuni de intrare /ieşire, alte operaţiuni.
Operaţiuni de atribuire. Prin atribuire se asociază unei variabile o anumită valoare definită printr-o constantă, printr-o
altă variabilă sau printr-o expresie. Tot aici se includ operaţiunile de calcul definite pe mulţimea numerelor reale:
adunare, scădere, înmulţire, împărţire, ridicare la putere, funcţii etc.
Exemple:
Nota : = 10
Medie : = (Nota1 + Nota2) / 2
Nume : = "Nicolescu"
Operaţiuni de decizie. Prin operaţiunea de decizie se determină valoarea logica a unei propoziţii (condiţii): adevărat
sau fals. În redactarea condiţiilor se utilizează variabile, constante, expresii, operatori relaţionali (=, #, >, <, >=, <=) şi,
eventual, operatori logici (NOT, AND, OR).
Operaţiuni de intrare /ieşire. Operaţiunile de intrare /ieşire precizează fie introducerea datelor în memoria interna
(citire), fie extragerea rezultatelor din memoria internă (scriere) pentru a putea fi stocate sau vizualizate şi interpretate.
Alte operaţiuni. Includem aici operaţiunile de salt, operaţiunile de apel a unei proceduri etc.
Algoritmul este abordat în diferite accepţiuni. În DEX algoritmul este descris în două moduri:
ansamblu de simboluri folosite în matematică şi logică, permiţând găsirea în mod mecanic (prin calcul) a unor
rezultate;
succesiune de operaţii necesare în rezolvarea unor probleme oarecare.
În dicţionarul de informatică algoritmul este prezentat ca un "concept folosit în mod intuitiv pentru a desemna o
mulţime finită de operaţii (instrucţiuni, comenzi) cunoscute, care executate într-o ordine bine stabilită, pornind de la
un set de valori (intrări), produc în timp finit, un alt set de valori (ieşiri)".
Cu toate ca algoritmii sunt o realitate incontestabilă, până în prezent nu există o definiţie riguroasă de la care să se
dezvolte o teorie. De aceea ne mulţumim cu următoarea descriere a noţiunii de algoritm: ansamblu de operatii
împreună cu ordinea în care se aplică asupra datelor de intrare ale unei clase de probleme pentru a obţine rezultatele.
7.3 Tehnici de reprezentare a algoritmilor
În procesul de dezvoltare a programelor se folosesc diverse tehnici de reprezentare, din care cele mai utilizate sunt:
schemele logice;
pseudocodurile;
diagramele arborescente;
tabelele de decizii.
7.3.1 Scheme logice
7.3.1.2. Structuri de bază în schemele logice
Ordinea în care instrucţiunile programului sunt executate constituie structura de control a acestuia.
Structuri secvenţiale. Structura secvenţială este folosită în cazul programelor simple, în care, ordinea execuţiei
instrucţiunilor sau a modulelor de instrucţiuni coincide cu ordinea sintactică a acestora.
Structura alternativă este acea structură în care se efectuează un bloc de operaţiuni sau altul se execută în funcţie de o
anumită condiţie (C) impusă de logica de rezolvare a problemei. Condiţia se poate referi la:
verificarea conţinutului şi a naturii unor zone de memorie;
verificarea conţinutului unui contor, a cărui valoare poate creşte sau descreşte;
verificarea corectitudinii unor date de intrare etc.

M1

M2

.
.

Mn

Fig. 7.7 Structura secvenţială


Un exemplu de schemă logică de program în care se regăseşte numai structura secvenţială este prezentată mai jos.
structuri alternative (numite şi de decizie sau de selecţie);
structuri repetitive (iterative);
structuri mixte.
Cazul general de program (P) cu structură alternativă este de forma:
P = M1; {M2 dacă C = DA sau M3 dacă C = NU}; M4.
în care M1, M2, M3, M4 sunt modulele programului P, iar (C) condiţia evaluată.

S-ar putea să vă placă și