- Podrijetlo
- karakteristike
- Teorija strukturiranog programiranja
- Kontrolne strukture
- Sekvenca ili linearna struktura
- Struktura odluke ili alternative
- Početno pitanje ima petlju ili ponavljajuću strukturu
- Neovisno o programskom jeziku
- Primjeri strukturiranog programiranja
- Slijed
- Ponavljanje
- Izbor
- Strukturirano programiranje u Visual Basic
- Slijed
- Ponavljanje
- Izbor
- Prednost
- Jasniji programi
- Lako razumijevanje
- Nedostaci
- Isti se kod ponovio
- Zamjenjiva je promjena vrsta podataka
- Prijave
- Rukovanje objektima
- Reference
Strukturirano programiranje je odredba u projektiranju i izgradnji softvera, kako bi se bolje upravljati složenosti, uzimajući u obzir specifičnosti ljudske misli. Svaki se program temelji na algoritmu i može biti predstavljen logičkom shemom.
Nastala je iz sve veće složenosti računalnih programa. Postala je nova programska shema koja je stvorila nove tehnike kako bi se mogli proizvesti programi koji su sigurni za rad duže.
Struktura odluke i struktura slijeda u strukturiranom programiranju. Izvor: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Zahvaljujući brzom razvoju računalne obrade podataka, u kasnim 1960-ima bilo je moguće riješiti sve složenije probleme. Međutim, razumijevanje, uklanjanje pogrešaka i izmjena ovih programa predstavljali su poteškoće zbog kojih su postali nepouzdani.
Veliki računalni programi napravljeni za ove probleme imali su izvorne kodove toliko dugačke i nestrukturirane da su im pristupili i navigavali se nekim logikom, čak i za vlastite autore.
Podrijetlo
Programeri su u programskim jezicima koristili naredbu "goto" da bi izveli uvjetno grananje, što je često dovodilo do čitljivosti, a logički kontekst nije sačuvan.
U toj se softverskoj krizi počelo razmatrati može li se sustavno razvijati opća i disciplinirana metodologija koja bi omogućila više rafiniranih programa. Kao odgovor na ovaj pristup nastala je metoda strukturiranog programiranja.
Dijkstra je 1968. objavio članak "Goto, naredba se smatra štetnim", gdje je istaknuo da neselektivna uporaba ove naredbe negativno utječe na čitljivost i razumijevanje računalnih programa.
Niklaus Wirth osmislio je novi programski jezik pod nazivom Pascal, objavljen 1970. Od tada se intenzivno koristi za podučavanje dizajna strukturiranog programiranja.
karakteristike
Ovaj način programiranja karakterizira činjenica da programeri mogu fragmentirati izvorni kod svojih programa u logički strukturirane blokove, koji se sastoje od petlji, logičkih blokova i uvjetnih naredbi.
Cilj strukturiranog programiranja je napraviti programe koji se lako pišu, otklanjaju pogreške i mijenjaju. Dobiveni programi su jasni, uređeni, razumljivi, bez skokova.
Teorija strukturiranog programiranja
Dijkstra je osmislio teoriju povezanu sa strukturiranim programiranjem koja je ukazivala da je pri dizajniranju bilo kojeg programa prikladno uzeti u obzir sljedeće temelje:
- Strukturalna teorema koja kaže da se bilo koji program može sastaviti koristeći samo tri bitne upravljačke strukture: sekvencijalnu strukturu, alternativnu strukturu i ponavljajuću strukturu.
- Kad se iznose programi, preporučuje se silazna tehnika koja se također naziva odozgo prema dolje.
- Rasponi valjanosti i vidljivosti varijabli i struktura podataka moraju biti ograničeni.
Kontrolne strukture
Strukturna teorema ukazuje na to da se svaki algoritam s jednom početnom i završnom točkom može sastojati kao sastav tri upravljačke strukture.
Logično i jasno programiranje ovih podržanih upravljačkih struktura, strukturirano programiranje omogućava učinkovit pristup funkcijama s bilo kojim stupnjem poteškoće.
Sekvenca ili linearna struktura
Ta je struktura jednostavno slijed ili sukcesija dviju ili više operacija ili naredbi.
Struktura odluke ili alternative
To je izbor naredbe između dvije moguće alternative. Također je moguće birati između više od dvije alternative.
Početno pitanje ima petlju ili ponavljajuću strukturu
Određene naredbe ponavljaju se sve dok je ispunjen određeni uvjet. Ciklus se također može izvesti brojilom.
Neovisno o programskom jeziku
Strukturirano programiranje temelji se na dobro definiranim funkcionalnim modulima, rangiranim prema specifičnosti problema. Ovo programiranje je neovisna metoda programskog jezika, djeluje više kao stil programiranja.
To je način osmišljavanja programa koji slijede dobro utvrđena pravila, koristeći pritom određeni skup kontrolnih struktura.
Strukturirano programiranje omogućava pisanje programa u pseudokodu, bez obzira na strojni jezik, blizu prirodnom, pretvarajući se u bilo koji programski jezik.
Primjeri strukturiranog programiranja
Gotovo svaki isječak koda uzorka u bilo kojem modernom programskom jeziku bit će primjer strukturiranog programiranja.
Ovo programiranje koristi petlje, uvjetovanja i podprograme za kontrolu protoka i modularnosti za olakšavanje čitanja i ponovne upotrebe koda.
Slijed
Popis izjava može se izvršiti redom, od vrha do dna. U ovom je slučaju kao primjer naveden program prirodnog jezika za pečenje kruha:
- Dodajte brašno.
- Dodajte kvasac.
- Dodajte sol.
- Miješati.
- Dodajte vodu.
- Mijesiti.
- Pustite da se tijesto digne.
- Ispeći.
Ponavljanje
Blok izjava ponavlja se sve dok je uvjet istinit. Na primjer: pranje posuđa.
Izbor
Najviše se jedna radnja bira iz nekoliko alternativnih uvjeta. Na primjer: naručite poštu.
Strukturirano programiranje u Visual Basic
Slijed
Linije ili blokovi koda pišu se i izvršavaju redoslijedom. Na primjer, imate:
x = 6
y = 12
z = x + y
WriteLine (z)
Ponavljanje
Blok kodova ponavlja se dok je ispunjen uvjet. Ne postoji ograničenje broja izvršavanja bloka. Primjer:
x = 2
Sve dok je x <100
WriteLine (x)
x = x * x
Kraj
Izbor
Blok koda izvršava se ako je uvjet istinit. Blok koda radi najviše odjednom. Primjer:
x = ReadLine ()
Ako je x Mod 2 = 0
WriteLine ("Broj je paran")
Kraj da
Prednost
- To su programi koji zadovoljavaju potrebe kupaca.
- Iako je u početku potrebno duže vrijeme generirati kôd, to često rezultira kodom koji se pokreće bez pogreške prilikom prvog pokretanja.
- Sličan je rječniku riječi i simbola na engleskom jeziku.
- U budućnosti je lako upravljati promjenama u programu s novim specifikacijama.
- Lakše su za održavanje.
- Jednostavan je za upotrebu i razumijevanje. Na kraju je potrebno manje vremena za pisanje koda. Lakše je naučiti.
- Program napisan na jeziku visoke razine može se prevesti na mnoge strojne jezike. Stoga se može pokrenuti na bilo kojem računalu za koje postoji odgovarajući prevoditelj ili prevoditelj.
- Oni su prije svega problematični, a ne strojno orijentirani.
- Ne ovisi o računalu na kojem se koristi. Drugim riječima, programi razvijeni na jezicima visoke razine mogu se izvoditi na bilo kojem računalu.
Jasniji programi
Strukturirano programiranje smanjuje mogućnost da će jedna funkcija utjecati na drugu. To čini programe jasnijima jer se globalne varijable uklanjaju i zamjenjuju ih lokalnim varijablama.
Zbog ove promjene može se spremiti prostor za raspodjelu memorije koji globalna varijabla zauzima.
Lako razumijevanje
Organizacija pomaže lako razumjeti logiku programiranja, kako bi razumjeli logiku programa.
Također pomaže pridošlicama bilo koje tehnološke tvrtke da razumiju programe kreirane od strane drugih djelatnika u industriji, olakšavajući tako uklanjanje pogrešaka kodova.
Nedostaci
- Prevodilac ili prevoditelj mora prevesti jezik visoke razine u strojni jezik. Stoga se u korištenju računarskog vremena mora platiti cijena.
- Objektni kôd koji generira prevoditelj može biti neučinkovit u usporedbi s ekvivalentnim programom jezika montaže.
Isti se kod ponovio
Kôd koji je napisan može se pojaviti u različitim dijelovima programa. Zbog svog položaja može biti osjetljiv na razne probleme. Programi imaju varijable, što znači da mogu primiti različite vrijednosti u različitim dijelovima programa.
Zamjenjiva je promjena vrsta podataka
Vrsta podataka dolazi iz mnogih funkcija. Stoga, kad se promjene te vrste podataka pojave, odgovarajuće promjene moraju se izvršiti na svakom mjestu koje djeluje na tu vrstu podataka u programu. Ovo je zaista dugotrajan zadatak ako je program jako velik.
Može se razmotriti slučaj razvoja softvera, gdje nekoliko programera u tim aplikacijama radi kao tim. U strukturiranom programu, svakom programeru bit će dodijeljeno graditi određeni skup funkcija i vrsta podataka.
Stoga će različiti programeri zasebno rukovati različitim funkcijama koje međusobno dijele vrste podataka.
Ostali programeri u timu trebali bi odražavati promjene u vrstama podataka koje je napravio programer, u vrstama podataka s kojima su obrađivali. U protivnom će se morati preraditi više funkcija.
Prijave
Strukturirano programiranje dobro je funkcioniralo za milijune programa i milijarde redaka koda. Nema razloga da ga odbacite.
Konkretno, izuzetno je uspješan za programe koji obrađuju podatke i za obradu brojeva, a oba se izvode jednom za proizvodnju odgovora.
Dvije karakteristike obično dobro definiraju probleme kojima se može pristupiti na čisto strukturiran način:
- Podaci kojima se rukuje usko odgovaraju tipovima podataka koji su integrirani u jezik, obično su to brojevi i nizovi znakova.
- Program slijedi dobro definirani tijek kontrole za postizanje jedinstvenog rezultata na temelju nekih podataka.
Računalni programi s tim karakteristikama uključuju mnoge primjere znanstvenih, inženjerskih i obrada teksta, uz mnoge primjere iz udžbenika tradicionalnih tečajeva informatike.
Nije iznenađujuće da su upravo takve vrste programa željeli riješiti prvi ljudi koji su izmislili programske jezike.
Rukovanje objektima
Većina modernih programskih jezika strukturirana je na ovaj način: ono što imate u svom programu su objekti, a većina koda sastoji se od različitih metoda korištenja podataka pohranjenih u tim objektima.
Strukturirani program općenito ima kontrolu nad onim što se događa i kada se događa, dok program temeljen na događajima mora biti sposoban reagirati na događaje u nepredvidivim vremenima.
Reference
- MVPS (2020). Strukturirano programiranje. Preuzeto sa: mvps.net.
- Aleksej (2019.). Paradigma strukturiranog programiranja. Srednji. Preuzeto sa: medium.com.
- Uključite pomoć (2020). Strukturirano programiranje, njegove prednosti i nedostaci. Preuzeto sa: includehelp.com.
- Tim Trott (2019). Strukturirani jezici programiranja. Lonewolf Online. Preuzeto sa: lonewolfonline.net.
- Portal OO (2020). Koristi i prednosti tradicionalnog, strukturiranog programiranja. Preuzeto sa: ooportal.com.
- Studeer Snel (2020). Konačni pregled - Sažetak strukturiranih programskih aplikacija Preuzeto iz: studeersnel.nl.