Showing posts with label Ioan DUMITRESCU. Show all posts
Showing posts with label Ioan DUMITRESCU. Show all posts

Thursday, September 10, 2026

Nicolae RACOVEANU, profesorul de calculatoare

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, 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 matricilor 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 calcului matricei invers prin metoda de aproximare propusă aici în carte. Îmi reamintesc cum am generat maticea 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 de la Centrul 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 difernț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țioe pozițională, după care sunt prezentare sistemele uzuale care folosesc baza doi, baza opt ș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 mari mari, respectiv, celor mai mici numere.
Capitolul 3 intitulat Logică matematică de la paginile   53 - 68,  prezintăoperații în algenra 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 paginile 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 de 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 realizap cu foaia și 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, concretizate pr
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 pentri 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 descriese 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ă, banda de hârtie erau atunci esențiale. Sunt tratate și benzile magnetice, dar despre discuri magnetice nu se amintește ceva, 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 car îl privim cu nostalgie. Merită citit subcapitolul 7-8 destinat dendinț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, 9ar ideea de preluare de informații 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 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 nunelte 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  paginile  prezintă mai multe aspecte dintre care, o descriere a calculatorului ipotetic DIDAC-1 care are 44096 celule de memorie, operează în baza 8, care 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 paginile2442 -2247, ceea ce a permis scrierea unui text sursă 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 echivalentul este 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 calcului unei funcții definite pe subintervale este dat la paginile 256 -257. Erau la modă calculatoarele ipotetice, de când cu Tratatul de 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=AUMA+A(I)**2
destinată calculului sumei de pătrate a 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 urmărirea cu ușurință a fiecărui pas al algoritmului.
Tot în acest subcapitol, la paginile 271 - 282 limbajul ALGOL, folosind exemple interesante de calcul a unor sume, dar și pentru lucrul cu matrici sau pentru calculul exp(0), sinx, 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-KITTA, dar și programe FORTRAN de rezolvare a unor probleme inginerești. Capitolul este foarte dens, dar claritatea expunerii îl fac ușor de parcurs.
Când am recitit acum cartea, după foarte mulți ani, mi-am dat seama că nu a suferit 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ăsit în situația în care ne aflăm când citimi pagini scrise de cronicarii de demult, când terminologia folosită și structura frazei de dau bătăi de cap. 

                                        *
                        *                            *
Profesorul Nicolae RACOVEANU este în această vcarte exact așa cum l-am cunoscut la cursuri, un om cu discurs foarte bine structurat, cu idei clare, cu 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ă se sune de pauză și profesorul să nu-și încheiat expunerea pentru a 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 este și în continuare pentru mine. 

Monday, March 27, 2023

1.000 de oameni care m-au impresionat: Ioan DUMITRESCU

Ioan DUMITRESCU era șef de sector în Centrul de calcul al ASE în vremea studenției mele. El era și asistent al profesorului Nicolae RACOVEANU la disciplina Sisteme de calcul și de operare. De la Ioan DUMITRESCU am învățat să folosesc corect operatorii de diferențe la dreapta și la stânga, folosiți în metode numerice și chiar și acum mă amuz de delta și de nabla, când îmi aduc aminte.
 veIoan DUMITRESCUnea la orele noastre de seminar cu temele făcute. Niciodată nu a improvizat nimic. Era extrem de riguros și avea totul planificat. La el nu exista ceva care să nu meargă ca uns. Mi-am dorit ca și eu la seminariile mele să fie tot așa, dar uneori îmi reușea, alteori, nu, pentru că vrând-nevrând, la numărul mare de seminarii ale unui asistent, există și riscul unor rateuri. Ioan DUMITRESCU ca șef de sector avea doar seminarul de la grupa mea, deci avea tot timpul din lume să facă totul perfect.
După ani și ani, Ioan DUMITRESCU a plecat din centrul de calcul al ASE și a devenit cadru didactic la Institutul de Petrol și Gaze din Ploiești. 
Am avut fericitul prilej să fiu într-o comisie de evaluare a unei teze de doctorat coordonată de profesorul Ioan ODĂGESCU, alături de fostul meu asistent din studenție Ioan DUMITRESCU. După ce s-a încheiat susținerea, am discutat cu fostul meu profesor și l-am asigurat de admirația, respectul și prețuirea mea pentru tot ce a făcut el pentru mine, căci dacă știam să fac dezvoltări în serie FOURIER a tot felul de funcții, lui îi datoram, căci derivarea numerică poartă marca Ioan DUMITRESCU, în mintea mea și acum după 54 de ani care au trecut în zbor, de la orele lui de seminarii.

(27 martie 2027)

Wednesday, March 8, 2017

CSIE'50 - analiza numerică

Pe când eraum eu student, adică acum 1000 de ani, am făcut începând cu anul al II-lea o disciplină numită analiză numerică sau metode numerice, exact ceea ce trebuie pentru a face aplicații matematice pe calculator, doar cu adunări, scăderi, înmulțiri și împărțiri. Am ânvățat acolo cum:
- se extrage un radicat;
- se calculează derivata într-un punct a unei funcții;
- se rezolvă un sistem de ecuații liniare;
- se calculează o integrală;
- cum se rezolvă o ecuație diferențială;
- calculul unei funcții trigonometrice într-un punct;
- cum se află un punct de optim.
Și multe, multe alte lucruri divin de interesante am învățat acolo. Este de neconceput în ziua de azi să se soluționeze o problemă de orice natură ar fi ea, fără a trece prin analiză numerică. Au fost scrise tratate, au fost elaborate biblioteci de subprograme, au fost dezvoltate aplicații de maximă complexitate, toate folosind metode numerice.
Acum că se împlinesc 50 de ani de cibernetică economică, doresc să aduc omagiul meu celor de la care am învățat metode numerice și aici îi numesc pe marii profesori Nicolae RACOVEANU, Dragoș VAIDA, Ioan DUMITRESCU, Gheorghe MARINESCU: Dacă am învățat ceva eficiență în a scrie programe, nu am cum să trec cu vederea cartea cu texte sursă FORTRAN de la IBM, SSP în care toate subrutinele erau perfect autodocumentate, algoritmii numerici explicați, iar simplitatea textelor sursă era exemplară. Cu timpul, disciplina de metode numerice s-a metomorfozat și a devenit un pic altceva din varii motive, dar indiferent de ce și cum, diferențele la dreapta și diferențele la stânga ale funcțiilor, n-am să le uit niciodată. La această disciplină m-am convins de perfecțiunea înclusă în aproximarea însi, ca mod de a obține rezultate vecine cu perfecțiunea, dar la nivel de imperfecțiune acceptată cu seninătatea ciobanului din balada Miorița.


(08 martie 2017)