|  |  |
| --- | --- |
|    | **Šiam straipsniui ar jo daliai trūksta išnašų į šaltinius.**Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |

**Struktūrinis programavimas** – procedūrinio programavimo porūšis, viena pagrindinių programavimo paradigmų. Vienas žymiausių struktūrinio programavimo bruožų – GOTO sakinių eliminavimas.

Yra keletas struktūrinio programavimo metodologijų. Dažniausios – Jaksono, kuri remiasi duomenų struktūrų ir programos struktūros gretinimu; taip pat Dijkstros, kuri remiasi programos dalinimu į posistemes, turinčias tik vieną įėjimo ir vieną išėjimo tašką. Vartojant struktūrinio programavimo terminą, dažniausiai turima galvoje pastaroji metodologija.

Struktūriškai programuoti galima beveik bet kuria programavimo kalba, bet nuo maždaug 1970 metų, kai pradėjo populiarėti struktūrinis programavimas, naujos procedūrinio programavimo kalbos turėjo papildomų priemonių, skatinančių struktūriškai programuoti. Žinomesnės struktūrinio programavimo kalbos – Pascal ir Ada.

XX amžiaus pabaigoje struktūrinį programavimą pradėjo keisti pažangesnis objektinis programavimas, leidžiantis kurti sudėtingesnes struktūras (objektus), apjungiančias ir programos dalis, ir duomenis.

Nestruktūrinio programavimo kalbose programos eiga valdoma GOTO sakiniais, perkeliančiais vykdymą į tam tikrą kodo eilutę. Tuo tarpu struktūrinio programavimo kalbose naudojami sąlyginiai bei ciklo sakiniai ((„if – then – else", „switch", „unless", „while", „until", ir „for"), kuriais galima sudaryti vykdymo atšakas. Dauguma kalbų taip pat turi ir GOTO galimybę, kuri daugiausiai naudojama per didelio gylio vidinių struktūrų eliminavimui bei kritinėms klaidoms apdoroti.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| Ž • A • RInformatikos sritys |
| --- |
|  |
| Matematinė bazė | 
Būlio (logikos) algebra • Diskrečioji matematika • Grafų teorija • Informacijos teorija • Tikimybių teorija • Statistika |
|  |
| Teorinė informatika | 
Algoritminė informacijos teorija • Tiuringo mašina • Kriptografija • Algoritmų bei jų sudėtingumo tyrimai • Matematinė logika • Formalios kalbos • Tipų teorija • Rikiavimo algoritmų sudėtingumas |
|  |
| Taikomoji informatika | 
Bioinformatika • Geoinformatika • Ekonominė informatika • Neuroinformatika |
|  |
| Programinė įranga | 
Lygiagretusis programavimas • Programų specifikavimas • Programų patikrinimas • Programavimo technika • Programavimo kalbos • Operacinės sistemos • Kompiliatoriai (leksinė analizė) |
|  |
| Programų inžinerija | 
Optimizavimas • Programų metrikos • Konfigūracijų valdymas • Funkcinis programavimas • Struktūrinis programavimas • Objektinis programų kūrimas • Komponentinis programavimas • Šablonai • Atviras kodas |
|  |
| Duomenų ir informacijos sistemos | 
Duomenų struktūros • Duomenų vaizdavimas • Duomenų suspaudimas • Bylos • Bylų formatai • Informacinės sistemos • Duomenų bazės • Informacijos saugojimas |
|  |
| Skaičiavimo metodologijos | 
Dirbtinis intelektas • Kompiuterinė grafika • Vaizdų apdorojimas • Balso atpažinimas • Modeliavimas • Dokumentų ir teksto apdorojimas • Skaitmeninių signalų apdorojimas |

 |