A fost o vreme în care mă interesa în mod deosebit problema corectitudinii programelor. Aveam o documentație, zic eu, de invidiat pe acestă problemă, căci primeam articole din străinătate, deoarece trimiteam cărți poștale prin care rugam autorii să-mi trimită articolele publicate de ei. Cred că aveam pe probleme de corectitudine cel puțin 100 de articole fundamentale.
Am observat un lucru straniu. Toți autorii discutau niște chestii total mișto, numai că atunci când treceau la fapte, foloseau demonstrarea corectitudinii programelor folosind un program scris în limbajul ALGOL care implementa algoritmul lui EUCLID, ceea ce m-a descumpănit. Mi-a venit ideea de a studia un mod de a demonstra corectitudinea unui program FORTRAN ceva diferit de acea implementare a algoritmului lui EUCLID.
Când a venit problema elaborării de lucrări de stat, echivalentul lucrărilor de licență de azi, am formulat un titlu ceva de corectitudinea programelor FORTRAN și un alt titlu, ceva despre corectitudinea programelor COBOL. Am avut surpriza că la una dintre lucrări s-a înscris Ioana POPESCU o studentă foarte bună, care știa programare în limbajele FORTRAN, COBOL și ASSIRIS. Ea avea cunoștințele care să-i permită realizarea unei lucrări bune, pentru că demonstrarea corectitudinii necesita folosirea unui aparat matematic elaborat, ori Ioana POPESCU avea note foarte bune la matematică.
I-am dat materialele de care dispuneam. Ea s-a apucat să studieze și am discutat destul de mult. Am structurat lucrarea. Am căutat exemple de programe de care să ne ocupăm. Ea a reușit să scrie capitolele lucrării și să facă unele demonstrații de corectitudine. Am sfătuit-o s-o ia gradual, nu cu programe foarte simple, ci cu secvențe de programe simple. Așa a progresat și s-a prezentat în fața comisiei de examen de stat cu o lucrare extrem de interesantă, care aborda o problemă nouă. Îmi aduc aminte că ceva mai târziu a apărut lucrarea lui Cristian CALUDE de calculul complexității
(01 martie 2023)
(01 martie 2023)
No comments:
Post a Comment