Sunteți pe pagina 1din 6

PRINCIPIILE PROGRAMARII STRUCTURATE

Orice algoritm are o structura bine stabilit. Astfel transpunerea lui ntr-un
limbaj de programare devine clar i uor de controlat.

Principalele tipuri de structuri sunt:
- Structura secvenial
- Structura decizional
- Structura repetitiv

1. Structura secvenial n acest caz instruciunile se deruleaz una dup
cealalt
2. Structura decizional instruciunile se deruleaz dup un criteriu de
selecie. Se va selecta execuia unei instruciuni n funcie de o condiie
dat
3. Structura repetitiv instruciunile din cadrul structurii se repet n
funcie de un anumit criteriu. Apare aici un test care stabilete numrul
de repetiii. Acest test poate fi la nceputul structurii (structur repetitiv
cu test iniial) sau la sfrit (structur repetitiv cu test final).

nainte de a fi implementat ntr-un anumit limbaj de programare un algoritm
poate fi descris folosind schemele logice sau folosind un limbaj de tip pseudocod (vom
folosi descrierea algoritmilor folosind pseudocodul).

REPREZENTAREA ALGORITMILOR N PSEUDOCOD


Pseudocodul folosete anumite convenii sau codificri pentru descrierea
algoritmului.
Vom stabili urmtoarele convenii de scriere a algoritmilor n pseudocod:
a. Datele (constantele i variabilele) se vor descrie astfel:
- constantele numerice aa cum se utilizeaz n matematic cu observaia c
virgula zecimala va fi nlocuit cu punctul
- constantele de tip caracter se vor scrie ntre apostrofuri
- constantele logice vor fi adevarat i fals
- variabilele se vor specifica numele i tipul (natural, intreg, real, caracter, sir
de caractere, logic) desprite de : astfel: nume:tip;
b. Operaiile numerice, logice, ntre iruri de caracter i ntre caractere un cele
prezentate n capitolul anterior
c. Instruciunile vor avea cuvinte rezervate:
citete, scrie, (pentru atribuire), dac, atunci, altfel, ct timp, execut, pn
cnd, pentru, reia, stop.








A. ALGORITMI CU STRUCTUR SECVENIAL (LINIAR)

Sintaxa unui astfel de algoritm este:

DECLARARE VARIBILE
INSTRUCIUNE1
INSTRUCIUNE1
.
INSTRUCIUNE1
STOP

n acest tip de structur instruciunile se execut una dup alta pn la sfritul
algoritmului.

Vom porni de la urmtorul exemplu:
Fiind date dou numere ntregi notate a i b. S se afieze suma lor.

Algoritmul n pseudocod este:
a, b, suma: ntreg
citete a
citete b
sumaa+b
scrie suma
stop

Exemplul 2: Se citesc valorile a dou variabile a i b naturale. S se
interschimbe coninuturile lor.
Algoritmul n pseudocod este:

a, b, suma: natural
citete a
citete b
auxa
ab
baux
scrie a
scrie b
stop

Observaie: Pentru a nelege acest algoritm ntlnit destul de des care face
interschimbarea coninutului a dou variabile ne pute imagina dou pahare, unul cu apa
(a) iar celalalt cu suc(b). Pentru a schimba coninutul este nevoie de un al treilea pahar
(aux).








2. ALGORITMI CU STRUCTUR DECIZIONAL

Acest tip de algoritm poate lua o decizie n funcie de o condiie dat. Decizia
poate fi asupra unui singur caz sau ntre dou cazuri posibile.

a. Algoritmi cu decizie asupra unui singur caz
n acest caz dac este ndeplinit condiia se execut o instruciune iar dac nu
este ndeplinit nu se acioneaz deloc.

Sintaxa unui astfel de algoritm este:
DAC expresie_logic ATUNCI
EXECUT instruciune

Paii algoritmului:
- se evalueaz expresia logic.
- dac aceasta este adevrat atunci se execut instruciunea
- dac aceasta nu este adevrat atunci nu se execut nimic

