Abordări dezvoltarea de algoritmi s-au schimbat pe parcursul evoluției calculatoarelor.
În epoca de 1 și a 2 generații au fost compuse din echipe de program, executat fie direct, fie aproape în mod direct de către un calculator (CPU). Această abordare orientată spre programarea executate direct printr-o operație de calculator, poate fi numit operațional.
programare structurată
Odată cu apariția a treia generație de tehnologie de programare depășite de calculator în masă a fost o constrângere majoră pentru dezvoltarea și distribuția tehnologiei (informații) de calculator, care a împins compania lider în acest domeniu de activitate, în special IBM, pentru a dezvolta noi metodologii de programare. Introdus la începutul anilor 1970, o nouă abordare a dezvoltării algoritmilor numite structurale. Această metodologie sa dovedit a fi atât de viabilă, care este încă mainstream într-un număr mare de proiecte. Baza acestei tehnologii constă în următoarele dispoziții:
Sarcina dificilă este împărțit în sarcini mai mici, mai ușor de gestionat funcțional. Fiecare sarcină are o intrare și o ieșire. În acest caz, fluxul de control al programului constă dintr-un set de sub-sarcini elementare, cu un scop funcțional clar.
Ușurința structurilor de control utilizate în sarcina. Structura logică a programului poate fi exprimată printr-o combinație de trei structuri de bază: repetiție, ramificare și buclă.
P

Aderența - cea mai importantă a structurilor. Aceasta înseamnă că, etapele pot fi efectuate una după alta (Fig. 1).
Aceste dreptunghiuri pot reprezenta atât o singură comandă sau un set de operatori necesare pentru a efectua prelucrarea datelor complicate.
Ramificare - o structură care oferă posibilitatea de a alege între două alternative. Un test este efectuat, apoi este selectată una dintre căile (Fig. 2).
Această structură este denumită în continuare „IF - THEN - ELSE“ sau „furculiță“. Fiecare dintre căile (sau APOI altceva) conduce la un punct de confluență comun, astfel încât execuția programului continuă, indiferent de calea pe care a fost selectat.
Este posibil ca unul din rezultatele testelor face orice nu este necesar. În acest caz, numai o singură unitate de procesare poate fi utilizată (Fig. 3).
Ciclul (sau repetare) prevede executarea repetată a unui set de instrucțiuni de program. În cazul în care nu există cicluri, este puțin probabil ca ocupație de programare ar fi justificată: ciclurile ne permit să scrie șiruri lungi de operațiuni de prelucrare a datelor cu un număr mic de intrări duplicat. Ciclul Soiurile prezentat în Fig. 4 și Fig. 5.


Ciclul „În timp ce“ începe cu un test al unei expresii logice. Dacă este adevărat. se realizează „Executare ca“, și apoi peste tot din nou, atâta timp cât expresia logică stochează valoarea „adevăr“. Odată ce devine fals. controlul este transferat programului (vezi. Fig. 4).
Într-o serie de „Înainte de“ condiții de verificare se efectuează după operatorii de ciclu ( „Run as“). Ciclul se repetă în cazul în care condiția este falsă. Odată ce devine adevărat. controlul este transferat programului (vezi. fig. 5).
Aceste trei structuri pot fi combinate unul cu altul - atât prin organizarea investigațiilor lor, precum și prin crearea superpoziții (atașarea o structură la alta) - arbitrar variat pentru exprimarea algoritm logic pentru rezolvarea oricărei probleme. Folosind structura descrisă, este posibil să se elimine complet utilizarea de salt necondiționat. care este o caracteristică importantă a programării structurate.
Direcția de execuție de instrucțiuni este adesea descris de sus în jos.
în

Poate cea mai importantă realizare a unei abordări structurate pentru dezvoltarea de algoritmi este un programe de design de sus în jos.