Algoritmi

Disponible uniquement sur Etudier
  • Pages : 10 (2497 mots )
  • Téléchargement(s) : 0
  • Publié le : 25 novembre 2010
Lire le document complet
Aperçu du document
ALGORITMI ŞI MODURI DE REPREZENTARE

Prelucrarea datelor cu ajutorul calculatorului se realizează prin execuţia unor opera ţii simple (aritmetice, logice, pe iruri de caractere etc.). Înlăn ţuirea acestora poate conduce la prelucrări deosebit de complexe. Această înlăn ţuire nu este făcută la întîmplare, ci în conformitate cu reguli definite riguros, adică în conformitate cu algoritmulde prelucrare sau de rezolvare a problemei.
Nu există o defini ţie unanim acceptată a noţiunii de algoritm. În mod intuitiv, un algoritm este o mul ţime de opera ţii cunoscute (aritmetice, logice etc.), care executate într-o ordine bine stabilită, pornind de la o mul ţime de valori (numită intrarea algoritmului) care fac parte dintr-o mul ţime de astfel de mul ţimi (numită domeniul dedefini ţie al algoritmului), produc în timp finit un o altă mul ţime de valori numită ieşirea algoritmului.
Pentru a analiza proprietă ţile algoritmilor vom prezenta doi algoritmi cunoscu ţi:
1. determinarea celui mai mare divizor comun a două numere naturale nenule (algoritmul lui Euclid);
2. rezolvarea aproximativă a ecua ţiilor algebrice şi transcendente prin metoda înjumătă ţiriiintervalului.

Algoritmul lui Euclid
A determina cel mai mare divizor comun a două numere naturale nenule, notate m şi 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 secven ţă de opera ţii:
(E1) Împarte m la n şi fie restul r
(E2) Dacă r=0 treci la (E6)
(E3) Notează cu m valoarealui 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 (afişează cmmdc este n)
(E8) Stop

Rezolvarea ecua ţiilor algebrice şi transcendente prin metoda înjumătă ţirii intervalului

Fie [pic]o func ţie reală de o variabilă reală, continuă pe [a,b], cuf(a)*f(b) (mai mare);
29. # (diferit);
30. = (egalitate);
31. # (mai mic sau egal);
32. ∃ (mai mare sau egal).
Aceştia au semnifica ţiile cunoscute. Două şiruri de caractere se compară caracter cu caracter. Dacă c şi c ‘ sînt două caractere, c0 and n#100;

39. ciclul cu un contor sau instruc ţiunea FOR are sintaxa
for v:=E1,E2 [ ,E3]:
secvenţă_de_instruc ţiuni
repeat;
V este o variabilă numerică numită contor, iar E1, E2 şi E3 expresii numerice numite valoare ini ţială, valoare finală, respectiv pas. Dacă E3 lipseşte, se consideră egală cu 1.

Instruc ţiunea for este echivalentă cu următoarele instruc ţiuni:

v:=E1; v2:=E2; v3:=E3;
while(v - v2)*v3 # 0:
secven ţă_de_instruc ţiuniv:=v+v3;
repeat;

Exemplu.
Să se determine cel mai mic element al unui vector cu n elemente de tip întreg.

Integer minim,n, i;
/* citeste numarul de elemente (un numar intreg si pozitiv) */
do
write “Dimensiunea vectorului =”;
read n;
until n∃0;
/* declara vectorul si citeste elementele sale */integer v(n);
for i:=1,n:
write “v(“,i,”)=”;
read v(i);
repeat;
/* determina minimul */
minim:=v(1);
for i:=2,n:
if minim(mai mare) =(mai mare sau egal) (diferit). În expresii logice (care pot con ţine operatori aritmetici, operatori de rela ţie etc.), operatorii de rela ţie au cea mai mică prioritate.

Indicăm, înordinea crescîndă a priorită ţii, opera ţiile care pot fi efectuate asupra datelor de tip întreg şi semnifica ţia lor:
+ - (adunare, scădere);
* / (înmul ţire întreagă şi împăr ţire cu rezultat real);
DIV (împăr ţire întreagă - cîtul împăr ţirii întregi);
MOD (restul împăr ţirii întregi).

Asupra datelor de tip întreg se pot executa...
tracking img