Extras din curs
Prin algoritm putem întelege o succesiune finita de operatii. Acesta presupune
executarea unor calcule într-o anumita ordine. Putem considera ca un algoritm este o
secventa finita de propozitii ale unui limbaj de descriere a algoritmilor. Fiecare propozitie a
limbajului precizeaza o anumita regula de calcul, asa cum se va observa atunci când vom
prezenta limbajul Pseudocod.
Algoritmii pe care îi descriem ar trebui sa fie cât mai generali ( sa rezolve o clasa de
probleme de acelasi tip), sa dea rezultate într-un anumit timp (finit, adica sa se termine
oricare ar fi datele de intrare) si, de asemenea, sa asigure unicitatea rezutatelor ori de câte
ori se dau aceleasi date de intrare. Aceste trei caracteristici generalitate, finitudine si
unicitate trebuie sa ne preocupe ori de câte ori scriem un algoritm, indiferent de forma
(scheme logice sau limbaj Pseudocod) în care este prezentat acesta.
Schema logica este un mijloc de descriere a algoritmilor prin reprezentare grafica.
Regulile de calcul ale algoritmului sunt descrise prin blocuri (figuri geometrice)
reprezentând operatiile (pasii) algoritmului, iar ordinea lor de aplicare (succesiunea
operatiilor) este indicata prin sageti. Fiecarui tip de operatie îi este consacrata o figura
geometrica (un bloc tip) în interiorul careia se va înscrie operatia din pasul respectiv.
Datele utilizate într-un algoritm pot fi variabile sau constante (îsi pot modifica valoarea sau
nu). În descrierea unui algoritm, intervin variabile care marcheaza atât datele cunoscute
initial, cât si rezultatele dorite, precum si alte rezultate intermediare necesare în rezolvarea
problemei.
Variabila defineste o marime care îsi poate schimba valoarea. Valorile pe care le
poate lua variabila apartin unei multimi D pe care o vom numi domeniul variabilei. Prin
variabila vom întelege tripletul (nume, domeniul D, valoare).
În continuare vor fi descrise blocurile ce descriu în schema logica o anumita operatie
(simbolurile acestora).
Figura 2.1. Simboluri folosite în cadrul algoritmilor.
Blocurile delimitatoare (Start si Stop) (figura 2.1.a si 2.1.b) vor marca începutul
respectiv sfârsitul unui algoritm dat printr-o schema logica. Descrierea unui algoritm prin
schema logica va începe cu un singur bloc Start si se va termina cu cel putin un bloc Stop
(nu poate exista decât un singur început dar pot exista mai multe posibilitati de terminare a
programului definit de algoritm).
Blocurile de intrare/iesire (Citest si Tipareste) (figura 2.1.c si 2.1.d) indica
introducerea unor Date de intrare respectiv extragerea unor Rezultate finale. Ele permit
precizarea datelor initiale cunoscute în problema si tiparirea rezultatelor cerute de
problema. Blocul Citeste initializeaza variabilele din lista de intrare cu valori
corespunzatoare, iar blocul Tipareste va preciza rezultatele obtinute (la executia pe
calculator cere afisarea pe ecran a valorilor expresiilor din lista de iesire).
Blocurile de atribuire (calcul) se utilizeaza în descrierea operatiilor de atribuire (:=).
Printr-o astfel de operatie, unei variabile var i se atribuie valoarea calculata a unei expresii
matematice expresie (figura 2.1.e).
Blocurile de decizie marcheaza punctele de ramificatie ale algoritmului în etapa de
decizie. Ramificarea poate fi dubla (blocul logic, figura 2.1.f) sau tripla (blocul aritmetic,
figura 2.1.g). Blocul de decizie logic indica ramura pe care se va continua executia
algoritmului în functie de îndeplinirea (ramura Da) sau neîndeplinirea (ramura Nu) unei
conditii. Conditia care se va înscrie în blocul de decizie logic va fi o expresie logica a carei
valoare poate fi una dintre valorile "adevarat" sau "fals". Blocul de decizie aritmetic va
hotarî ramura de continuare a algoritmului în functie de semnul valorii expresiei aritmetice
înscrise în acest bloc, care poate fi negativa, nula sau pozitiva.
Blocurile de conectare marcheaza întreruperile sagetilor de legatura dintre blocuri,
daca din diverse motive s-au efectuat astfel de întreruperi (figura 1.h).
Exemplul 1: Algoritmul de rezolvare al ecuatiei de gradul I:
Fig. 2.2. Algoritmul de rezolvare al ecuatiei de gradul I.
Preview document
Conținut arhivă zip
- Limbaj de Programare
- CURSUL 02 Algoritmi.pdf
- CURSUL 03 Limbajul Pascal. Structura Programelor, Tipuri Simple de Date.pdf
- CURSUL 04 Expresii, Functii Predefinite, Etichete, Constante, Tipuri, Vqariabile.pdf
- CURSUL 05 Instructiunea de Atribuire, Compusa, Vida, IO, Conditionala.pdf
- CURSUL 06 Structuri Repetitive in Pascal.pdf
- CURSUL 07 Tipuri Structurate-Array, Set, String, Record.pdf
- CURSUL 08 Subprograme-Procedure, Function, Parametrii, Vizibilitate.pdf
- CURSUL 12 Lucrul cu fisiere.pdf