programare structurată

Când creați o serie de aplicații mijlocii (mai multe mii de linii de cod sursă), utilizând programarea structurată. ideea care este că structura programului ar trebui să reflecte structura problemei, pentru a rezolva algoritmul a fost în mod clar vizibile din textul original. Pentru aceasta trebuie să avem mijloacele de a crea nu numai programul cu ajutorul a trei declarații simple, dar, de asemenea, prin intermediul mai precise reflectă structura specifică a algoritmului. În acest scop, am introdus conceptul de subrutine de programare - un set de operatori care efectuează acțiunea dorită și să nu depindă de alte părți ale codului sursă. Programul este împărțit în mai multe sub-programe mici, fiecare dintre care îndeplinește una dintre acțiunile avute în vedere de sarcina inițială. Combinând aceste rutine, algoritmul rezultat nu este posibil să se formeze un simplu operatori și a blocurilor de cod finit cu o anumită semnificație, și se referă la astfel de unități pot fi de titluri.

idei de programare structurate a apărut la începutul anilor 70 în cadrul companiei IBM, in dezvoltarea lor, oamenii de știință bine-cunoscute au participat E. Dijkstra, J. Mills, E. Knuth, S. Hoor.

Programarea structurată se bazează pe structura modulară a modelului software și structurile de algoritmi de prelucrare a datelor de control ale diferitelor module software.

Tipurile de structuri de control:

- alternativă (condiție de selecție);

Două metode comune (strategie) de dezvoltare a programelor legate de programarea structurată:

- programarea „de sus în jos“;

-. Programarea „de jos în sus“

Programarea „de sus în jos“ sau programarea în jos - o metodă de programare, în care dezvoltarea începe cu definirea obiectivelor rezolva problema, urmată de detaliu secvențială, care se încheie cu un program detaliat.

a lansat în prima serie de rutine care rezolvă sarcinile cele mai globale (de exemplu, date de inițializare, partea principală și încheierea acordului), atunci fiecare dintre aceste module este detaliat la nivelul inferior, de rupere la rândul său, pe un număr mic de alte rutine, iar acest lucru se întâmplă, atâta timp cât nu întreaga problemă ar fi realizat.

În acest caz, programul este construit ierarhic - în jos din programul principal la subprogramul cel mai scăzut nivel, și doar o secvență de instrucțiuni simplu utilizate la fiecare nivel, looping și ramificare condiționată.

Această abordare este convenabila deoarece permite unei persoane să se gândească în mod constant la nivelul de subiect, care nu se încadrează operatorilor specifice și variabile. În plus, există posibilitatea unor rutine nu realizeaza imediat, dar a amânat temporar până când celelalte părți vor fi terminat. De exemplu, în cazul în care există o necesitate de calcul o funcție matematică este alocată o subrutină separată a acestor calcule, dar este implementat, temporar, de către un operator care pur și simplu atribuie o valoare preselectată (de exemplu, 5). Când toate cererea va fi scris și depanate, atunci puteți începe să pună în aplicare această funcție.

Programarea „bottom-up“, sau programarea în sus - o tehnică de programare care începe cu dezvoltarea de rutine (proceduri, funcții), în momentul în care studiul regimului general nu sa încheiat.

Această tehnică este mai puțin preferat în comparație cu programarea, deoarece adesea un curent descendent duce la rezultate nedorite, modificări și creșterea timpului de dezvoltare.

Un foarte importante rutine caracteristice - este abilitatea de a le reutilizați. Cu sistemul de programare integrat oferă o bibliotecă mare de rutine standard, care poate crește în mod semnificativ productivitatea prin utilizarea muncii altuia pentru a crea rutine utilizate în mod obișnuit.

Rutinele sunt de două tipuri - funcții și proceduri. Acestea sunt caracterizate prin faptul că procedura pur și simplu execută un grup de declarații, funcția calculează o valoare adăugată și le transmite înapoi la programul principal (retururi). Valoarea unui anumit tip.

Pentru a lucra rutine pentru a avea sens, ea are nevoie pentru a prelua date dintr-un program extern, pe care această rutină se numește. Datele sunt transmise sub forma unor argumente subrutină sau parametri, care sunt descrise în general în titlul său cât și variabile.

Rutinele sunt invocate, de obicei, prin simpla înregistrare numele și opțiunile lor.

Rutinele sunt activate doar în momentul apelului. Operatori. Care sunt localizate în subrutina, sunt executate numai în cazul în care acest lucru subrutina numit în mod explicit.

Subrutine pot fi imbricate - un apel subrutină este permisă nu numai din programul principal, dar, de asemenea, de orice alte programe.

In unele limbaje de programare poate fi un apel subrutina de la sine. Aceasta se numește recursiune, și este periculos, deoarece aceasta poate duce la bucla fără sfârșit - un samovyzovu fără sfârșit.

Avantajele programare structurat:

- crește fiabilitatea software-ului (datorită buna structurare a proiectului, programul poate fi ușor de testat și nu creează probleme atunci când depanare);

- crește eficiența programului (structurarea programului îl face ușor de a găsi și de a corecta erorile, și rutine individuale pot modifica (modifica) independent de celelalte);

- timpul și costurile de dezvoltare a software-ului redus;

- îmbunătățirea lizibilitatea programelor.

Astfel, tehnologia de programare structurată în dezvoltarea de sisteme software majore, bazate pe următoarele principii:

- programarea ar trebui să fie efectuate de sus în jos;

- întregul proiect să fie împărțit în module (subrutine), cu o singură intrare și o ieșire;

- de rutină trebuie să permită doar trei structuri de bază - execuție secvențială, ramificare (în cazul în care, caz) și se repetă (pentru, în timp ce, repeta).

- transferul inacceptabil al operatorului de control în orice punct din program (Goto);

Programarea structurată este utilizat în mod eficient pentru a rezolva diverse probleme matematice cu caracter algoritmică