Sunteți pe pagina 1din 4

Introducere

Un algoritm este o metodă de rezolvare a unei probleme printr-un număr finit de paşi. Printr-un
pas se înţelege o operaţie executabilă de către un operator. Putem spune că un algoritm seamănă cu un
proces de calcul (un complex de operaţii), cu o reţetă. Nu orice proces de calcul este un algoritm.
Un program de calculator este un complex de instrucţiuni scrise într-un anumit limbaj numit limbaj de
programare ce transcriu operaţiile dintr-un algoritm pentru operator. Instrucţiunile unui limbaj de
programare trebui să fie înţeles atât pentru programator cât şi pentru operator.

Proprietăţile algoritmilor
• generalitatea (pentru rezolvarea mai multor probleme din aceeaşi sferă)
• finitudinea
• determinismul (să cuprindă toate cazurile posibile)
• unicitatea (la aceleaşi intrări să obţină aceleaşi ieşiri dar prelucrarea să fie unică)
• claritatea/precizia (la orice operaţie executată să se ştie ce operaţie urmează)

Din punct de vedere structural un algoritm cuprinde urm. etape:


• iniţializarea
• prelucrarea
• furnizarea rezultatelor

Un algoritm are 0 sau mai multe date de intrare. Aceste date se mai numesc şi date iniţiale.

Operatori logici: AND, OR, NOT, >, <, <>


Algoritmii, în principal cei pentru prelucrarea datelor, pot fi exprimaţi în diferite modalităţi: text
liber, pseudocod, schemă logică, limbaj de programare. Algoritmii sunt în special pentru prelucrare
automată a datelor.
• constante
• variabile

Prezentarea unui algoritm:


• text
• schemă logică
• pseudocod
• limbaj de programare

Structuri de date
Organizare datelor este un proces cu urm. activităţi:
• identificarea datelor
• clasificarea şi descrierea proprietăţilor sau caracteristicile datelor
• gruparea datelor în colecţii de date destinate prelucrării
• reprezentarea externă pe suportul tehnic al datelor
• identificarea, definirea şi descrierea procedurilor de preluare şi stocare a datelor
În calculator datele sunt memorate pe suporţi de memorie externă sub forma unor colecţii de date
uniform structurate, numite fişiere. Organizarea uniformă se face prin înregistrări. De regulă toate
înregistrările dintr-un fişier în aceeaşi zonă: găsim acelaşi tip de dată. Modalitatea structurării
înregistrărilor o ştie doar programatorul în cazul unui fişier. Tabela este un fişier care conţine colecţii de
date dar şi structura înregistrărilor.

În funcţie de obiectele pe care le reprezintă datele se clasifică:


• date elementare sau scalare (entităţi indivizibile)
• colecţii de date (mulţime de date elementare între care se definesc şi se descriu anumit relaţii)

I. Datele elementare pot fi tratate sub 2 aspecte:


Nivelul fizic ce corespunde modului de organizare şi reprezentare internă a datelor. O dată
elementară se memorează într-o zonă de memorie situată la o anumită adresă. Ea poate conţine date
numerice, alfanumerice sau de un tip declarat fiind reprezentate în cod binar. În acest caz cea mai mică
unitate de adresare fiind bitul.

Nivelul logic ce corespunde modului de organizare şi prelucrare a datelor de către utilizatori.


Pentru identificarea unică a datelor utilizatorul va specifica pentru fiecare urm. elemente:
• identificatorul de dată sau numele asociat datei.
• mulţimea valorilor pe care le poate lua data respectivă în procesul prelucrării.
• verificarea încadrării în domeniul de valori (modelele de validare)
• atribute: tipul datei (numerică, simplă, vector,...), precizia de reprezentare internă a datei (pentru
numere reale există reprezentare cu simplă sau dublă precizie), alte caracteristici (alinierea,
modalitatea de alocare a memoriei asociate datei,...)

II. Se numeşte structură de date o colecţie de date pentru s-a definit un mecanism de selectare şi
identificare a componentelor. Pe baza acestor mecanisme sau în ele se pot introduce relaţii care să
asigure ordonarea datelor după criteriile dorite şi să faciliteze în acest mod prelucrarea lor. Între date
există relaţii ce se pot grupa în 2 categorii:
• Apartenenţa datelor la entitate.
• Legăturile dintre entităţile de acelaşi tip sau de tipuri diferite
Din alt punct de vedere o structură de date poate fi:
• Secvenţială (localizarea unei componente se face prin parcurgerea tuturor componentelor care se
află înaintea sa în ordinea existentă)
• Cu acces direct (dacă o componentă din structură poate fi localizată fără a ţine cont de celelalte
componente)

Componentele unei structuri date pot fi:


