PSEUDOCOD
Cuvântul pseudocod provine din pseudo, care înseamnă fals, și cod care se
referă la textul scris într-un limbaj de programare. Deci pseudocod înseamnă un
așa-zis limbaj de programare.
Pseudocodul folosește aceeași operatori și o exprimare mai relaxată față de un
limbaj de programare consacrat, care cere rigurozitate.
Pseudocodul, ca orice limbaj de programare, folosește date, variabile, operații și
instrucțiuni.
Datele cu care lucrează un algoritm (scris în pseudocod) sunt:
valori întregi: 12, -5, 17
valori reale: 3,14, -1005,25, … ; folosim punct zecimal și nu virgula ca în
notația de la matematică
valori logice: adevărat (true) și fals (false)
caracter: 'x', 'e'
șiruri de caractere: „introdu valoare:”, „rezultatul este:”
O variabilă este un simbol care se caracterizează prin:
nume ; se notează cu combinații de litere sau cifre dar întotdeauna primul
caracter este litera: a, Beta, nr1, nr2
tip de data: întreg, real, șir de caractere, logic
valoare: funcție de tipul de date asociat, o variabilă poate avea valori din cele
de mai sus; valoarea memorată se poate schimba, de unde și numele de
variabilă;
locație de memorie (când programăm efectiv)
La începutul algoritmului în pseudocod trebuie să specificăm cu ce variabile
intenționăm să lucrăm și ce tip au:
întreg m,n
x, yz reale
logica e ok, există, este
Expresiile sunt formate din operatori și operanzi. Formează expresie următoarele
Constanța
variabilă
operator variabilă variabilă
operator expresie expresie
operator expresie (cazul operatorilor unari de genul – (5+3) )
Operatori aritmetici
semnul ” – ” se foloseste pentru scaderi sau ca operator unar
semnul ” + ” se foloseste pentru adunari
semnul ” * ” se foloseste pentru inmultiri
semnul ” / ” (slash – taie!) se foloseste pentru impartiri
rezultatul a/b este CATUL impartirii
14/4 -> 3
1972/10 -> 197 (a taiat 1 cifra)
1972/100 -> 19(a taiat 2 cifre)
semnul ” % ” se foloseste pentru a obtine restul impartirii primului operand
la cel al doilea
a % b = restul impartirii lui a la b ={0,1,2,…,b-1}
a % 2 = restul impartirii lui a la 2, care este 1 daca a este impar si 0
daca a este par
a % 10 = restul impartirii lui a la 10, care este intotdeauna ultima cifra a
lui a , cifra unitatilor
1972%10 -> 2 (ultima cifră)
1972%100 -> 72 (ultimile 2 cifre)
prioritatea operatiilor este aceeasi ca in matematica; mai intai inmultirile si
impartirile si apoi adunarile si scaderile
se pot folosi si paranteze pentru expresiile mai complicate, dar numai
perechide paranteze rotunde
atentie la ordinea operatiilor si folosirea parantezelor rotunde (ex. ecuatia de
gradul 2):
x1=-b + radical(b*b-4*a*c)/2*a
x1=(-b + radical(b*b-4*a*c))/2*a
x1=(-b + radical(b*b-4*a*c))/(2*a)
care din variantele de mai sus este corecta?
prima imparte numai radicalul la 2, rezultatul este inmultit cu a si apoi se
efectueaza scaderea
al doilea exemplu pune parantezele pentru numarator dar imparte numai la
2, rezultatul impartirii fiind inmultit cu a
abia ultima varianta separata numitorul si numaratorul prin paranteze
Operatori relaționali
de relatie intre numere-> relatie de ordine: <, <=, >, >=, ==, !=
O expresie relațională, gen a<b , are ca valoare un răspuns DA/NU,
ADEVARAT/FALS, 1/0 (in limbajul C, din punct de vedere logic 0
înseamnă fals iar 1 înseamnă adevărat )
Operatori logici
– negare (NU, !), conjunctie (si, AND, &&), disjunctie (sau, OR, ||)
negare : !1=0 (daca nu e adevarat, e fals), !0=1 (daca nu e fals, e adevarat), !
(!A)=A
conjunctie: Vreau bomboane si (vreau) ciocolata. ( A && B )
A=0, B=0 -> 0
A=0, B=1 -> 0 (copilul vrea de amandoua!)
A=1, B=0 -> 0 (copilul vrea de amandoua!)
A=1, B=1 -> 1 ( ambele cerinte sunt respectate)
O expresie && este adevărata cand AMBII termeni sunt adevarati
disjunctie: Vreau bomboane sau (vreau) ciocolata. ( A || B )
A=0, B=0 -> 0
A=0, B=1 -> 1 (bine ca a primit macar ciocolata)
A=1, B=0 -> 1 (bine ca a primit macar bomboane)
A=1, B=1 -> 1 ( ambele cerinte sunt respectate)
O expresie || este adevarata cand MACAR UN TERMEN este adevarat