Struktureeritud programmeerimise kohaselt saab kogu programmi koostada kasutades vaid kolme tüüpi keelekonstruktsioone:
* "Jada" on lihtsalt üksteise järel käivitatavad käsud.
* "Valiku"puhulkorral käivitataksetäidetakse ükskäsud, käskudekui gruppmingi vastavalttingimus programmion olekuletäidetud. Valiku näideteksValikuteks on paljudes keeltes <code>if</code>- ja <code>switch</code>-lausendid.
* "Tsükli"puhulkorral käivitataksetäidetakse käskudemingit gruppikäsujada korduvalt, kuni programmmingi jõuabtingimus teatud olekussesaab või rakendatakselakkab neidolemast käske andmestruktuuri igale elemendiletäidetud. Tsükli näideteksTsükliteks on paljudes keeltes <code>while</code>-, <code>do ... until</code>- ja <code>for</code>-lausendid.
Nende keelekonstruktsioonide kasutamisel on programmi loogika inimesele palju kergemini hoomatav, sest kohad, kuhu programmi täitmise järgtäitmisjärg hüppab, on selgesti aimatavad, erinevalt goto kasutamisest, kus täitmisjärg võib hüpata suvalisse kohta programmis.