• Date elementare
• Structuri de date
După tipul componentelor structurile se pot grupa în:
• structuri de date omogene (conţin componente de acelaşi tip)
• structuri de date eterogene (cu componente de tipuri diferite)
La fel ca şi datele elementare structuri de date pot fi reprezentate atât în memoria internă cât şi în
memoria externă:
• fişierul (colecţie de date uniform structurată pe baza unor elemente de structură numite
înregistrări)
• bază de date (colecţie de fişiere şi tabele împreună cu un mecanism de gestionarea lor numit
sistem de gestiune a bazelor de date- SGBD)
• banca de date (o colecţie de baze de date împreună cu toate elementele implicate în gestionarea
ei constând în echipamente, module soft, forţă de muncă, suport financiar,...)

Din punct de vedere a modului de alocare a zonelor de memorie:


• structuri de date statice (alocarea zonei de memorie se face în momentul compilării şi nu se
schimbă)
• structurile de date dinamice (alocarea zonei de memorie se face numai în momentul executării
modulului care utilizează aceasta, aceste zone putând fi modificate, eliberate, realocate pe toată
durata de execuţie a programului respectiv).

Se numeşte tip de structură o mulţime ordonată de date între care s-a stabilit o relaţie (sau mai
multe) şi care foloseşte pentru realizarea operaţiilor specifice structurii, un grup de operatori de bază cu
o anumită semantică.

Noţiuni privind limbajele de programare

Limbaj de programare – este un ansamblu de simboluri, cuvinte, instrucţiuni si semnificaţii


atribuite acestora, utilizat pentru descrierea algoritmilor, inteligibil(accesibil) atât operatorului uman cit
si executantului. Transcrierea unui algoritm este un program. Programul este o succesiune de
instrucţiuni, aparţinând unui limbaj de programare prin care se descriu operaţiile si ordinea de executare
a acestora pentru rezolvarea automata a unei probleme date(pentru transcrierea unui algoritm).
Avem mai multe tipuri de limbaje de programare:

Limbaje procedurale(limbaje universale) – deoarece nu sunt limitate la un anumit tip de


probleme,
SGBD
Limbaje de programare pe obiecte (orientate spre obiecte)

Orice limbaj de programare presupune definirea următoarelor:


• Alfabetul
• Gramatica
• Vocabularul
• Punctuaţia
• Semantica

• Alfabetul – mulţimea caracterelor alfabetice, numerice, speciale.


• Vocabularul – dat de totalitatea cuvintelor folosite de limbajul de programare
Cuvintele pot fi:
1. cuvinte rezervate – acestea au o semnificaţie prestabilita pentru limbajul de
programare(funcţii, proceduri etc.) Cuvintele rezervate se mai numesc si cuvinte cheie.
Atunci când sunt obligatorii in cadrul unor elemente de limbaj (instrucţiuni, părţi ale
programului). Anumite limbaje mai utilizează si cuvinte rezervate opţionale.
2. cuvinte utilizator - sunt de fapt identificatorii(nume pentru constante, variabile, fişiere,
proceduri etc.) cuvintele utilizator trebuie sa respecte anumite reguli de constituire cum ar fi
sa înceapă cu o litera, sa nu conţină anumite caractere speciale, fiecare limbaj precizează de
regula ce caractere pot sa conţină identificatorii. Spre exemplu: NR_CRT , nu NR-CRT.

• Gramatica - cuprinde sintaxa si morfologia


1. sintaxa - metoda de formare a propoziţiilor si frazelor, instrucţiunilor
2. morfologia cuprinde ansamblul regulilor de modificare a formei cuvintelor.

• Punctuaţia - reprezintă un ansamblu de reguli privind utilizarea semnelor speciale numite – de


punctuaţie conform prevederilor din sintaxa.

• Semantica – defineşte sensul atribuit cuvintelor si instrucţiunilor. In general prima forma a unui
program este obţinuta prin intermediul unui modul al limbajului de programare numit EDITOR –
program sursa. Unele limbaje de programare accepta si alte editoare pentru realizarea
programelor sursa.

Observaţie : marea majoritate a programelor surse sunt sub forma unui fişier text. De la
programul sursa, pentru executarea unui program se trece la o forma mult mai apropiata de sistemul de
operare si de maşina pe care se doreşte sa se lucreze.
Compilare – procedura software care realizează traducerea programului sursa in cod intern
rezultând aşa zisul program obiect.

Elementele ale limbajului de programare Pascal.

Pascalul face parte din categoria limbajelor de programare de nivel înalt, procedural, folosind cu
succes recomandările date de teoria programării structurate. O mulţime ordonata de instrucţiuni asociate
unui algoritm de programare accesibile unui operator. Instrucţiunea reprezintă exprimarea in forma
riguroasa impusa de limbajul de programare a unei operaţii si precizează funcţia sau operaţia si
operatorii