Nicolae RACOVEANU

Nicolae RACOVEANU - Calculatoare electronice și programare, Editura Didactică și Pedagogică, București, 1968, 295 pag.
Cartea are o bibliografie formată din 28 de titluri, din care 7 sunt lucrări ale unor autori români precum Manea MăNESCU, Edmond NICOLAU, Dragoș VAIDA și ale Însuși autorului Nicolae RACOVEANU.
Lucrarea este structurată pe trei părți.
Prima parte, intitulată Introducere În matematică, cuprinde paginile 5 - 68 și include 3 capitole. Partea a doua, intitulată Calculatoare analogice, de la paginile 69 - 159, include tot 3 capitole. Partea a treia, intitulată Calcule numerice, de la paginile 160 - 290 include două capitole. Cele 8 capitole ale cărții sunt prezentate În continuare.
Capitolul 1, intitulat Analiză numerică, de la paginile 5 - 39, prezintă acele elemente absolut necesare implementării calculelor matematice În zona programării pe calculator. Este introdus conceptul de diferență la dreapta și conceptul de diferență la stânga. A fost foarte amuzant când s-a vorbit În sala de curs de operatorul notat cu simbolul nabla. Au fost prezentate formule de interpolare. În carte este prezentată metoda celor mai mici pătrate, pe care o știam de la cursul de statistică. Este prezentat algoritmul pentru soluționarea ecuațiilor algebrice folosind metoda lui NEWTON. Foarte concentrat sunt prezentați algoritmii lui CRAMER, SEIDEL și metoda relaxării pentru rezolvarea sistemelor liniare de ecuații. Subcapitolul destinat inversării matricelor de la paginile 19 - 21 este interesant prin metoda de aproximare a inversei. Este explicată foarte clar și În vremea studenției chiar am scris un program FORTRAN destinat calculului matricei inverse prin metoda de aproximare propusă aici În carte. Îmi reamintesc cum am generat matricea de start a cărei normă trebuia să fie subunitară. Când am ajuns la pagina 21, m-a cuprins o emoție foarte puternică pentru că am retrăit clipele când de la dispeceratul Centrului de Calcul al ASE am ridicat pachetul cu cartele și paginile de imprimantă unde era textul sursă și rezultatele, adică matricea inversă și matricea unitate, căci verificasem că tot ceea ce programasem ducea spre matricea inversă, Înmulțind rezultatul cu matricea inițială. Am scris și programe FORTRAN pentru derivare și integrare numerică folosind formule de aproximare cu diferențe la stânga, respectiv, diferențe la dreapta, căci explicațiile de la paginile 21 - 26 mi-au fost de mare ajutor. Cartea conține și unele detalii legate de ecuațiile diferențiale, dar și despre ecuații cu derivate parțiale. La paginile 34 - 39 sunt prezentate probleme de optimizare și programare liniară, cu câteva exemple concrete pentru a se vedea utilitatea modelelor de programare liniară În economie.
Capitolul 2, intitulat Aritmetică. Coduri numerice, de la paginile 40 - 52, prezintă câteva sisteme de numerație pozițională, după care sunt prezentate sistemele uzuale care folosesc baza 2, baza 8 și baza 16. Este arătat modul de a se trece de la numerele din baza 10 către aceste baze. Codurile numerice sunt văzute ca puneri În corespondență a două mulțimi și se dezvoltă elementele necesare reprezentării numerelor În calculator, atunci când este vorba de diferitele tipuri de constante numerice și aici mă refer la constante Întregi, la numere În virgulă mobilă și la reprezentările celor mai mari, respectiv, celor mai mici numere.
Capitolul 3, intitulat Logică matematică, de la paginile 53 - 68, prezintă operații În algebra binară: negația, conjuncția, disjuncția. Sunt prezentate principiile contradicției, terțiului exclus și tautologiei. Sunt prezentate legile de absorbție și formulele lui De MORGAN. Sunt prezentate funcțiile booleene cu două variabile F1, F2, ..., F16. La paginile 62 - 65 se prezintă sinteza schemelor logice. Se arată ce Înseamnă o formă normală disjunctivă, respectiv, forma normală conjunctivă și se vorbește despre optimizare.
Capitolul 4, intitulat Modele electrice analogice, de la paginile 69 - 88, prezintă modele electrice ale sistemelor dinamice, modele din medii continue pentru ecuații LAPLACE, pentru ecuații cu derivate parțiale. Sunt prezentate cauzele care generează erori În modelarea rețelelor electrice. Această parte era interesantă, dar pentru noi, studenții de la informatica economică, lucrul cu rezistențe și condensatori era mai puțin interesant din moment ce se ajungea destul de greu la valori numerice, cu care noi eram obișnuiți.
Capitolul 5, intitulat Dispozitivele calculatoarelor analogice funcționale, de la paginile 89 - 122, prezintă conceptele de rețele pasive, potențiometru, amplificatoare operaționale și modelele matematice aferente. Sunt construite câteva scheme funcționale pe care noi le vedeam utile În simularea unor situații legate de variațiile unor variabile la modele cibernetice simple. Pentru operații elementare, la paginile 121 - 122 sunt prezentate simboluri utilizate În schemele de principiu, simboluri cu care noi realizam pe foaie și cu creionul variante de structuri de modele cibernetice simple, pe care s-ar fi putut realiza simulări ale unor scenarii de evoluție din economie, pornind de la o situație și acceptând ipoteze de lucru.
Capitolul 6, intitulat Aplicațiile calculatoarelor analogice, de la paginile 123 - 159, prezintă unele aplicații ale calculatoarelor analogice, unde apar ecuații diferențiale ordinare, ecuații cu derivate parțiale, sisteme de ecuații algebrice liniare, analiză armonică. Pentru fiecare tip de problemă este dată partea matematică și schema bloc, folosind simbolurile de la paginile 121 - 122 pentru diferiți operatori. La acea etapă, sistemele analogice erau importante, studiile fiind avansate, așa cum este făcută analiza de la paginile 152 - 155.
Capitolul 7, intitulat Principii de funcționare și componente, de la paginile 160 - 237, prezintă principii de funcționare, elemente componente ale calculatoarelor numerice. Sunt descrise blocurile de control, de intrare, de ieșire, aritmetic-logic și memoria. Sunt date schemele care stau la baza implementării operatorilor SAU, șI, NOT, dar și funcții booleene mult mai complexe J-K flip-flop, R-S-T flip-flop (pagina 174), dar și multe altele unde apar diode, căci să nu uităm, ne aflăm În anul 1968 și o carte era pregătită de autor În 4 - 5 ani până să ajungă În librării. Subcapitolul 7-3 se apropie ceva mai mult de ceea ce Înțelegem acum despre calculator, registre, decodificatoare, numărătoare, dar realizate cu tehnica de atunci. Sunt prezentate echipamentele de intrare-ieșire, căci cartela perforată și banda de hârtie erau atunci esențiale. Sunt tratate și benzile magnetice, dar despre discuri magnetice nu se amintește nimic, căci acestea erau În 1965 undeva În stadiu de Început. Sunt luate rând pe rând toate componentele unui calculator numeric și sunt prezentate modalități de realizare corespunzătoare acelor vremuri, căci toate au un Început pe care Îl privim cu nostalgie. Merită citit subcapitolul 7-8 destinat tendințelor În concepția și construcția calculatoarelor numerice, pentru a se vedea că tot ceea ce profesorul meu Nicolae RACOVEANU a intuit legat de fiabilitatea echipamentelor, necesitatea dezvoltării sistemelor de stocare a informațiilor economice, iar ideea de preluare a informațiilor simultan, nu secvențial, pentru prelucrare, este demult o realitate În IT&C. Creșterea vitezei de citire era lăudată la un calculator ELLIOT 505 care citea 1000 de caractere de pe banda de hârtie, iar spre sfârșitul subcapitolului se amintește despre sistemul IBM 360 care a revoluționat tehnica de calcul. Este important că În carte sunt oferite scule, cum se zice acum, sau unelte de bază și fiecare cititor are posibilitatea să le folosească pentru a-și rezolva propriile probleme. Nivelului de formalizare deosebit de ridicat din carte Îi corespunde la nivel fizic posibilitatea de a realiza construcții care să execute funcțiile proiectate cu pixul pe hârtie, ceea ce este foarte important pentru cei care construiesc modele cibernetice de mare complexitate.
Capitolul 8, intitulat Programare, de la paginile 238 - 290, prezintă mai multe aspecte dintre care o descriere a calculatorului ipotetic DIDAC-1, care are 4096 celule de memorie, operează În baza 8, este programat În cod mașină și ale cărui operații sunt descrise În tabelul VIII-1-1 de la pagina 243. Programarea directă - cod mașină este detaliată În paginile 242 - 247, ceea ce a permis scrierea unui text sursă În cod mașină pentru evaluarea expresiei:
y=(x1+x2)*(x1+x3+x4)/(x4-x3)
Am apreciat foarte mult atunci ca student, ca și acum, modul În care autorul, profesorul meu Nicolae RACOVEANU, avea grijă pentru detalii. Programul integral pentru evaluarea expresiei este dat la pagina 249. Ceea ce noi numim acum structură repetitivă, În carte este echivalentul dat prin conceptul de readresare, de la pagina 252, unde se propune scrierea unui program În cod mașină pentru Însumarea a 100 de numere. Schema logică de la pagina 255 implementează structura repetitivă condiționată posterior, cum botezăm noi acum readresarea. Programul pentru calculul unei funcții definite pe subintervale este dat la paginile 256 - 257. Erau la modă calculatoarele ipotetice, de când cu tratatul Arta programării a lui D.E. KNUTH. La subcapitolul de programare automată este prezentat pe scurt limbajul FORTRAN, după care sunt date câteva programe de calcule inginerești. La pagina 268 este dată secvența:
DIMENSION A(10)
SUMA=0.
DO 15 I=1,10
15 SUMA=SUMA+A(I)**2
destinată calculului sumei pătratelor elementelor vectorului A(10) inițializat de pe o cartelă. Este prezentat programul pentru calculul aproximativ al unei integrale folosind formula lui SIMPSON. La paginile 269 - 271 este prezentat programul pentru rezolvarea unui sistem de ecuații liniare folosind metoda iterativă a lui SEIDEL. Textul sursă are foarte multe comentarii, care fac facilă urmărirea fiecărui pas al algoritmului. Tot În acest subcapitol, la paginile 271 - 282 este prezentat limbajul ALGOL, folosind exemple interesante de calcul a unor sume, dar și pentru lucrul cu matrici sau pentru calculul exp(0), sin x, cos x folosind dezvoltări În serie (paginile 278 - 279). La paginile 285 și 286 sunt prezentate În paralel texte sursă FORTRAN și ALGOL pentru rezolvarea aceleiași probleme. Tot aici este dat un program pentru rezolvarea unei ecuații diferențiale ordinare folosind metoda RUNGE-KUTTA, dar și programe FORTRAN de rezolvare a unor probleme inginerești. Capitolul este foarte dens, dar claritatea expunerii Îl face ușor de parcurs.
Când am recitit acum cartea, după foarte mulți ani, mi-am dat seama că nu a suferit o uzură morală semnificativă și că dacă un cititor din ziua de azi dorește să se informeze despre informatica de acum 55 de ani, are un instrument bun la dispoziție. În niciun caz nu se va găsi În situația În care ne aflăm când citim pagini scrise de cronicarii de demult, când terminologia folosită și structura frazei ne dau bătăi de cap.

* * *
Profesorul Nicolae RACOVEANU este În această carte exact așa cum l-am cunoscut la cursuri, un om cu un discurs foarte bine structurat, cu idei clare, cu o dicție perfectă. Era o prezență distinsă, care știa să țină creta În mână, care știa să folosească tabla În integralitatea sa, fără a șterge conținutul acesteia prea des. Punctualitatea sa era proverbială. Nu s-a Întâmplat niciodată să sune de pauză și profesorul să nu-și fi Încheiat expunerea, pentru a nu folosi minute din pauza studenților, așa cum fac profesorii neisprăviți. Profesorul Nicolae RACOVEANU era un exemplu, și prin cartea sa tot un exemplu rămâne În continuare pentru mine.

revenire