Tipuri de structuri

STRUCTURA LINIARA

V-ați gândit cum faceți extragerea rădăcinii pătrate dintr-un număr, sau descompunerea unui număr in factori primi? Algoritmul consta dintr-o înșiruire de operații numite instrucțiuni, efectuate una după alta. Numim aceasta înșiruire structura liniara (secvențială).

Enumerați operațiile efectuate, numerotându-le, pentru adunarea a două numere întregi a și b.

Structura liniara cuprinde numai instrucțiuni de citire, scriere, calcul si atribuire.

Exemplu:

algortim Interschimbare a, b, c întregi;

citeste a, b;

scrie a, b;

c = a;

a = b;

b = c;

scrie a, b;

sfarsit algoritm

 

STRUCTURA ALTERNATIVA

Auzim in viata de zi cu zi afirmații de genul: DACA am promovat la toate materiile, ATUNCI mă voi duce în tabără, ALTFEL stau să învăț. Se remarca trei cuvinte ce au un rol deosebit: DACA, ATUNCI, ALTFEL. Propoziția are trei componente și anume:

1. o condiție, transcrisa prin “am promovat la toate materiile”, condiție pe care o notam cu c;

2. o acțiune transcrisa prin “mă voi duce în tabără”, notată cu p, acțiune asociata cu ATUNCI, adică se executa doar dacă “am promovat la toate materiile”;

3. o acțiune transcrisa prin “stau să învăt”, notata cu q, acțiune asociata cu ALTFEL, adică se executa dacă NU “am promovat la toate materiile”; Folosind noutățiile făcute, afirmația se poate scrie astfel:

DACA c,ATUNCI p,ALTFEL q.

 

Pentru a fi foarte clar, afirmația se poate scrie sub forma:

DACA c,

ATUNCI p,

ALTFEL q,

SFARSIT

Secvența de instrucțiuni se numește structura alternativa și se poate reprezenta și grafic. Structura alternative admite și o forma particulara, caz in care avem o ramura vida (adică nu se execută nici o operație):

Exista cazuri in care condiția poate fi mai complexa, de genul: DACA am promovat la toate materiile SI toate mediile sunt peste 7, ATUNCI îmi voi putea înlocui computerul cu unul mai performant, ALTFEL rămân cu cel vechi.

Enumerați cazurile in care nu puteți înlocui computerul.

Exemplu : Calculați maximul intre 2 numere întregi.

algoritm maxim a, b, max intregi;

citeste a, b;

daca (a>b)

max=a

altfel

max=b;

scrie max;

sfârșit algoritm

 

STRUCTURA REPETITIVA

Exista trei tipuri de structuri repetitive:

1) Structura cu număr cunoscut de repetiții (FOR)

2) Structura cu număr necunoscut de repetiții și cu test initial (WHILE) 3) Structura cu număr necunoscut de repetiții și cu test final (DO-WHILE) STRUCTURA REPETITIVA CU TEST INITIAL WHILE

Sa consideram următoarea problema: Se cere sa se cântărească un sac cu grâu (avem suficiente greutăți de 1 Kg).

Rezolvarea se reduce la a cântări sacul. Soluția se poate exprima astfel: CAT TIMP balanța este in dezechilibru, EXECUTA adăugarea unei noi greutăți de 1 Kg in talerul cu greutăți. Soluția are 2 componente:

1. o condiție, transcrisa prin “balanța este in dezechilibru”, condiție pe care o notam cu c;

2. o acțiune transcrisa prin “adăugarea unei noi greutăți de 1 Kg in talerul cu greutăți.”, notata cu a, acțiune asociata cu EXECUTA;

Folosind noutățiile făcute, soluția se poate scrie astfel: CAT TIMP c, EXECUTA a notând greutatea sacului cu g și cu i numărul de greutăți puse în balanța, algoritmul complet va fi:

1) inițializarea lui i

2) cât timp i != g

3) efectuează i=i+1

4) afișeaza valoarea lui i

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s