Exemplu:
Se citete valoarea unei variabile ntregi a. S se afieze mesajul Numarul este
pozitiv dac valoarea acestei variabile este mai mare dect 0.

Algoritmul este:
a: ntreg
citete a
dac a>=0 atunci
scrie Numarul este pozitiv

stop

b. Algoritmi cu decizie ntre dou cazuri

n acest caz dac este ndeplinit condiia se execut o instruciune iar dac nu
este ndeplinit se execut o alt instruciune.

Sintaxa unui astfel de algoritm este:
DAC expresie_logic ATUNCI
instruciune1
ALTFEL
instruciune2

Paii algoritmului:
- se evalueaz expresia logic.
- dac aceasta este adevrat atunci se execut instruciunea1
- dac aceasta nu este adevrat atunci se execut instruciunea2

Exemplu:
Se citete valoarea unei variabile ntregi a. S se afieze mesajul Numrul este
pozitiv dac valoarea acestei variabile este mai mare sau egal cu 0 sau Numrul este
negativ.


Algoritmul este:
a: ntreg
citete a
dac a>0 atunci
scrie Numarul este pozitiv
altfel
scrie Numarul este negativ

stop



4. ALGORITMI CU STRUCTUR REPETITIV

Acest tip de structur execut repetarea unei sau mai multor instruciuni n
funcie de o condiie dat. n funcie de condiia de repetare, structurile repetitive se
mpart n:
- structuri cu numr cunoscut de repetiii
- structuri cu numr necunoscut de repetiii

A. Structuri cu numr cunoscut de repetiii
O astfel de structur folosete o variabil de tip contor care va fi iniializat cu
o valoare de nceput i va fi incrementata (adunat) sau decrementat (sczut) pn va
ajunge la o valoare de sfrit. Pentru a se stabili dac s-a ajuns la valoarea de sfrit se va
face un test de margine.
Dac valoarea de incrementare este 1 atunci aceasta nu se mai scrie n structur.

Sintaxa unui astfel de algoritm este:
PENTRU contor=valoare iniial, valoare final, valoare incrementare
EXECUT instruciuni

Paii algoritmului:
1. - se iniializeaz contorul (n general acesta pornete de la 0 sa 1)
2. - se execut instruciunile
3. - se incrementeaz (decrementeaz) contorul
4. - se testeaz daca contorul nu a ajuns la valoarea final, caz n care se iese
din structur. Dac nu s-a ajuns la valoarea final se trece la pasul 2.
5. algoritmul continu pn s-a ajuns la valoarea final

Observaie: Variabila contor va fi ntotdeauna de tip ntreg sau natural

Exemplu:
S se afieze suma primelor 10 numere naturale.

Algoritmul este:
suma, i:intreg
suma0;
pentru i=1,10 execut
sumasuma+i
scrie suma
stop



B. Structuri cu numr necunoscut de repetiii

Acest tip de structur este de dou feluri:
- cu test iniial
- cu test final

B.1. Structuri repetitive cu test iniial

Au urmtoarea sintax:
CT TIMP expresie_logic EXECUT
INSTRUCIUNI

Paii algoritmului:
1. se evalueaz condiia logic
2. dac aceasta este adevrata se trece la pasul 3. Dac este fals se trece la
pasul 4
3. se execut instruciunile
4. se iese din structur

Exemplu:
Se citesc numere intregi pn la ntlnirea lui 0. S se afieze suma lor.

suma 0
citeste nr
ct timp nr<>0 executa
citeste nr
sumasuma+nr
scrie suma
stop


B.2. Structuri repetitive cu test final

Au urmtoarea sintax:
REPET
INSTRUCIUNI
PN CND expresie_logic


Paii algoritmului:
1. se execut intruciunile
2. se evalueaz expresia. Dac aceasta este adevrata se trece la pasul 3.
Dac este fals se trece la pasul 4
3. se execut instruciunile
4. se iese din structur









Exemplu:
Se citesc numere intregi pn la ntlnirea lui 0. S se afieze cte numere s-au
citit.
cate=0
repeta
citeste nr
catecate+1
pana cand nr=0
scrie cite
stop

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