Documente Academic
Documente Profesional
Documente Cultură
Introducere in Programare
Introducere in Programare
CURS1.
INTRODUCERE N ALGORITMI
1.1. Noiunea de algoritm; caracteristici
Algoritm: un instrument de rezolvare a problemelor. O problem se consider a fi constituit din date de
intrare i un enun care specific relaia existent ntre datele de intrare i soluia problemei.
n cadrul algoritmului sunt descrise prelucrrile necesare pentru a obine soluia problemei pornind de la
datele de intrare.
Un algoritm este o succesiune bine precizat de prelucrri care aplicate asupra datelor de intrare ale
unei probleme permit obinerea n timp a soluiei acesteia.
Exemple:
- rezolvarea ecuaiei de gradul doi,
- ciurul lui Eratostene (pentru generarea numerelor prime mai mici dect o anumita valoare),
- schema lui Horner (pentru determinarea ctului i restului mpririi unui polinom la un binom)
etc.
Soluia problemei se obtine prin execuia algoritmului. Algoritmul poate fi executat pe o main formal
(n faza de proiectare i analiz) sau pe o main fizic (calculator) dup ce a fost implementat ntr-un
limbaj de programare.
Spre deosebire de un program, care depinde de un limbaj de programare, un algoritm este o entitate
matematic care este independent de maina pe care va fi executat.
Exemplu: Algoritmul de aflare a sumei dintre dou numere
Pas 0 : START
Pas 1 : Citim numerele a,b
Pas 2 : S : = a + b
Pas 3 : Afisam rezultatul : S
Pas 4 : STOP
DATE DE INTRARE
ALGORITM
DATE DE IESIRE
Soluia unei probleme, din punct de vedere informatic, este dat printr-o mulime de comenzi
(instruciuni) explicite i neambigue, exprimate intr-un limbaj de programare.
Aceast mulime de instruciuni prezentat conform anumitor reguli sintactice formeaz un program.
Un program poate fi privit i ca un algoritm exprimat intr-un limbaj de programare.
1.2.1. Pseudocod
Limbajul pseudocod are o sintax i semantic asemntoare limbajelor de programare moderne,
avnd o anumit flexibilitate n ceea ce privete sintaxa, n ideea c prin codificarea unui algoritm ntr-un
limbaj de programare, operaia s fie ct mai comod. Semantica pseudocodului este apropiat de
limbajele de programare utiliznd ns cuvinte i expresii uzuale din limbajul natural.
n dicionarul de informatic pseudocodul este definit ca limbaj utilizat n proiectarea i
documentarea programelor obinut prin grefarea unor reguli sintactice pe limbajul natural. Structurile de
control sunt reprezentate prin folosirea unor cuvinte cheie (dac atunci altfel execut pn
cnd etc) i printr-o anumit aliniere n pagin a liniilor .
Limbajul pseudocod are dou tipuri de propoziii : propoziii standard (corespund structurilor de
control) i propoziii nestandard (texte ce conin pri ale algoritmului nc incomplet elaborate,
nefinisate). Comentariile n pseudocod se includ ntre acolade. Propoziiile standard ncep cu cuvinte
cheie i fie se scriu cu litere mari, fie se subliniaz.
Exemplu :
S se nmuleasc dou numere folosind doar operaii de adunare i nmulire/mprire cu 2. (algoritmul
denumit nmulirea a la russe).
Primul factor
Al doilea factor
Suma
521
46
1042
23
0+1042
2084
11
1042+2084
4168
3126+4168
8336
7294
16672
7294+16672
5
1
1
Structura alternativ
In funcie de valoarea de adevr a condiiei, se execut una din secvene, dup care se trece la prelucrarea
urmtoare; cele dou ramuri se exclud mutual; este posibil ca una din ramuri sa fie vid.
Cele 3 structuri prezentate (secvenial, alternativ i repetitiv cu condiionare anterioar) sunt denumite
structuri de baz. Orice algoritm poate fi reprezentat folosind cele 3 structuri de baz.
n continuare prezentm nc 2 tipuri de structuri, care sunt folosite n practic, dar care au la baz i deci
pot fi nlocuite de structurile de baz.
Bibliografie
1. Negrescu Liviu, Limbajul C, ed. Agora 1997
2. Logoftu Doina, Bazele programrii n C, Ed. Polirom 2006
3. Cerchez Emanuela i erban Marinel, Programarea n limbajul C/C++, Ed.
Polirom 2005
4. Bologa Cristian., Algoritmi, ed. Risoprint