- Poreklo
- značilnosti
- Teorija strukturiranega programiranja
- Nadzorne strukture
- Zaporedje ali linearna struktura
- Struktura odločitve ali druge možnosti
- Zanka ali ponavljajoča se struktura z začetnim vprašanjem
- Neodvisno od programskega jezika
- Primeri strukturiranega programiranja
- Zaporedje
- Ponovitev
- Izbor
- Strukturirano programiranje v Visual Basic
- Zaporedje
- Ponovitev
- Izbor
- Prednost
- Jasnejši programi
- Enostavno razumevanje
- Slabosti
- Ponovljena ista koda
- Zamenjati vrste podatkov je okorno
- Prijave
- Ravnanje s predmeti
- Reference
Strukturirano programiranje je določba v projektiranje in gradnjo programske opreme, da bi za boljše upravljanje kompleksnosti, pri čemer se upoštevajo posebnosti človeškega mišljenja. Vsak program temelji na algoritmu in je lahko predstavljen z logično shemo.
Izhaja iz vse večje zapletenosti računalniških programov. Postala je nova programska shema, ki je ustvarila nove tehnike, da bi lahko ustvarili programe, ki so varni za daljše delovanje.
Struktura odločitve in struktura zaporedja v strukturiranem programiranju. Vir: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Zahvaljujoč hitrem razvoju računalniške obdelave podatkov je bilo v poznih šestdesetih letih mogoče rešiti vse bolj zapletene težave. Vendar so razumevanje, odpravljanje napak in spreminjanje teh programov predstavljalo težave, zaradi katerih so bili nezanesljivi.
Veliki računalniški programi, narejeni za te težave, so imeli izvorne kode tako dolge in nestrukturirane, da so postali dostop do in krmarjenje po neki logiki precej zapleteni, tudi za svoje avtorje.
Poreklo
Programerji so v programskih jezikih uporabili ukaz "goto", da so izvedli pogojno razvejanje, kar je pogosto vodilo do berljivosti in logični kontekst ni bil ohranjen.
V tej programski krizi se je začelo razmišljati, ali bi bilo mogoče sistematično razvijati splošno in disciplinirano metodologijo, ki bi omogočila bolj izpopolnjene programe. Kot odgovor na ta pristop se je rodila metoda strukturiranega programiranja.
Dijkstra je leta 1968 objavil članek "Goto, ukaz se šteje za škodljivega", kjer je opozoril, da bi neselektivna uporaba tega ukaza negativno vplivala na berljivost in razumevanje računalniških programov.
Niklaus Wirth je zasnoval nov programski jezik, imenovan Pascal, ki je izšel leta 1970. Od takrat se je veliko uporabljal za poučevanje oblikovanja strukturiranega programiranja.
značilnosti
Za ta način programiranja je značilno, da lahko programerji delijo izvorno kodo svojih programov v logično strukturirane bloke, ki so sestavljeni iz zank, logičnih blokov in pogojnih ukazov.
Cilj strukturiranega programiranja je narediti programe, ki jih je enostavno pisati, odpravljati napake in spreminjati. Pridobljeni programi so jasni, urejeni, razumljivi, brez skokov.
Teorija strukturiranega programiranja
Dijkstra je zasnovala teorijo, povezano s strukturiranim programiranjem, ki je pokazala, da je pri načrtovanju katerega koli programa priročno upoštevati naslednje temelje:
- strukturni izrek, ki navaja, da se kateri koli program lahko sestavi z uporabo samo treh bistvenih kontrolnih struktur: zaporedne strukture, alternativne strukture in ponavljajoče se strukture.
- Pri opisovanju programov se priporoča uporaba padajoče tehnike, imenovane tudi od zgoraj navzdol.
- Območji veljavnosti in vidnosti spremenljivk in podatkovnih struktur morajo biti omejeni.
Nadzorne strukture
Strukturni izrek kaže, da je kateri koli algoritem z eno samo začetno in končno točko lahko sestavljen kot sestava treh kontrolnih struktur.
Z logičnim in jasnim programiranjem teh podprtih kontrolnih struktur strukturirano programiranje omogoča učinkovit pristop k funkcijam s kakršno koli stopnjo težav.
Zaporedje ali linearna struktura
Ta struktura je preprosto zaporedje ali zaporedje dveh ali več operacij ali ukazov.
Struktura odločitve ali druge možnosti
Gre za izbiro ukaza med dvema možnima možnostoma. Prav tako je mogoče izbirati med več kot dvema možnostima.
Zanka ali ponavljajoča se struktura z začetnim vprašanjem
Določeni ukazi se ponavljajo, dokler je izpolnjen določen pogoj. Cikel se lahko izvede tudi s števcem.
Neodvisno od programskega jezika
Strukturirano programiranje temelji na dobro opredeljenih funkcionalnih modulih, razvrščenih glede na specifičnost problema. To programiranje je neodvisna metoda programskega jezika, ki deluje bolj kot slog programiranja.
To je način oblikovanja programov po dobro uveljavljenih pravilih z uporabo določenega sklopa kontrolnih struktur.
Strukturirano programiranje omogoča pisanje programov v psevdokodi, ne glede na strojni jezik, blizu naravnega, pretvorljiv v kateri koli programski jezik.
Primeri strukturiranega programiranja
Skoraj vsak delček vzorčne kode v katerem koli sodobnem programskem jeziku bo primer strukturiranega programiranja.
To programiranje uporablja zanke, pogojevanje in podprograme za nadzor pretoka in modularnosti, da bi olajšali branje in ponovno uporabo kode.
Zaporedje
Seznam stavkov se lahko izvede v vrstnem redu, od zgoraj navzdol. V tem primeru je kot primer naveden program naravnega jezika za peko kruha:
- Dodajte moko.
- Dodajte kvas.
- Dodajte sol.
- Premešaj.
- Dodajte vodo.
- Oblikovati.
- Testo pustimo vzhajati.
- Speči.
Ponovitev
Blok izjav se ponovi, dokler je pogoj resničen. Na primer: pomivanje posode.
Izbor
Največkrat se izbere eno izmed več alternativnih pogojev. Na primer: naročite pošto.
Strukturirano programiranje v Visual Basic
Zaporedje
Vrstice ali bloki kode se zapišejo in izvedejo v zaporednem zaporedju. Na primer, imate:
x = 6
y = 12
z = x + y
WriteLine (z)
Ponovitev
Ko je pogoj izpolnjen, se kodni blok ponovi. Število izvedb bloka ni omejeno. Primer:
x = 2
Dokler je x <100
WriteLine (x)
x = x * x
Konec
Izbor
Blok kode se izvede, če je pogoj resničen. Blok kode se izvaja največ enkrat. Primer:
x = ReadLine ()
Če je x Mod 2 = 0
WriteLine ("Številka je enaka")
Konec da
Prednost
- So programi, ki ustrezajo potrebam strank.
- Čeprav prvotno generiranje kode traja dlje, pogosto povzroči kodo, ki deluje brez napak pri prvem zagonu.
- Podobno je besedišču besed in simbolov v angleščini.
- Spremembe v programu je enostavno obvladovati z novimi specifikacijami v prihodnosti.
- Lažje jih je vzdrževati.
- Je enostaven za uporabo in razumevanje. Sčasoma je za pisanje kode potrebno manj časa. Lažje se je učiti.
- Program, napisan v jeziku na visoki ravni, je mogoče prevesti v številne strojne jezike. Zato ga je mogoče zagnati na katerem koli računalniku, za katerega je primeren prevajalec ali prevajalnik.
- Predvsem so usmerjeni v problem, ne pa strojno.
- Ne glede na računalnik, v katerem se uporablja. Z drugimi besedami, programe, razvite v jezikih na visoki ravni, je mogoče zagnati na katerem koli računalniku.
Jasnejši programi
Strukturirano programiranje zmanjšuje možnost, da bo ena funkcija vplivala na drugo. To naredi programe bolj jasne, saj se globalne spremenljivke odstranijo in jih nadomestijo lokalne spremenljivke.
Zaradi te spremembe se lahko shrani prostor za dodelitev pomnilnika, ki ga zaseda globalna spremenljivka.
Enostavno razumevanje
Organizacija pomaga enostavno razumeti programsko logiko, da bi razumeli logiko programov.
Novinci iz katerega koli tehnološkega podjetja pomaga tudi razumeti programe, ki jih ustvarijo drugi delavci v industriji, in tako olajša morebitno odpravljanje napak pri kodi.
Slabosti
- Prevajalec ali prevajalnik mora prevesti jezik na visoki ravni v strojni jezik. Zato je treba v času uporabe računalnika plačati ceno.
- Objektna koda, ki jo ustvari prevajalnik, je lahko neučinkovita v primerjavi z enakovrednim programom jezika montaže.
Ponovljena ista koda
Koda, ki je napisana, se lahko pojavi v različnih delih programa. Zaradi svoje lokacije je lahko ranljiv za različne težave. Programi imajo spremenljivke, kar pomeni, da lahko v različnih delih programa sprejmejo različne vrednosti.
Zamenjati vrste podatkov je okorno
Vrsta podatkov izvira iz številnih funkcij. Kadar se pri tej vrsti podatkov pojavijo spremembe, je treba na vsaki lokaciji, ki deluje na to vrsto podatkov v programu, opraviti ustrezne spremembe. Če je program zelo obsežen, je to zelo zamudno opravilo.
Razmislite lahko o primeru razvoja programske opreme, kjer več programerjev deluje kot ekipa v aplikaciji. V strukturiranem programu bo vsak programer dodeljen za izdelavo določenega niza funkcij in vrst podatkov.
Zato bodo različni programerji ločeno ravnali z različnimi funkcijami, ki imajo med seboj skupne podatke.
Ostali programerji v skupini bi morali odražati spremembe v vrstah podatkov, ki jih je naredil programer, v vrstah podatkov, ki so jih obravnavali. V nasprotnem primeru bo treba na novo napisati več funkcij.
Prijave
Strukturirano programiranje je dobro uspelo za milijone programov in milijarde kodnih vrstic. Ni razloga, da bi ga zavrgli.
Zlasti je izredno dobro deloval pri programih, ki obdelujejo podatke, in za obdelavo številk, ki se oba izvajata enkrat, da ustvari odziv.
Dve značilnosti ponavadi dobro definirata težave, na katere se lahko lotimo povsem strukturirano:
- Podatki, ki jih je treba obdelati, se natančno ujemajo z vrstami podatkov, ki so integrirani v jezik, običajno so številke in znakovni nizi.
- Program sledi dobro definiranemu toku pretoka, da ustvari en rezultat na podlagi nekaterih vložkov.
Računalniški programi s temi značilnostmi poleg številnih primerov učbenikov tradicionalnih tečajev računalništva vključujejo številne znanstvene, inženirske in obdelave besedil.
Ni presenetljivo, da so to točno takšni programi, ki so jih prvi ljudje, ki so izumili programske jezike, želeli rešiti.
Ravnanje s predmeti
Večina sodobnih programskih jezikov je strukturirana na tak način: v programu imate predmete, večina kode pa je sestavljena iz različnih načinov uporabe podatkov, shranjenih v teh objektih.
Strukturiran program ima na splošno nadzor nad tem, kaj se zgodi in kdaj se zgodi, medtem ko mora program, ki temelji na dogodkih, biti sposoben odzivati na dogodke v nepredvidljivih časih.
Reference
- MVPS (2020). Strukturirano programiranje. Vzeto iz: mvps.net.
- Aleksej (2019). Paradigma strukturiranega programiranja. Srednja. Vzeto s: medium.com.
- Vključi pomoč (2020). Strukturirano programiranje, njegove prednosti in slabosti. Vzeto iz: includehelp.com.
- Tim Trott (2019). Strukturirani jeziki programiranja. Lonewolf Online. Vzeto iz: lonewolfonline.net.
- Portal OO (2020). Uporaba in prednosti tradicionalnega, strukturiranega programiranja. Izvedeno iz: ooportal.com.
- Studeer Snel (2020). Končni pregled - Povzetek aplikacij za strukturirano programiranje. Vzeto iz: studeersnel.nl.