Sunteți pe pagina 1din 3

1.

Fazele rezolvarii la unei probleme la calculatorul numeric


Din momentul n care o echip are sarcina s simuleze o problem la calculator i pn n momentul n care aceasta este rezolvat, sunt parcurse mai multe etape. n mare, aceste etape sunt: 1. Analiza problemei 2. Elaborarea programului surs 3. Testarea programului 4. ntocmirea documentaiei 1. Analiza problemei Imediat dup primirea problemei analistul trebuie s stabileasc: a) care este problema de rezolvat; b) ce calcule trebuie executate; c) care este ordinea calculelor; d) pentru ce date; e) ce rezultate se cer. a) Existent dou mari tipuri de probleme care se pun n practica utilizrii calculatorului numeric: probleme tehnico-stiinifice i probleme economice i comerciale. Avnd n vedere scopul prezentei lucrri, ne vom ocupe numai de problemele tehnicotiinifice. Acest tip de probleme se caracterizeaz prin aceea c necesit executarea unui calcul laborios asupra unui set relativ redus de date. b) n etapa de analiza a unei probleme tehnico-stiinifice, analistul trebuie s stabileasc dac pentru rezolvarea problemei este construit sau nu modelul matematic. Aceste este un moment crucial n rezolvarea problemei, deoarece adoptarea unui model matematic neadecvat nu poate conduce dect la rezultate eronate. Modelul trebuie s reprezinte realitatea ct mai fidel, dar n acelai timp modelul trebuie s fie destul de simplu pentru a fi rezolvat cu mijloacele tehnice i financiare de care dispunem. n aceast etap trebuie stabilit nu numai ce tip de ecuaii caracterizeaz fenomenul modelat, dar trebuie stabilit i ce calcule trebuie executate sau mai bine zis care este metoda numeric de rezolvare a acestor ecuaii. n partea doua a lucrrii sunt date numeroase exemple n care o problem este relativ uor rezolvat sau nerezolvabil n funcie de metoda aleas. c) Odat stabilit metoda de rezolvare n funcie de cerinele problemei, trebuie stabilit care este ordinea calculelor. La acest moment se elaboreaz ceea ce se numete algoritmul de rezolvare a problemei. Acum se stabilete care este ordinea logic de executare a calculelor n scopul evitrii oricrei situaii de incompatibilitate (conflict logic). Pentru o analiz ct mai profund a tuturor posibilitilor care pot apare n decursul procesului de calcul, la aceast etap se ntocmete schema logic. Schema logic nu este altceva dect o reprezentare grafic a algoritmului de rezolvare a problemei. Schemele logice folosesc o serie de simboluri geometrice care faciliteaz citirea acestora i de alte persoane interesate asupra modului n care a fost rezolvat problema. De obicei aceste scheme logice fac parte din documentaia ntocmit la terminarea problemei. n tabelul II.1 sunt redate principalele simboluri folosite n schemele logice. d) La elaborarea schemei logice trebuie inut seama si de ce date se folosesc pentru rezolvarea problemei. Natura datelor poate impune chiar schimbarea algoritmului de rezolvare a problemei. De exemplu n cazul n care datele de intrare au un pronunat caracter probabilistic n nici un caz pentru rezolvarea problemei nu poate fi folosit un model determinist. Pe de alt parte, dac erorile de msurare a datelor de intrare sunt mari, nu este oportun alegerea unui model matematic prea sofisticat ntruct dac datele de intrare sunt eronate vom avea cel puin acelai grad de eroare asupra rezultatelor.

Nr. crt. 1

Denumire Bloc delimitator de nceput de schem logic Bloc de intrare sau ieire

Simbol grafic

Bloc de calcul

Bloc de procedur

Bloc de decizie cu dou ieiri

Bloc de decizie cu trei ieiri

Conector etichetat

Conector de pagin

Bloc delimitator de sfarsit

