Prin elaborarea (proiectarea) unui algoritm intelegem intreaga activitate depusa de la enuntarea problemei pana la realizarea algoritmului corespunzator rezolvarii acestei probleme.
- proiectarea propriu-zisa. Ea consta in descompunerea problemei in subprobleme, obtinerea algoritmului principal si a tuturor subalgoritmilor apelati, conform metodelor prezentate in sectiunile urmatoare. Ea se termina cu descrierea algoritmului principal si a subalgoritmilor mentionati, dar si cu precizarea denumirilor si semnificatiilor variabilelor folosite; Exista doua metode generale de proiectare a algoritmilor, a caror denumire provine din modul de abordare a rezolvarii problemelor: metoda descendenta si metoda ascendenta. Proiectarea descendenta (top-down) porneste de la problema de rezolvat, pe care o descompune in parti rezolvabile separat. De obicei aceste parti sunt subprobleme independente, care la randul lor pot fi descompuse in subprobleme. La prima descompunere accentul trebuie pus pe algoritmul (modulul) principal nu asupra subproblemelor. La acest nivel nu ne intereseaza amanunte legate de rezolvarea subproblemelor, presupunem ca le stim rezolva, eventual ca avem deja scrisi subalgoritmi pentru rezolvarea lor. Urmeaza sa consideram pe rand fiecare subproblema in parte si sa proiectam (in acelasi mod) un subalgoritm pentru rezolvarea ei. In final, se va descrie subalgoritmul de rezolvare al fiecarei subprobleme, dar si interactiunile dintre acesti subalgoritmi si ordinea in care ei sunt folositi.
Notiunea de modul va fi definita in sectiunea urmatoare. Deocamdata intelegem prin modul orice subalgoritm sau algoritmul principal. Legatura dintre module se prezinta cel mai bine sub forma unei diagrame numita arbore de programare. Fiecarui modul ii corespunde in arborele de programare un nod, ai carui descendenti sunt toate modulele apelate direct. Nodul corespunzator algoritmului principal este chiar nodul radacina.
Astfel, in arborele de programare din fig. 3. 1. 1 exista un algoritm principal (modulul PRINC), care apeleaza trei subalgoritmi (modulele CITDATE, CALCULE si TIPREZ). La randul sau, modulul CALCULE apeleaza trei subalgoritmi (modulele M1, M2 si M3). Fig. 3. 1. 1. In multe carti metoda top-down este intalnita si sub denumirea stepwise-refinement, adica rafinare in pasi succesivi. Este vorba de un proces de detaliere pas cu pas a specificatiei, denumit proiectare descendenta. Algoritmul apare in diferite versiuni succesive, fiecare fiind o detaliere a versiunii precedente.
Scopul urmarit este acelasi: concentrarea atentiei asupra partilor importante ale momentului si amanarea detaliilor pentru mai tarziu. Daca ar fi necesar sa le deosebim am ...
Primești referatul în câteva minute,
cu sau fără cont