Sunteți pe pagina 1din 8

Notiuni de

algoritmica
Ce este un algoritm?
Termenul algoritm deriva din numele unui
matematician persan ,Abu Ja far Mohamed ihn Musa
al Khowarizmi,care a scris o carte cunoscuta sub
denumirea liber algorithmi.
O data cu dezvoltarea calculatoarelor cuvantul
algoritm a dobandit o semnificatie aparte,astfel incat
astazi gandirea algoritmica s-a transformat intr-un
instrument specific matematicii,intr-o modalitate
fundamentala de abordare a problemelor in diverse
domenii.
Un algoritm reprezinta o metoda de rezolvare a
problemelor de un anumit tip.
A rezolva o problema inseamna a obtine,pentru
anumite date de intrare,rezultatul problemei(date de
iesire):

Nu orice succesiune de pasi reprezinta un algoritm


deoarece secventa trebuie sa indeplineasca 3
conditii:
1.Claritate-operatia care urmeaza sa fie executata
este unic determinata,definita si realizabila.
2.Generalitate-o secventa de pasi reprezinta un
algoritm de rezolvare a unei probleme daca obtine
date de iesire pentru orice date de intrare specifice
problemei.
3.Finitudine-rezultatele problemei se obtin dupa un
numar finit de pasi.
Un algoritm este constituit dintr-o succesiune clara
de operatii realizabile,care au ca scop obtinerea intrun timp finit a rezultatelor unei probleme,pentru
orice set de date de intrare.
Etapele rezolvarii unei probleme:
1.Analiza problemei

2.Elaborarea unui algoritm


3.Implementarea
4.Verificarea corectitudinii
5.Analiza complexitatii algoritmului
Exista doua modalitati de reprezentare a algoritmilor:
Pseudocod-cu ajutorul propozitiilor
Schema logica-cu ajutorul graficii
Algoritmul in limbajul pseudocod:

START
CITESTE X,
Y
DACA conditie
ATUNCI
Instructiuni1
ALTFEL
Instructiuni2
SF DACA
PENTRU Var = Val_Init LA Val_Fin PAS
Val_Pas
Instructiuni
SFPENTRU
CAT TIMP Conditie EXECUTA
Instructiuni
SFCATTIMP

TIPARESTE X,
Y
STOP

Schema logica:
START
CITESTE
X,Y

DA
Conditie

NU

Variabila =
Valoare

Instructiuni

NU

Variabila
<=
Val_Fin

DA

TIPARESTE
X,Y

STOP

Reprezentarea algoritmilor
Exista trei structuri fundamentale :
Structura liniara(secventiala);
Structura alternativa;
Structura repetitiva.
Structura secventiala
La inceputul oricarui algoritm,trebuie sa precizam
datele de intrare,de iesire,eventualele date de
manevra,precum si tipul acestora .Inainte de a utiliza
orice variabila,o vom declara,precizand numele si
tipul ei.O variabila nu poate fi declarata de mai multe
ori in acelasi algoritm.
Parcurgerea instructiunilor in secventa,in ordinea
specificarii
lor,reprezinta
o
structura
liniara
( secventiala).
Instructiune compusa
{
Instructiune_1
Instructiune_2

...
Instructiune_n
}
Structura alternativa
Daca expresie
Atunci
Instructiune_1
Altfel
Instructiune_2
Efect :
Se evalueaza expresia.
Daca valoarea expresiei este adevarat,atunci se
executa instructie_1.
Daca valoarea expresiei este fals,se executa
instructiune_2.
Selectarea instructiunii care urmeaza
executata in functie de valoarea unei
reprezinta o structura alternativa.
Structura repetitiva

sa fie
expresii

Cat-timp expresia executa


Instructiune
Efect:
Pasul 1: se evalueaza expresia
Pasul 2: daca valoarea expresia este fals,se iese din
instructiunea cat-timp;

daca valoarea epresiei este adevarat,se executa


instructiunea,apoi se revine la
pasul 1.
Executarea repetata a unei instructiuni, controlata de
valoarea
unei
expresii,reprezinta
o
structura
repetitiva.
Simularea
instructiunii
Cat-timp
instructiunii Executa cat-timp:

cu

ajutorul

Daca expresie atunci


Executa
Instructiune
Cat-timp expresie.
Algoritmica se poate utiliza in mai multe
domenii:matematica,chimie,fizica,biologie etc.
Exemplu:
Se citesc n numere intregi.Sa se afiseze :
1
1
1
1
1
1

2
23
23
2

Rezolvare:
#include<iostream.h>
Void main()
{
Int n,i,j;
Cout<<n=;cin>>n;
For( i=1;i<=3;i++)
{for( j=i;j<=i;j++)
Cout<<j<< ;
Cout<<endl;
};
For(i=3;i>=1;i--)
{for(j=1;j<=i;j++)
Cout<<j<< ;
Cout<endl;
};
}

S-ar putea să vă placă și