partea reală PR şi coeficientul real al părţii imaginare PI pe care le tipăreşte şi întîlnind simbolul de oprire stopează procesul. în sfîrşit, dacă DELTA = o calculatorul o ia pe ramura din mijloc, calculează rădăcina dublă, o tipăreşte _ şi stopează procesul. 38
zesc, cuvintele de bază fiind toate englezeşti. Analizînd problema alegem rezolvarea sa prin algoritmul cunoscut:
— b- |- \ b2—-iac
Odată aleasă metoda vom scrie schema logică:
X. =•— B + \ DELTA! 2 A
4
| START j 4 j A, B, C
_________ 4 _______ DELTA = B2— 4C |
3— 4DELTA 2A
DELTA < Tc PR
— B
2 A
M— A2—— B 4- DELTA
PI =--------------“ 2 A
~ i \
i stop
înainte de a urmări schema logică şi de a scrie programul vom face următoarele convenţii: îl vom nota cu DELTA, PR partea reală a rădăcinilor imaginare, PI coeficientul real al părţii imaginare a rădăcinilor. Deci rădăcinile imaginare se vor scrie sub forma: X u 2 = PR + PI
Recurgem la aceste convenţii deoarece calculatorul nu lucrează cu numere complexe.
Această schemă permite înţelegerea programului de către persoane care nu au contribuit la scrierea lui. Să urmărim pe schema logică drumul pe care îl străbate calculatorul pentru rezolvarea problemei. Deci calculatorul citeşte pe A, B, C, şi le înmagazinează în memorie, apoi întîlneşte blocul de calcul, calculează deci pe DELTA iar valoarea obţinută o trece în memorie. Acum ajunge la simbolul de decizie şi îl compară pe DELTA cu zero. Dacă DELTA > o calculatorul o ia pe ramura stingă şi calculează cele două rădăcini reale şi diferite şi x2, apoi tipăreşte valorile obţinute şi întîlnind simbolul de oprire stopează procesul. Dacă DELTA < o calculatorul o ia pe ramura dreaptă, calculează
partea reală PR şi coeficientul real al părţii imaginare PI pe care le tipăreşte şi întîlnind simbolul de oprire stopează procesul. în sfîrşit, dacă DELTA = o calculatorul o ia pe ramura din mijloc, calculează rădăcina dublă, o tipăreşte _ şi stopează procesul. 38
*
Urmărind schema logică vom scrie programul ALGOL. înainte însă, să dăm cîteva explicaţii în legătură cu notaţiile folosite:
— „ BEGIN” şi „ END” sînt cuvinte de bază şi au rol de paranteze;
-— „ REAL” euvînt de bază înseamnă „ real” şi arată tipul variabilelor cu care lucrăm.
In legătură cu operatorii avem: X = înmulţire, / = împărţire, = ridicare la putere.
— SQRT( DETA) este o funcţie şi înseamnă
\ DELTA.— DELTA: = 0 înseamnă că variabilei
DELTA i se atribuie valoarea 0;— DELTA = 0 înseamnă DELTA este egală cu 0;— 0 = o prin convenţia noastră.— „ PRINŢ” euvînt de bază înseamnă tipăreşte. După fiecare instrucţiune în ALGOL se pune
punct şi virgulă(;). Şi acum programul căruia îi dăm titlul
REG 2; „ BEGIN” „ REAL” A, B. C. DELTA, XI, X2, PR, PI: „ DELTA”: = B t 2— 4xAxC;
„ IF " DELTA 0 „ THEN”
„ IF” DELTA = o „ THEN”
„ ELSE”
„ BEGIN” XI: =(— B + SQRT( DELT A))/( 2x A) X2: =(— B— SQRT( DELTA))/( 2x A) „ PRINŢ” XI, X2;
„ GOTO " FINAL; „ ENDU
„ BEGIN” XI:= X 2:=(— B)/( 2xA); „ PRINŢ " XI; „ END”;
„ BEGIN” PR:=(— B)/( 2xA):
PI;=( SQRT(— DELTA)) /
( 2xA); „ PRINŢ " PR. PI; „ END”:
FINAL: „ END”; Şi acum ^ă parcurgem şi să traducem programul explicînd şi operaţiile făcute de calculator.
Calculatorul citeşte titlul programului REG” 2 şi îl identifică în memoria sa. Urmează cuvîntul de bază „ BEGIN” care împreună cu „ END” delimitează un program sau un subprogram. Urmează declaraţia: „ REAL”( urmat de o listă de variabile) care are ca efect alocarea în memorie a cîte 2 cuvinte( 48 biţi) pentru fiecare variabilă. Se ştie că un calculator lucrează in general în sistemul binar iar bitul este cantitatea de informaţie dată de o experienţă ce se poate realiza numai în două moduri la fel de probabile.
Urmează acum o instrucţiune de atribuire(:=) prin care variabilei DELTA i se atribuie valoarea obţinută prin calcularea expresiei B ţ2— 4xAxC. Apoi calculatorul întîlneşte prima instrucţiune condiţională „ IF”( dacă). Această instrucţiune tradusă înseamnă: dacă DELTA