Algoritmi și Structuri de Date

Previzualizare curs:

Extras din curs:

1. ALGORITMI SI MODURI DE REPREZENTARE

Prelucrarea datelor cu ajutorul calculatorului se realizeazã prin executia

unor operatii simple (aritmetice, logice, pe iruri de caractere etc.). Înlãntuirea

acestora poate conduce la prelucrãri deosebit de complexe. Aceastã înlãntuire

nu este fãcutã la întîmplare, ci în conformitate cu reguli definite riguros, adicã

în conformitate cu algoritmul de prelucrare sau de rezolvare a problemei.

Nu existã o definitie unanim acceptatã a notiunii de algoritm. În mod

intuitiv, un algoritm este o multime de operatii cunoscute (aritmetice, logice

etc.), care executate într-o ordine bine stabilitã, pornind de la o multime de

valori (numitã intrarea algoritmului) care fac parte dintr-o multime de astfel de

multimi (numitã domeniul de definitie al algoritmului), produc în timp finit un o

altã multime de valori numitã iesirea algoritmului.

Pentru a analiza proprietãtile algoritmilor vom prezenta doi algoritmi

cunoscuti:

determinarea celui mai mare divizor comun a douã numere naturale nenule

(algoritmul lui Euclid);

rezolvarea aproximativã a ecuatiilor algebrice si transcendente prin metoda

înjumãtãtirii intervalului.

Algoritmul lui Euclid

A determina cel mai mare divizor comun a douã numere naturale nenule,

notate m si n, înseamnã a gãsi cel mai mare numãr natural care divide numerele

date. Algoritmul lui Euclid de determinare a cmmdc constã în urmãtoarea

secventã de operatii:

(E1) Împarte m la n si fie restul r

(E2) Dacã r=0 treci la (E6)

(E3) Noteazã cu m valoarea lui n (sau atribuie lui m valoarea n)

(E4) Noteazã cu n valoarea lui r (sau atribuie lui n valoarea r)

(E5) Treci la (E1)

(E6) Cel mai mare divizor comun este n (afiseazã cmmdc este n)

(E8) Stop

Rezolvarea ecuatiilor algebrice si transcendente prin metoda înjumãtãtirii

intervalului

Fie f : [a,b] R o functie realã de o variabilã realã, continuã pe [a,b], cu

f(a)*f(b)<0 si care are pe intervalul [a,b] exact o rãdãcinã. Ne propunem sã

determinãm rãdãcina ecuatiei cu o precizie datã e. Rezolvarea ecuatiei se

realizeazã conform urmãtoarelor reguli

(I1) Fie c mijlocul intervalului [a,b], adicã

(a + b)

c := ;

(I2) Dacã f(c)=0 treci la (I10)

(I3) Dacã |a-b| e treci la (I9)

(I4) Dacã f(a)*f(c) < 0, treci la (I7)

(I5) Atribuie lui a valoarea lui c

(I6) Treci la (I1)

(I7) Atribuie lui b valoarea lui c

(I8) Treci la (I1)

(I9) Atribuie lui c valoarea lui b

(I10) Afiseazã ‘Radacina ecuatiei este’, c

(I11) Stop

Proprietãtile algoritmilor

Analizînd cei doi algoritmi constatãm cã:

algoritmii rezolvã problemele unei clase de probleme: algoritmul lui

Euclid este aplicabil oricãrei perechi de numere naturale nenule, iar

algoritmul de rezolvare a ecuatiilor algebrice si transcendente prin

înjumãtãtirea intervalului este aplicabil oricãrei functii f care satisface

conditiile problemei si orice eroare de aproximare e. Prin urmare, ei au

caracter general. Din acest motiv, algoritmii debuteazã cu precizarea

datelor initiale (sau citirea datelor initiale);

secventele de operatii descrise mai sus se încheie dupã un numãr finit de

operatii. Prima se încheie pentru cã sirul resturilor formeazã un sir de

numere naturale strict descrescãtor (restul fiind mai mic decît

împãrtitorul). A doua secventã se terminã dupã un numãr finit de operatii,

fiindcã lungimile intervalelor [a,b] formeazã un sir strict descrescãtor de

numere pozitive convergent la zero (la a n-a aplicare a operatiei de

înjumãtãtire, lungimea intervalului este

|b - a|

), deci pentru un n

suficient de mare lungimea sa va fi mai micã decît e. Pentru acest n, orice

punct din intervalul [a,b] poate fi considerat rãdãcinã a ecuatiei.

Prin urmare algoritmii au un caracter finit ;

operatiile care alcãtuiesc algoritmii se executã riguros si fãrã ambiguitãti.

Prin urmare, pornind de la aceleasi date de intrare se obtin aceleasi date

de iesire, deci algoritmii au un caracter de unicitate.

Download gratuit

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

Structură de fișiere:
  • Algoritmi si Structuri de Date.Pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
182 pagini
Imagini extrase:
182 imagini
Nr cuvinte:
37 852 cuvinte
Nr caractere:
209 910 caractere
Marime:
1.10MB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Ardelean Gheorghe
Sus!