- Kilmė
- charakteristikos
- Struktūrizuota programavimo teorija
- Valdymo struktūros
- Seka arba tiesinė struktūra
- Sprendimo struktūra arba alternatyvos
- Kilpa arba kartojama struktūra su pradiniu klausimu
- Nepriklauso nuo programavimo kalbos
- Struktūriniai programavimo pavyzdžiai
- Seka
- Kartojimas
- Pasirinkimas
- Struktūrizuotas programavimas „Visual Basic“
- Seka
- Kartojimas
- Pasirinkimas
- Privalumas
- Aiškesnės programos
- Lengvas supratimas
- Trūkumai
- Tas pats kodas pakartotas
- Keisti duomenų tipus yra sudėtinga
- Programos
- Objektų tvarkymas
- Nuorodos
Struktūrinis programavimas yra projektavimo ir statybos įrangą, siekiant nuostata geriau valdyti sudėtingumą, atsižvelgiant į žmogaus minties ypatumus. Kiekviena programa pagrįsta algoritmu ir gali būti pavaizduota logine schema.
Tai atsirado dėl didėjančio kompiuterizuotų programų sudėtingumo. Tai tapo nauja programavimo schema, sukūrusia naujus metodus, leidžiančius gaminti programas, kurios yra saugios ilgiau veikti.
Sprendimų struktūra ir sekos struktūra struktūrizuotame programavime. Šaltinis: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Dėl greito kompiuterinio duomenų apdorojimo tobulėjimo septintojo dešimtmečio pabaigoje buvo galima išspręsti vis sudėtingesnes problemas. Tačiau suprantant, derinant ir modifikuojant šias programas kilo sunkumų, dėl kurių jie tapo nepatikimi.
Šioms problemoms pritaikytos didelės kompiuterių programos turėjo tokius kodus, kurių ilgosios ir nestruktūrizuotos, kad jas naudoti buvo gana sudėtinga, net ir jų pačių autoriams.
Kilmė
Programuotojai naudojo komandą „goto“ programavimo kalbose tam, kad atliktų sąlyginį šakojimąsi, kuris dažnai lėmė skaitomumą ir nebuvo išsaugotas loginis kontekstas.
Toje programinės įrangos krizėje buvo pradėta svarstyti, ar galima sistemingai kurti bendrą ir drausmingą metodiką, kuri leistų tobulinti programas. Kaip atsakas į šį požiūrį gimė struktūrinio programavimo metodas.
1968 m. Dijkstra paskelbė straipsnį „Eik, įsakymas laikomas žalingu“, kuriame jis pabrėžė, kad neatsakingas šios komandos naudojimas turėjo neigiamos įtakos kompiuterių programų skaitomumui ir supratimui.
Niklaus Wirthas sukūrė naują programavimo kalbą, pavadintą Pascal, išleistą 1970 m. Nuo to laiko ji buvo plačiai naudojama mokyti struktūrizuoto programavimo projektavimo.
charakteristikos
Šis programavimo režimas pasižymi tuo, kad programuotojai gali suskaidyti savo programų šaltinio kodus į logiškai struktūruotus blokus, susidedančius iš kilpų, loginių blokų ir sąlyginių komandų.
Struktūrinio programavimo tikslas yra sudaryti programas, kurias būtų lengva rašyti, derinti ir modifikuoti. Gautos programos yra aiškios, išdėstytos, suprantamos, be šuolių.
Struktūrizuota programavimo teorija
Dijkstra sukūrė su struktūrizuotu programavimu susietą teoriją, kuri nurodė, kad kuriant bet kurią programą patogu atsižvelgti į šiuos pagrindus:
- Struktūrinė teorema, teigianti, kad bet kurią programą galima sudaryti naudojant tik tris esmines valdymo struktūras: nuoseklią struktūrą, alternatyvią struktūrą ir pasikartojančią struktūrą.
- Rengiant programas, raginama taikyti mažėjančią techniką, taip pat vadinamą iš viršaus į apačią.
- Kintamųjų ir duomenų struktūrų tinkamumo ir matomumo diapazonai turi būti riboti.
Valdymo struktūros
Struktūrinė teorema rodo, kad bet kuris algoritmas, turintis vieną pradžios ir pabaigos tašką, gali būti sudarytas iš trijų valdymo struktūrų.
Logiškai ir aiškiai užprogramuodamas šias palaikomas valdymo struktūras, struktūrizuotas programavimas įgalina efektyvų požiūrį į bet kokio sunkumo funkcijas.
Seka arba tiesinė struktūra
Ši struktūra yra tiesiog dviejų ar daugiau operacijų ar komandų seka ar paeiliui.
Sprendimo struktūra arba alternatyvos
Tai komandos pasirinkimas tarp dviejų galimų alternatyvų. Taip pat leidžiama rinktis iš daugiau nei dviejų alternatyvų.
Kilpa arba kartojama struktūra su pradiniu klausimu
Tam tikros komandos kartojamos tol, kol įvykdoma tam tikra sąlyga. Ciklą taip pat galima atlikti su skaitikliu.
Nepriklauso nuo programavimo kalbos
Struktūrinis programavimas grindžiamas aiškiai apibrėžtais funkciniais moduliais, suskirstytais pagal specifinį problemos pobūdį. Šis programavimas yra savarankiškas programavimo kalbos metodas, veikiantis labiau kaip programavimo stilius.
Tai būdas sukurti programas laikantis nusistovėjusių taisyklių, naudojant tam tikrą kontrolės struktūrų rinkinį.
Struktūrinis programavimas leidžia programas rašyti pseudokodais, neatsižvelgiant į mašinos kalbą, beveik natūralias, konvertuojamas į bet kurią programavimo kalbą.
Struktūriniai programavimo pavyzdžiai
Beveik bet koks šiuolaikinės programavimo kalbos kodo fragmentas bus struktūrizuoto programavimo pavyzdys.
Šis programavimas naudoja kilpas, sąlygines ir paprogrames srautui ir moduliacijai valdyti, kad kodą būtų lengviau skaityti ir naudoti dar kartą.
Seka
Teiginių sąrašas gali būti vykdomas eilės tvarka iš viršaus į apačią. Tokiu atveju kaip pavyzdys pateikiama natūralios kalbos programa, skirta duonos kepimui:
- Įpilkite miltų.
- Įpilkite mielių.
- Įpilkite druskos.
- Sumaišykite.
- Įpilkite vandens.
- Minkyti.
- Leiskite tešlai kilti.
- Kepti.
Kartojimas
Teiginių blokas kartojamas, jei tikra sąlyga yra teisinga. Pvz .: plauti indus.
Pasirinkimas
Daugiausiai vienas veiksmas pasirenkamas iš kelių alternatyvių sąlygų. Pvz .: užsisakykite paštą.
Struktūrizuotas programavimas „Visual Basic“
Seka
Kodo eilutės ar blokai rašomi ir vykdomi seka. Pavyzdžiui, jūs turite:
x = 6
y = 12
z = x + y
„WriteLine“ (z)
Kartojimas
Kodo blokas kartojamas, kai įvykdoma viena iš sąlygų. Kiek kartų blokavimas gali būti įvykdytas, neribojama. Pavyzdys:
x = 2
Tol, kol x <100
„WriteLine“ (x)
x = x * x
Galas
Pasirinkimas
Kodo blokas vykdomas, jei sąlyga yra tiesa. Kodo blokas veikia daugiausia vieną kartą. Pavyzdys:
x = „ReadLine“ ()
Jei x Mod 2 = 0
„WriteLine“ („Skaičius yra lygus“)
Taip, pabaiga
Privalumas
- Tai programos, tenkinančios klientų poreikius.
- Nors iš pradžių kodo generavimas užtrunka ilgiau, dažnai jo rezultatas yra kodas, kuris pirmą kartą paleidžiant veikia be klaidų.
- Tai panašu į žodžių ir simbolių žodyną anglų kalba.
- Ateityje nesunku sutvarkyti programos pakeitimus su naujomis specifikacijomis.
- Juos lengviau prižiūrėti.
- Tai lengva naudoti ir suprasti. Galiausiai kodo rašymui reikia mažiau laiko. Tai lengviau išmokti.
- Aukšto lygio kalba parašytą programą galima išversti į daugelį mašinų kalbų. Todėl jį galima paleisti bet kuriame kompiuteryje, kuriam yra tinkamas vertėjas ar sudarytojas.
- Jie pirmiausia yra orientuoti į problemas, o ne į mašinas.
- Tai nepriklauso nuo kompiuterio, kuriame jis naudojamas. Kitaip tariant, aukšto lygio kalbomis sukurtos programos gali būti vykdomos bet kuriame kompiuteryje.
Aiškesnės programos
Struktūrinis programavimas sumažina galimybę, kad viena funkcija paveiks kitą. Tai daro programas aiškesnes, nes pašalinami globalieji kintamieji, kad būtų pakeisti vietiniais kintamaisiais.
Dėl šio pakeitimo galima išsaugoti atminties skyrimo vietą, kurią užima globalus kintamasis.
Lengvas supratimas
Organizacija padeda lengvai suprasti programavimo logiką, kad suprastų programų logiką.
Tai taip pat padeda bet kurios technologijos kompanijos naujokams suprasti kitų pramonės darbuotojų sukurtas programas, taip palengvinant galimą kodo derinimo procesą.
Trūkumai
- Vertėjas arba sudarytojas turi išversti aukšto lygio kalbą į mašinų kalbą. Todėl už kompiuterio laiką reikia mokėti.
- Kompiliatoriaus sukurtas objekto kodas gali būti neefektyvus, palyginti su lygiaverte surinkimo kalbos programa.
Tas pats kodas pakartotas
Parašytas kodas gali būti rodomas skirtingose programos dalyse. Dėl savo vietos jis gali būti pažeidžiamas įvairių problemų. Programos turi kintamuosius, tai reiškia, kad skirtingose programos dalyse jos gali paimti skirtingas vertes.
Keisti duomenų tipus yra sudėtinga
Duomenų tipas priklauso nuo daugelio funkcijų. Todėl, kai keičiami to tipo duomenys, atitinkamas pakeitimas turi būti atliktas kiekvienoje vietoje, kuri veikia to tipo duomenis programoje. Tai labai daug laiko reikalaujanti užduotis, jei programa yra labai didelė.
Galima apsvarstyti programinės įrangos kūrimo atvejį, kai keli programuotojai programoje dirba kaip komanda. Kiekvienoje programuotojoje struktūrizuotoje programoje bus paskirta sukurti tam tikrą funkcijų ir duomenų tipų rinkinį.
Todėl skirtingi programuotojai atskirai valdys skirtingas funkcijas, kurių duomenų tipai yra dalijami tarpusavyje.
Kiti komandos programuotojai turėtų atspindėti programuotojo atliktų duomenų tipų, jų tvarkomų duomenų tipų pokyčius. Priešingu atveju turėsite perrašyti kelias funkcijas.
Programos
Struktūrinis programavimas gerai veikė milijonus programų ir milijardus kodų eilučių. Nėra jokios priežasties jo atsisakyti.
Visų pirma, jis ypač gerai dirbo su programomis, kurios apdoroja duomenis, ir su numerių apdorojimu, kurios abi yra paleidžiamos vieną kartą, kad gautų atsakymą.
Dvi savybės paprastai apibūdina problemas, į kurias galima spręsti grynai struktūrizuotai:
- Tvarkomi duomenys tiksliai atitinka duomenų, kurie yra integruoti į kalbą, tipus, paprastai skaičius ir ženklų eilutes.
- Programa seka tiksliai apibrėžtą valdymo srautą, kad gautų vieną rezultatą, pagrįstą tam tikrais įvestimis.
Kompiuterių programos, turinčios šias charakteristikas, be daugelio tradicinių informatikos kursų vadovėlių pavyzdžių, apima daugybę mokslo, inžinerijos ir tekstų apdorojimo programų.
Nenuostabu, kad tai yra būtent tokios programos, kurias norėjo išspręsti pirmieji žmonės, kurie išrado programavimo kalbas.
Objektų tvarkymas
Daugelio šiuolaikinių programavimo kalbų struktūra yra tokia: tai, ką turite savo programoje, yra objektai, o didžiąją dalį kodo sudaro skirtingi tuose objektuose saugomų duomenų naudojimo metodai.
Paprastai struktūrizuota programa kontroliuoja, kas vyksta ir kada įvyksta, tuo tarpu įvykiais pagrįsta programa turi sugebėti reaguoti į įvykius nenuspėjamu metu.
Nuorodos
- MVPS (2020 m.). Struktūrinis programavimas. Paimta iš: mvps.net.
- Aleksejus (2019). Struktūrinė programavimo paradigma. Vidutinis. Paimta iš: medium.com.
- Įtraukite „Pagalba“ (2020 m.). Struktūrizuotas programavimas, jo privalumai ir trūkumai. Paimta iš: includehelp.com.
- Timas Trotas (2019 m.). Struktūrinės programavimo kalbos. „Lonewolf Online“. Paimta iš: lonewolfonline.net.
- OO portalas (2020). Tradicinio, struktūrizuoto programavimo naudojimo būdai ir pranašumai. Paimta iš: ooportal.com.
- Studeer Snel (2020). Galutinė peržiūra - struktūrinių programavimo programų santrauka. Paimta iš: studeersnel.nl.