e) Stabilirea rezultatelor care se cer unei probleme rezolvate la calculator reprezint o faz important n analiza problemei; n caz c se cer rezultate intermediare care s fie folosite n alte programe este necesar proiectarea fiierelor de date pe discuri i sau benzi magnetice. n fond, stabilirea clar a scopului unei probleme poate conduce la mari simplificri a algoritmului de rezolvare. 2. Elaborarea programului surs Odat terminat faza de elaborare a algoritmului de rezolvare a problemei se pune problema transpunerii problemei ntr-un limbaj de programare. Dat fiind c nu exista un limbaj universal de programare, de obicei este necesar ca programatorul s cunoasc mai multe limbaje i s foloseasc pentru programare limbajul care satisface n cea mai mare masur cerinele problemei.

3. Testarea programului Dup ce a fost verificat , programul este gata pentru a fi rulat la calculator. Memorarea programului n memoria intern. Acum se execut i o prim testare, testarea sintactic. Compilatorul are sarcina de a detecta orice erori sintactice fcute la scrierea programului surs i care din punct de vedere logic conduc la instruciuni ambigue; de exemplu, lipsa unei paranteze nchise, lipsa unei virgule, acelai numr de etichet dat la mai multe instruciuni, lipsa unei etichete numit n program, etc. Aceste greeli din program sunt relativ uor de reparat ntrucat sunt detectate de compilator i n mod automat listate la imprimant. Greelile sintactice sunt de mai multe niveluri de gravitate. Cele mai grave conduc la abandonarea execuiei programului i compilarea programului nu poate fi fcut dect dup nlturarea acestor greeli. Din pcate greelile sintactice nu sunt singurele greeli care se pot face la scrierea programului ; cele mai grave sunt greelile semantice din cauz c sunt foarte greu dedetectat. Sunt unele erori semantice care sunt semnalizate n timpul execuiei (ca de exemplu mprirea la zero, radical dintr-un numr negativ etc.), dar de foarte multe ori singurul indiciu al existenei unor erori semantice n program este dat de rezultatele calculului diferite de cele ateptate. Din acest motiv o mare atenie trebuie acordat testrii semantice a programului surs. Testarea semantic trebuie executat pentru oricare din ramurile programului i de fiecare dat rspunsul trebuie s corespund dorinelor utilizatorului. Pentru o verificare mai uoar din punct de vedere semantic a unui program, de obicei se folosesc drept date de intrare un set de date pentru care se cunosc deja rezultatele. Greelile semantice pot apare nu numai prin scrierea greit a unor instruciuni ci pot fi fcute chiar n etapa de analiza a problemei. De aceea este indicat ca ori de cte ori apar greeli semantice analistul s intervin prin reanalizarea problemei adic este aproape obligatorie o rentoarcere la etapa 1 descris mai sus: analiza problemei. Dac se constat c analiza problemei a fost bine executat i instruciunile scrise n mod corect, atunci este probabil c n program s-au fcut aa-numitele greeli stupide, ca de exemplu, din cauza unui scris necite, s se tasteze cifra zero n locul literei 0 (sau invers), sau cifra 1 n locul literei I,etc. De obicei detectarea unor astfel de erori se face prin scrierea unor rezultate intermediere, care pot fi uor verificate. 4. ntocmirea documentaiei Rezolvarea unor probleme de interes prin simulare pe calculator cere de obicei un mare efort uman i material. Valoarea programalor elaborate este data ns de volumul de inteligen nmagazinat n ele. Azi a aprut o adevarat industrie de elaborare a programelor pentru simularea diverselor probleme pe calculator. Pachetele de programe elaborate alctuiesc ceea ce se numete software de aplicaie. La terminarea programului de rezolvare a unor probleme la calculator trebuie avut n vedere c aceste programe vor fi folosite i de ali utilizatori dect cei care au participat la elaborarea lor. De aceea este necesar elaborarea documentaiei pentru folosirea pachetului de programe. O astfel de documentaie trebuie s cuprind nu numai descrierea performanelor acestor programe dar i limitrile lor. La vnzarea unor astfel de programe de obicei se scot n eviden performanele, dar cumprtorul trebuie s fie foarte atent la limitrile pachetulul de programe, ntruct unele experiene triste au artat c de obicei este mai indicat s se rescrie un program dect sa se modifice un program scris de altcineva.