Noțiuni despre Algoritmi și Programare Structurată

Previzualizare curs:

Extras din curs:

2.1. Noţiuni introductive

Rezolvarea problemelor cu ajutorul calculatorului presupune parcurgerea mai multor etape:

1. analiza problemei (cu stabilirea datelor de intrare/ieşire) şi modelarea ei matematicã;

2. descrierea algoritmului cu ajutorul schemei logice şi (sau) a pseudocodului;

3. scrierea programului într-un limbaj de programare evoluat;

4. compilarea programului;

5. asamblarea programului;

6. execuţia programului.

Etapele 1.-3. sunt etape realizate de programator, iar etapele 4.-6. sunt realizate de către sistemul de operare al calculatorului.

Un algoritm reprezintă o succesiune de calcule care, plecând de la condiţii iniţiale cunoscute şi cu ajutorul unor operaţii efectuate mecanic fără aportul creator al omului, permite obţinerea soluţiilor unor probleme dintr-o anumită clasă.

Altfel spus, un algoritm este un sistem de reguli care utilizând un set de date iniţiale ale unei probleme, după execuţia unui număr finit de paşi, facilitează obţinerea datelor finale, trecând printr-un şir de rezultate intermediare.

Un algoritm nu este aplicabil oricăror date iniţiale; o dată iniţială pentru care se poate aplica un algoritm se numeşte dată sau informaţie admisibilă.

Un algoritm trebuie să satisfacă în general următoarele cerinţe:

a) claritate - descrierea algoritmului trebuie să se facă precis, fără nimic arbitrar, fără ambiguităţi şi să fie prevăzute toate etapele de calcul şi toate situaţiile care se pot ivi până la obţinerea soluţiei;

b) generalitate - algoritmul trebuie să permită rezolvarea de probleme dintr-o întreagă clasă;

c) finititudine - algoritmul trebuie să furnizeze rezultatele într-un număr finit (cât mai mic) de paşi;

d) unicitate - etapele algoritmului trebuie să fie definite în mod unic.

Operaţiile de bază care apar într-un algoritm sunt următoarele:

- operaţii de intrare/ieşire - datele de intrare se citesc, iar datele de ieşire se afişează (se tipăresc);

- operaţii de atribuire - unei variabile i se atribuie valoarea unei expresii;

- operaţii de decizie - se determină valoarea de adevăr a unei expresii logice şi, funcţie de rezultatul obţinut, se ramifică rezultatul algoritmului.

Odată cu dezvoltarea informaticii a apărut şi noţiunea de programare structurată. La baza acestui concept stă ideea întocmirii algoritmilor folosind câteva structuri elementare, având o singură intrare şi o singură ieşire.

În cazul programării structurate, problema de rezolvat se descompune în subprobleme, a căror rezolvare duce la rezolvarea problemei iniţiale. Algoritmul, în acest caz, apare ca o secvenţă liniară de structuri elementare.

Structurile elementare sunt următoarele:

- structura liniară - constă în execuţia necondiţionată a unei secvenţe de instrucţiuni, un algoritm liniar fiind un algoritm în care etapele de calcul se succed una după cealaltă;

- structura alternativă - constă în ramificarea execuţiei algoritmului în funcţie de valoarea de adevăr a unei condiţii evaluate, algoritmii ramificaţi presupunând luarea unei anumite decizii în funcţie de care se continuă execuţia pe ramuri distincte;

- structura repetitivă - constă în execuţia repetată, de un număr finit de ori, a unei secvenţe de instrucţiuni. Un algoritm repetitiv presupune repetarea unor etape de calcul de un anumit număr de ori. Ansamblul etapelor ce se repetă alcătuiesc un ciclu. Dacă numărul de repetări este cunoscut, ciclul se numeşte cu număr cunoscut de paşi, iar dacă nu este cunoscut, ciclul se numeşte cu condiţie sau cu număr necunoscut de paşi.

Subproblemelor obţinute prin descompunerea unei probleme le corespunde conceptul de subprogram.

Subprogramele pot fi tip funcţie sau tip procedură. Diferenţa dintre funcţie şi procedură constă în faptul că funcţia transmite programului apelant o singură valoare, în timp ce procedura poate să nu transmită programului apelant nici o valoare, sau să transmită una sau mau multe valori.

Referirea unui subprogram poartă denumirea de apel.

O noţiune de bază în programare o constituie noţiunea de variabilă. O variabilă este caracterizată de patru elemente: nume, tip, valoare şi adresă în memorie.

Numele unei variabile este format din unul sau mai multe caractere (litere şi cifre, primul fiind literă), de exemplu: A, o ,min, X3.

Tipul indică mulţimea de valori posibile: întreg, real, şir de caractere, boolean etc.

Un tip variabilă poate fi elementar sau structurat.

Tipurile structurate se obţin prin gruparea tipurilor elementare. Dintre acestea amintim tabloul, în care variabilele au acelaşi nume şi tip, deosebindu-se prin indici. Un tablou cu o singură dimensiune se numeşte şir, iar un tablou cu două dimensiuni se numeşte matrice.

Adresa variabilei este adresa fizică din memoria calculatorului la care se află valoarea variabilei. De obicei adresa este invizibilă pentru programator.

Valoarea variabilei reprezintă valoarea efectivă pe care aceasta o are la un moment dat. Valoarea unei variabile se poate modifica numai printr-o instrucţiune de citire sau atribuire.

2.2. Reprezentarea algoritmilor

Pentru reprezentarea algoritmilor se pot utiliza mai multe metode:

- schema logică;

- pseudocodul (sau limbajul algoritmic);

- limbajul de programare.

Primele două sunt independente de tehnica de calcul, nu respectă o sintaxă rigidă şi sunt utile programatorului doar în faza de proiectare a algoritmilor.

Algoritmul scris într-un limbaj de programare este singura formă direct utilizabilă pe calculator, fiind un text codificat, pe baza unor legi sintactice bine determinate.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Notiuni despre Algoritmi si Programare Structurata.DOC
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
13 pagini
Imagini extrase:
13 imagini
Nr cuvinte:
3 625 cuvinte
Nr caractere:
19 100 caractere
Marime:
34.39KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!