În lumea programării computerelor, programarea structurată este o construcție logică care permite funcționarea eficientă a unui program. Având în vedere acest lucru, mulți programatori îl înțeleg ca fiind una dintre disciplinele care alcătuiesc procesul general de programare procedurală. Unul dintre avantajele implementării unui model structurat de programare este capacitatea de a elimina – sau cel puțin de a reduce – necesitatea utilizării instrucțiunii GOTO.
Compoziția esențială a oricărui tip de programare structurată tinde să includă trei elemente de bază: concatenare, selecție și repetiție. Concatenarea are de-a face cu succesiunea logică a instrucțiunilor care alcătuiesc elementele de bază ale ordinului de executat. Fiecare pas din secvență trebuie să progreseze logic la pasul următor fără a invoca activități nedorite.
Etapa de selecție permite selectarea oricăreia dintre un număr de instrucțiuni de executat, pe baza stării curente a programului. În general, instrucțiunile de selecție vor conține cuvinte cheie care ajută la identificarea comenzii ca un executabil logic, cum ar fi „dacă”, „atunci”, „endif” sau „comutați”.
O a treia componentă este repetarea. În cadrul acestui element, o instrucțiune selectată rămâne activă până când programul ajunge la un punct în care este nevoie să aibă loc o altă acțiune. O repetiție va include, în mod normal, cuvinte cheie precum „repetă”, „pentru” sau „face… până la”. În esență, repetarea indică programului cât timp va continua funcția înainte de a solicita instrucțiuni suplimentare.
Natura exactă a programării structurate va varia, în funcție de scopul și funcția programului. Majoritatea formularelor vor începe cu un singur punct de intrare, dar pot permite mai mult de un punct de ieșire. Unele tipuri, uneori numite programare modulară, vor permite crearea de subseturi sau module în structura generală a programului care interacționează între ele, pe baza tipului de ordine care este executată.