Documente Academic
Documente Profesional
Documente Cultură
Analiza problemei
Determinarea algoritmului de rezolvare
Construirea programului
problemei
Verificarea i punerea la punct a programului
Rezolvarea unei probleme necesit parcurgerea urmtoarelor etape prezentate n figura :
1) Analiza problemei
Reformularea problemei n termeni specifici rezolvrii cu ajutorul calculatorului.
n aceast etap trebuie s fie stabilite :
3) Construirea programului
Transcrierea algoritmului ntr-un limbaj de programare. Aceast activitate se numete programare.
Limbajul trebuie ales n funcie de cerinele problemei.
Noiunea de algoritm
Algoritmii1 constituie baza programrii calculatoarelor. Pornind de la un algoritm bine scris putem
implementa cu uurin probleme diverse n orice limbaj de programare. Pentru a elabora un algoritm trebuie
s dispunem de cteva cunotine de baz care pot fi grupate n mai multe categorii i anume :
Algoritmi fundamentali
a) cutare
b) sortare
c) interclasare
d) algoritmi de aritmetica numerelor
Tehnici de programare
Nr.
Denumire
Crt.
tehnic de programare
1.
Backtracking
2.
Divide et Impera
3.
Greedy
4.
Programare dinamic
5.
Branch and Bound
Scheme de descompunere a unei probleme n probleme mai simple
Definiie2
Un algoritm este o succesiune finit i ordonat de operaii bine determinate care acioneaz asupra unor date iniiale,
obinndu-se n final rezultate.
1) Claritatea
Operaiile i ordinea efecturii lor trebuie s aib o descriere clar i precis. Nu sunt admise ambiguitile. Din aceast cauz
aciunile presupuse de algoritm se vor executa la un moment dat chiar mecanic, automat.
2) Generalitatea
Un algoritm nu este destinat rezolvrii unei probleme particulare ci rezolvrii unei ntregi clase de
probleme.
Exemplu:
- rezolvarea ecuaiei de gradul II cu o necunoscut
- Algoritmul lui Euclid pentru aflarea c.m.m.d.c a dou numere
3) Finitudinea
Un algoritm conine un numr finit de operaii chiar dac acestea sunt n numr foarte mare.
Exemplu:
Procedeul de extragere a radicalului de ordinul doi dintr-un numr este o metod de calcul ,
dar nu este un algoritm pentru c rezultatul poate avea un numr infinit de zecimale. Aceast metod
poate fi transformat n algoritm prin limitarea numrului de zecimale al rezultatului.
4) Eficiena
Dintre algoritmii care rezolv o anumoit clas de probleme prezint interes aceia care au un numr ct
mai mic de operaii elementare. Din acest motiv studiul complexitii algoritmilor este foarte important.
1
Operatii de intrare/iesire
Prin operatia de intrare, valorile corespunzatoare datelor de intrare sunt preluate de la un dispozitiv de intrare si sunt
trimise calculatorului catre memoria interna a calculatorului. Aceasta operatie este reprezentata prin cuvantul citeste.
Prin operatia de iesire valorile corespunzatoare datelor de iesire sunt preluate in memoria interna a calculatorului si
sunt transmise catre un dispozitiv de iesire. Aceasta operatie este reprezentata prin cuvantul scrie.
citeste var1,var2...var n scrie var1,var2...var
n,
citeste x,y
scrie x,y
Operatii de atribuire
Prin operatia de atribuire o variabila primeste o valoare data, valoarea unei alte variabile sau valoarea unei expresii.
Operatia de atribuire este reprezentata prin operatorul <-.
variabila<-valoare data. EX: m<-3;
Operatori relationali
Operatori logici
Operanzi numerici
Operanzi de acelasi tip .
rezultatul este numeric Rezulutatul este de tip
logic
Operanzi logici.
rezultatul este de tip logic
Operatori
:+.-./.*
Operatori
not ,and ,or
Operatori
:<,<=,>,>=,!=,=
Aplicaie:
Realizati un tabel in care sa prezentati situatia scolara a elevilor unei clase (3 obiecte-fiecare cu 3 note).Situatia
scolara este influentata de numarul de corigente. (pentru 1 sau 2 corigente elevul este corigent dar pentru 3 corigente
el este repetent, altfel elevul este promovat).
Cerinte:
Sortati elevii in ordinea mediilor generale
Calculati media generala a clasei.