- Izcelsme
- raksturojums
- Strukturētās programmēšanas teorija
- Kontroles struktūras
- Secība vai lineārā struktūra
- Lēmuma struktūra vai alternatīvas
- Cilpa vai atkārtota struktūra ar sākotnējo jautājumu
- Neatkarīgs no programmēšanas valodas
- Strukturēti programmēšanas piemēri
- Secība
- Atkārtojums
- Atlase
- Strukturēta programmēšana Visual Basic
- Secība
- Atkārtojums
- Atlase
- Priekšrocība
- Skaidrākas programmas
- Viegla izpratne
- Trūkumi
- Tas pats kods atkārtots
- Datu veidu maiņa ir apgrūtinoša
- Lietojumprogrammas
- Objektu apstrāde
- Atsauces
Strukturēta programmēšana ir noteikums, projektēšanas un būvniecības programmatūru, lai labāk pārvaldīt sarežģītību, ņemot vērā īpatnības cilvēka domas. Katra programma ir balstīta uz algoritmu, un to var attēlot ar loģikas shēmu.
To radīja arvien pieaugošā datorizēto programmu sarežģītība. Tā ir kļuvusi par jaunu programmēšanas shēmu, kas radīja jaunas tehnikas, lai varētu ražot programmas, kuras ir drošas darbam ilgāk.
Lēmumu struktūra un secības struktūra strukturētā programmēšanā. Avots: I. Hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Pateicoties straujajai datorizētās datu apstrādes attīstībai, 60. gadu beigās bija iespējams atrisināt arvien sarežģītākas problēmas. Tomēr šo programmu izpratne, atkļūdošana un modificēšana radīja grūtības, kas padarīja tās neuzticamas.
Lielajām datorprogrammām, kas izstrādātas šīm problēmām, avotu kodi bija tik ilgi un nestrukturēti, ka tām bija kļuvis diezgan sarežģīti piekļūt un pārvietoties ar zināmu loģiku, pat viņu pašu autoriem.
Izcelsme
Programmētāji izmantoja komandu “goto” programmēšanas valodās, lai veiktu nosacītu atzarojumu, kas bieži noveda pie lasāmības un loģiskais konteksts netika saglabāts.
Šajā programmatūras krīzē radās jautājums, vai varētu sistemātiski izstrādāt vispārēju un disciplinētu metodiku, kas ļautu pilnveidot programmas. Kā atbilde uz šo pieeju radās strukturētās programmēšanas metode.
1968. gadā Dijkstra publicēja rakstu “Goto, komandu uzskatot par kaitīgu”, kur viņš norādīja, ka šīs komandas neizlēmīgai lietošanai ir negatīva ietekme uz datorprogrammu lasāmību un izpratni.
Niklaus Wirts izstrādāja jaunu programmēšanas valodu ar nosaukumu Pascal, kas tika izlaista 1970. gadā. Kopš tā laika tā tiek plaši izmantota, lai mācītu strukturētas programmēšanas dizainu.
raksturojums
Šo programmēšanas režīmu raksturo tas, ka programmētāji var sadrumstalot savu programmu avota kodu loģiski strukturētos blokos, kas sastāv no cilpām, loģikas blokiem un nosacītām komandām.
Strukturētas programmēšanas mērķis ir padarīt programmas, kuras ir viegli rakstīt, atkļūdot un modificēt. Iegūtās programmas ir skaidras, sakārtotas, saprotamas, bez lēcieniem.
Strukturētās programmēšanas teorija
Dijkstra izstrādāja teoriju, kas saistīta ar strukturētu programmēšanu, norādot, ka, izstrādājot jebkuru programmu, ir ērti ņemt vērā šādus pamatus:
- Strukturālā teorēma, kurā teikts, ka jebkuru programmu var sastādīt, izmantojot tikai trīs būtiskas vadības struktūras: secīgu struktūru, alternatīvu struktūru un atkārtotu struktūru.
- Izklāstot programmas, tiek mudināts izmantot dilstošo paņēmienu, ko sauc arī no augšas uz leju.
- Jāierobežo mainīgo lielumu un datu struktūru derīguma un redzamības diapazons.
Kontroles struktūras
Strukturālā teorēma norāda, ka jebkuru algoritmu ar vienu sākuma un beigu punktu var veidot kā trīs vadības struktūru sastāvu.
Loģiski un skaidri ieprogrammējot šīs atbalstītās vadības struktūras, strukturētā programmēšana ļauj efektīvi pievērsties funkcijām ar jebkādas grūtības pakāpi.
Secība vai lineārā struktūra
Šī struktūra ir vienkārši divu vai vairāku darbību vai komandu secība vai secība.
Lēmuma struktūra vai alternatīvas
Tā ir komandas izvēle starp divām iespējamām alternatīvām. Ir atļauts arī izvēlēties starp vairāk nekā divām alternatīvām.
Cilpa vai atkārtota struktūra ar sākotnējo jautājumu
Dažas komandas tiek atkārtotas, ja vien ir izpildīts noteikts nosacījums. Ciklu var veikt arī ar skaitītāju.
Neatkarīgs no programmēšanas valodas
Strukturētās programmēšanas pamatā ir precīzi definēti funkcionālie moduļi, kas sakārtoti atbilstoši problēmas īpašajam raksturam. Šī programmēšana ir neatkarīga programmēšanas valodas metode, kas vairāk līdzinās programmēšanas stilam.
Tas ir veids, kā izveidot programmas, ievērojot vispāratzītus noteikumus, izmantojot noteiktu kontroles struktūru kopumu.
Strukturētā programmēšana ļauj programmas rakstīt pseidokodā neatkarīgi no mašīnas valodas, tuvu dabiskajai, konvertējamas jebkurā programmēšanas valodā.
Strukturēti programmēšanas piemēri
Gandrīz jebkurš koda fragments jebkurā mūsdienu programmēšanas valodā būs strukturētas programmēšanas piemērs.
Šajā programmēšanā tiek izmantotas cilpas, nosacīti nosacījumi un apakšprogrammas, lai kontrolētu plūsmu un modularitāti, lai kodu būtu vieglāk lasīt un atkārtoti izmantot.
Secība
Paziņojumu sarakstu var izpildīt secībā no augšas uz leju. Šajā gadījumā kā piemērs ir dabiskās valodas programma maizes cepšanai:
- Pievienojiet miltus.
- Pievienojiet raugu.
- Pievienojiet sāli.
- sajauc.
- Pievienojiet ūdeni.
- Mīcīt.
- Ļaujiet mīklai pacelties.
- Cept.
Atkārtojums
Paziņojumu bloks tiek atkārtots, ja vien ir taisnība. Piemēram: mazgā traukus.
Atlase
Maksimāli vienu darbību izvēlas no vairākiem alternatīviem nosacījumiem. Piemēram: pasūtiet pastu.
Strukturēta programmēšana Visual Basic
Secība
Kodu līnijas vai bloki tiek rakstīti un izpildīti secīgā secībā. Piemēram, jums ir:
x = 6
y = 12
z = x + y
WriteLine (z)
Atkārtojums
Koda bloks tiek atkārtots, kamēr ir izpildīts kāds nosacījums. Bloķēšanas reižu skaits nav ierobežots. Piemērs:
x = 2
Kamēr x <100
WriteLine (x)
x = x * x
Beigas
Atlase
Koda bloks tiek izpildīts, ja nosacījums ir taisnība. Kodu bloks darbojas ne vairāk kā vienu reizi. Piemērs:
x = lasīšanas līnija ()
Ja x Mod 2 = 0
WriteLine ("Skaitlis ir vienāds")
Jā beigas
Priekšrocība
- Tās ir programmas, kas atbilst klientu vajadzībām.
- Lai arī sākotnēji koda ģenerēšana prasa ilgāku laiku, tas bieži vien rada kodu, kas pirmo reizi tiek palaists bez kļūdām.
- Tas ir līdzīgs vārdu un simbolu vārdnīcai angļu valodā.
- Nākotnē ir ērti rīkoties ar izmaiņām programmā ar jaunām specifikācijām.
- Tos ir vieglāk uzturēt.
- Tas ir viegli lietojams un saprotams. Galu galā koda rakstīšanai nepieciešams mazāk laika. Tas ir vieglāk iemācīties.
- Programmu, kas uzrakstīta augsta līmeņa valodā, var tulkot daudzās mašīnu valodās. Tāpēc to var palaist uz jebkura datora, kuram ir piemērots tulks vai kompilators.
- Tie galvenokārt ir orientēti uz problēmu, nevis uz mašīnu.
- Tas nav atkarīgs no datora, kurā tas tiek izmantots. Citiem vārdiem sakot, programmas, kas izstrādātas augsta līmeņa valodās, var palaist uz jebkura datora.
Skaidrākas programmas
Strukturēta programmēšana samazina iespēju, ka viena funkcija ietekmēs citu. Tas padara programmas skaidrākas, jo globālie mainīgie tiek noņemti, lai tos aizstātu ar vietējiem mainīgajiem.
Sakarā ar šīm izmaiņām var saglabāt vietas iedalīšanas vietu, kuru aizņem globālais mainīgais.
Viegla izpratne
Organizācija palīdz viegli izprast programmēšanas loģiku, lai saprastu programmu loģiku.
Tas arī palīdz jebkura tehnoloģiju uzņēmuma jaunpienācējiem saprast citu nozares darbinieku izveidotās programmas, tādējādi atvieglojot potenciālo koda atkļūdošanu.
Trūkumi
- Tulkotājam vai sastādītājam ir jātulko augsta līmeņa valoda mašīnu valodā. Tāpēc, izmantojot datora laiku, ir jāmaksā cena.
- Kompilatora ģenerētais objekta kods var būt neefektīvs, salīdzinot ar līdzvērtīgu montāžas valodas programmu.
Tas pats kods atkārtots
Uzrakstītais kods var parādīties dažādās programmas daļās. Tā atrašanās vietas dēļ tas var būt neaizsargāts pret dažādām problēmām. Programmām ir mainīgie, kas nozīmē, ka dažādās programmas daļās tās var ņemt dažādas vērtības.
Datu veidu maiņa ir apgrūtinoša
Datu tips nāk no daudzām funkcijām. Tāpēc, ja notiek izmaiņas šāda veida datos, atbilstošās izmaiņas jāveic katrā vietā, kas programmā darbojas ar šāda veida datiem. Tas ir patiešām laikietilpīgs uzdevums, ja programma ir ļoti liela.
Var apsvērt programmatūras izstrādes gadījumu, kad vairāki programmētāji strādā kā komanda lietojumprogrammā. Strukturētā programmā katram programmētājam tiks uzticēts izveidot īpašu funkciju un datu tipu kopu.
Tāpēc dažādi programmētāji atsevišķi apstrādā dažādas funkcijas, kuru datu tipi ir koplietoti savā starpā.
Pārējiem komandas programmētājiem jāatspoguļo programmētāja veiktās izmaiņas datu tipos, viņu apstrādātajos datu tipos. Pretējā gadījumā vairākas funkcijas būs jāpārraksta.
Lietojumprogrammas
Strukturētā programmēšana ir labi darbojusies miljoniem programmu un miljardiem kodu līniju. Nav iemesla to izmest.
Jo īpaši tas ir ārkārtīgi labi darbojies programmās, kas apstrādā datus, un numuru apstrādē, kuras abas tiek palaistas vienreiz, lai iegūtu atbildi.
Divas pazīmes labi definē problēmas, kurām var pievērsties tīri strukturētā veidā:
- apstrādājamie dati precīzi atbilst datu tipiem, kas ir integrēti valodā, parasti ir skaitļi un rakstzīmju virknes.
- Programma seko precīzi definētai vadības plūsmai, lai iegūtu vienu rezultātu, pamatojoties uz kādu ievadi.
Datorprogrammās ar šīm īpašībām ir daudz zinātnisko, inženierzinātņu un tekstapstrādes lietojumprogrammu, kā arī daudzos tradicionālo datorzinātņu kursu mācību grāmatu piemēros.
Nav pārsteidzoši, ka šie ir tieši tādi programmu veidi, kurus pirmie, kas izgudroja programmēšanas valodas, vēlējās atrisināt.
Objektu apstrāde
Lielākā daļa mūsdienu programmēšanas valodu ir strukturētas šādā veidā: tas, kas jums ir jūsu programmā, ir objekti, un lielāko daļu koda veido dažādas metodes šajos objektos saglabāto datu izmantošanai.
Strukturētai programmai parasti ir kontrole pār to, kas notiek un kad notiek, turpretim uz notikumiem balstītai programmai jāspēj reaģēt uz notikumiem neparedzamā laikā.
Atsauces
- MVPS (2020). Strukturēta programmēšana. Nākts no: mvps.net.
- Aleksejs (2019). Strukturēta programmēšanas paradigma. Vidēja. Paņemts no: medium.com.
- Iekļaujiet palīdzību (2020). Strukturētā programmēšana, tās priekšrocības un trūkumi. Paņemts no: includehelp.com.
- Tims Trots (2019). Strukturētas programmēšanas valodas. Lonewolf tiešsaistē. Paņemts no: lonewolfonline.net.
- OO portāls (2020). Tradicionālās, strukturētās programmēšanas lietojumi un ieguvumi. Iegūts no: ooportal.com.
- Studeers Snel (2020). Nobeiguma pārskats - strukturēto programmēšanas programmu kopsavilkums. Iegūts no: studeersnel.nl.