Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » sql
Etapele realizarii programelor

Etapele realizarii programelor


Etapele realizarii programelor

Procesul de rezolvare a unei probleme incepe cu specificarea acesteia si se incheie cu obtinerea unui program concret si corect. Etapele procesului de programare sunt urmatoarele:

I. Specificarea problemei

In prima etapa are loc analiza problemei. Rolul analizei consta in elaborarea unui enunt complet si precis al problemei, care sa tina seama de conditiile concrete de realizare si executie a programului. Enuntul trebuie sa evidentieze ceea ce urmeaza sa realizeze programul, adica functiile programului. In acest scop este necesar sa se identifice informatiile de prelucrat (datele de intrare) si rezultatele cerute (datele de iesire) ale programului.

Pentru referirea la datele de intrare si de iesire se folosesc variabile de intrare si respectiv de iesire. Ele furnizeaza notatii simbolice pentru date. Tot in aceasta etapa se stabilesc reprezentarile si organizarea datelor de intrare si de iesire pe suporturile externe de informatie. Acestea pot fi impuse prin enuntul initial al problemei sau pot fi definite de catre utilizator. Rezultatul primei etape este specificatia programului.



Exemplul 1.3

Pentru exemplificarea acestei etape, se considera urmatoarea problema:

Fiind dati coeficientii unei ecuatii de gradul doi, a, b si c, de tip real, sa se calculeze (daca exista!) radacinile reale ale acesteia. In caz contrar, sa se dea un mesaj corespunzator.

1) marimi de intrare: a, b, c;

marimi de iesire: x1, x2;

2) functia: calculeaza radacinile reale ale ecuatiei:

a*x2 + b*x + c = 0 daca exista sau afiseaza mesajul "Ecuatia nu are radacini reale" sau "Nu este o ecuatie de gradul doi", in cazul cand a = 0;

3) organizarea si reprezentarea datelor de intrare si iesire pe suportul extern: datele se introduc de la tastatura si rezultatele se afiseaza pe display (monitor).

II. Determinarea algoritmului de rezolvare a problemei

Scopul acestei etape este elaborarea unui algoritm care sa realizeze functiile programului. Programatorul trebuie sa conceapa o lista de comenzi care sa descrie secventa de operatii care va fi executata de calculator pentru solutionarea problemei. Un calculator devine functional daca este programat, adica i se "spune" in cele mai mici amanunte ce sa faca. Acest lucru se realizeaza prin program. In sens general, un program reprezinta descrierea unui algoritm intr-o forma interpretabila ("inteleasa") de catre calculator. El rezulta din codificarea algoritmului intr-un limbaj de programare.

Gasirea algoritmului constituie de cele mai multe ori cea mai grea etapa a procesului programarii. Pentru obtinerea algoritmului sunt necesare cunostinte din matematica, discipline stiintifice si tehnice. Studiul algoritmilor constituie un domeniu clar delimitat in aria larga a stiintei calculatoarelor.

In general, dezvoltarea algoritmului se realizeaza iterativ, trecandu-l prin mai multe niveluri de detaliere. Acest mod de detaliere pas cu pas este denumita proiectarea descendenta, sugerand faptul ca se trece treptat de la o reprezentare generala, abstracta, a rezolvarii problemei la o prezentare detaliata a sa.

Problemele simple conduc la un singur algoritm compact, codificat intr-o singura unitate e program. In exemplul prezentat anterior, algoritmul poate fi explicat foarte simplu:

Daca a = 0, atunci afiseaza mesajul "Nu este o ecuatie de gradul doi"

Problemele complexe si de dimensiuni mari sunt descompuse din punct de vedere logic in subprobleme (parti) mai simple, corelate, care pot fi tratate separat, devenind ele insele probleme de rezolvat. Programul rezultat din codificarea unui astfel de algoritm va fi organizat ca un sistem de module program. Prin modularizare se simplifica nu numai procesul de dezvoltare si verificare a algoritmului, ci si procesul de codificare, depanare si testare a programelor. Totodata, modularizarea usureaza modificarea programului si deschide posibilitatea refolosirii unitatilor de program componente.

III. Codificarea algoritmului

Dupa elaborare, algoritmul este codificat cu ajutorul unui limbaj de programare, obtinandu-se astfel programul care il implementeaza.

Limbajul utilizat este ales in conformitate cu specificul problemei, cu particularitatile sistemului de calcul pe care urmeaza sa fie executat programul si, desigur, cu experienta programatorului. Codificarea algoritmului este inlesnita de utilizarea unor simboluri si reguli speciale, precum schemele logice (organigrame) sau limbajul pseudocod.

