Sunteți pe pagina 1din 4

Pseudocodul

Descriere
Pseudocodul este o descriere informala la nivel inalt a unui principiu
operational ce tine de un program de pc sau alt algoritm.
Foloseste structuri conventionale unui limbaj de programare, dar e
creat mai mult pentru citirea umana decat pentru cea computerizata.
Pseudocodul omite detalii ce sunt esentiale unui computer de a intelege un
algoritm, precum declaratiile variabile, codurile specifice unui sistem si unele
functii. Limbajul de programare este augmentat cu limbajul natural de
descriere a detaliilor, in cazurile convenabile, sau cu notatii matematice.
Scopul folosirii pseudocodurilor este de a fi mai usor oamenilor sa inteleaga
codurile limbajului de programare conventional, care este eficient si
independent de mediul descrierii principiilor unui algoritm. Este des folosit in
programe de developare, pentru a schita o structura in afara programului
inainte ca adevaratul cod sa isi ia locul.
Nu exista sintaxe standard pt pseudocod, deoarece un program in
pseudocod nu este un executabil. Pseudocodul se aseamana dar nu trebuie
confundat cu programele skeleton care pot fi compilate fara erori.
Flowcharts, drakon-charts si Unified Modeling Language (UML) pot fi luate
drept alternative grafice ale pseudocodului dar sunt mult mai spatioase pe
hartie.

Aplicatii
Cartile text si publicatiile stiintifice ce relateaza stiinta computerizata
si calculele numerice uneori folosesc pseudocoduri in descrierea algoritmilor,
pentru ca toti programatorii sa le inteleaga, chiar daca nu toti cunosc acelasi
limbaj de programare. In cartile text, exista de obicei o introducere ce explica
conventiile particulare in uz. Nivelul detaliilor pseudocodului se apropie in
unele cazuri de limbajele cu scop general.
Un programator ce are nevoie sa implementeze un algoritm specific,
mai ales unul nefamiliar, va incepe deseori cu o descriere pseudocod, dupa
care va transforma acea descriere in limbajul programului dorit, si o va
modifica pentru a interactiona corect cu restul programului. Programatorii
pot incepe schitand codul in pseudocod pe hartie inainte de a il scrie in
limbajul ales, pentru apropierea de o structura, cu un set de pasi pentru
rafinament.

Sintaxa

Precum sugereaza si numele, pseudocodul in general, nu se supune


regulilor sintaxei vreunui limbaj anume, nu exista o forma sistematica
standard, oricum, orice scriitor va imprumuta in general stiluri si sintaxe,
spre exemplu, controlul structurilor ale unor limbaje conventionale de
programare. Sursele populare de sintaxa includ: Fortran, Pascal, BASIC, C, C+
+, Java, Lisp si ALGOL. Declaratiile variabile sunt de regula omise.
Aceste este un exemplu de pseudocod:

Fortran style pseudo

Pascal style pseudo

code

code

C style pseudo code:

Basic style pseudo


code

void function
program fizzbuzz

procedure

Do i = 1 to 100

fizzbuzz

set

For (i = 1; i <=

For i := 1 to 100

print_number to

do
print_number to

"Fizz"

If i is

If i is

print

set

set

print_number =

false;
divisible by 5

End If
If i is

divisible by 5

divisible by 5

print

If

print a

"Buzz"

print_number to
false;

"Buzz";

print_number,
print i

Print
set

print

Then

"Buzz";

then

false

False

If i is

If i is

print_number to

end do

"Fizz"

false;

print_number to

"Buzz"
set

Print

print

print_number to

If i is

newline

divisible by 3

print
"Fizz";

divisible by 5

Then

"Fizz";

then

print_number to
false

If i is
divisible by 3

divisible by 3
set

print_number =
True

true;

true;

print

For i = 1 to 100

print_number to

set

divisible by 3

Sub fizzbuzz()

100; i++) {
set

true
If i is

fizzbuzz {

If

set

print_number =
False

print_number to

print_number,

End If

false;

print i;

If

print a

If
print_number,

newline;
}

print i;
print a

print_number =
True Then print i
Print a
newline

newline;

Next i

end

End Sub

Pseudocodul in stil matematic


In calculele numerice, pseudocodul consta uneori in notatii
matematice, de regula din teoriile set si matrice, mixate cu controlul
structurilor unui limbaj conventional de programare, si probabil descrieri ale
unui limbaj natural. Aceasta este o notatie informala compacta, ce poate fi
inteleasa de o varietate mare de matematicieni, si este o cale des folosita
pentru a descrie algoritmi matematici. De exemplu, operatorul suma, sau
operatorul produs, pot reprezenta o selectie structurata intr-o singura
expresie:

Return

Pseudocodul in stil matematic se refera de multe ori la codul pidgin,


spre exemplu pidgin ALGOL (originea conceptului), pidgin Fortran, pidgin
BASIC, pidgin Pascal, pidgin C, and pidgin Lisp.
Simboluri matematice comune:
Type of operation

Symbol

Assignment

or :=

Comparison

=, , <, >, ,

Arithmetic

+, , , /, mod

Floor/ceiling

, , ,

Example

c 2r , c := 2r

a b + c

Logical

and, or

Sums, products

h aA 1/a

Exemplu
Urmeaza un exemplu mai lung de pseudocod in stil matematic, pentru
algoritmul Ford-Fulkerson:
algorithm ford-fulkerson is
input: Graph G with flow capacity c,
source node s,
sink node t
output: Flow f such that f is maximal from s to t
(Note that f(u,v) is the flow from node u to node v, and c(u,v) is the flow
capacity from node u to node v)
for each edge (u, v) in GE do
f(u, v) 0
f(v, u) 0
while there exists a path p from s to t in the residual network Gf do
let cf be the flow capacity of the residual network Gf
cf(p) min{cf(u, v) | (u, v) in p}
for each edge (u, v) in p do
f(u, v) f(u, v) + cf(p)
f(v, u) f(u, v)
return f

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