IV. Testarea si validarea programului

Programul astfel obtinut trebuie verificat in scopul eliminarii erorilor de sintaxa si al celor de logica. Chiar daca in urma executiei programului se obtin rezultate, adica s-au eliminat erorile de sintaxa, aceasta nu inseamna ca acesta este corect, adica realizeaza functiile specificate.

Programul poate contine erori de logica, pentru eliminarea carora trebuie executat de mai multe ori, folosindu-se seturi de date stabilite pe baza unor criterii considerate ca fiind adecvate problemei.

Sintaxa si semantica limbajelor de programare

Fiecare limbaj de programare, ca orice alt limbaj, se caracterizeaza prin anumite reguli de scriere corecta, numite reguli de sintaxa. Orice instructiune a limbajului are o forma si o semnificatie. Sintaxa se refera numai la forma instructiunii, in timp ce semnificatia este de domeniul semanticii. Semantica se refera la modul in care trebuie interpretata instructiunea respectiva. Este evident ca, atunci cand se concepe un program, este necesar sa se acorde atentie atat sintacticii, cat si semanticii.

Daca intr-un program nu sunt respectare regulile de sintaxa, compilatorul sesizeaza anomaliile si le semnaleaza sub forma unor mesaje de erori de sintaxa. In astfel de situatii, codul de octeti al programului respectiv nu va mai fi generat. Programatorul trebuie sa remedieze erorile de sintaxa semnalate si sa ceara repetarea compilarii, pana cand nu vor mai fi constatate erori de sintaxa.

Faptul ca un program nu mai contine erori de sintaxa, deci este corect sintactic, nu inseamna insa ca el este corect si sub aspectul realizarii sarcinii pentru care a fost conceput. Asa cum un text scris intr-o limba naturala (in limba romana, de exemplu) poate fi corect gramatical, dar sa exprime conceptii gresite, un program poate fi corect sintactic, dar sa descrie un set de date si/sau un algoritm care nu corespund problemei rezolvate si deci nu permit obtinerea solutiei corecte. Aceasta situatie nu mai poate fi sesizata de compilator, ci este in intregime pe raspunderea programatorului.

Activitatea de dezvoltare a unui program nu se incheie in momentul validarii programului. Din acel moment incepe etapa de intretinere, care, spre deosebire de celelalte etape, este nelimitata. In aceasta etapa sunt efectuate modificari ale programului, fie in scopul corectarii unor erori identificate in cursul utilizarii sale, fie pentru a-l adapta unor cerinte noi.

In aceasta etapa are o mare importanta documentatia programului; aceasta faciliteaza atat modificarile ulterioare, cat si intelegerea sa de catre alte persoane decat cele care l-au creat.

Test de autoevaluare 1.3

Alegeti varianta corecta pentru urmatoarele intrebari. Raspunsul la fiecare intrebare

valoreaza 20 de puncte. Punctaj minim: 80

1. Care din urmatoarele caracteristici nu reprezinta o caracteristica a utilizarii limbajelor de nivel inalt

a)     naturalete

b)     portabilitate

c)     instructiuni codificate numeric

d)     usurinta in scriere

2. Limbajele folosite pentru programarea unui calculator sunt compuse din.........

3. Notiunea de programare structurata a fost introdusa in cadrul limbajului de programare:

a)     Fortran

b)     Paradox

c)     Cobol

d)     Pascal

4. Care din urmatoarele limbaje reprezinta limbaje orientate pe gestiunea bazelor de date?

a)     FoxPro

b)     Pascal

c)     SQL

d)     Cobol

5. Mediul de dezvoltare reprezinta...................

Lucrarea de verificare Nr. 1.

Raspundeti la urmatoarele intrebari. Acestea trebuie sa fie scurte (cateva randuri) si clare. Fiecare intrebare valoreaza 20 puncte.

1. Descrieti sub forma unui algoritm descompunerea unui numar in factori primi.

2. Explicati de ce sunt necesare limbajele orientate pe gestiunea bazelor de date, dand cateva exemple.

3. Enumerati avantajele utilizarii limbajelor de nivel inalt si dati cateva exemple de astfel de limbaje de programare.

4. Prezinta in maxim 500 de cuvinte un eseu despre modul in care presupuneti ca vor evolua limbajele de programare a calculatoarelor in viitorul apropiat. (Acest eseu va fi notat cu maxim 20 de puncte. 5 puncte vor fi acordate pentru corectitudinea exprimarii, 10 puncte pentru argumentare si 5 puncte pentru inventivitate).





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.