- Původ
- vlastnosti
- Strukturovaná teorie programování
- Řídicí struktury
- Sekvence nebo lineární struktura
- Struktura rozhodnutí nebo alternativy
- Smyčka nebo opakující se struktura s počáteční otázkou
- Nezávislé na programovacím jazyce
- Příklady strukturovaného programování
- Sekvence
- Opakování
- Výběr
- Strukturované programování v jazyce Visual Basic
- Sekvence
- Opakování
- Výběr
- Výhoda
- Jasnější programy
- Snadné porozumění
- Nevýhody
- Stejný kód se opakuje
- Změna datových typů je těžkopádná
- Aplikace
- Zpracování objektů
- Reference
Strukturované programování je ustanovení v návrhu a konstrukci softwaru, s cílem lépe zvládat složitost, s přihlédnutím k zvláštnosti lidského myšlení. Každý program je založen na algoritmu a může být reprezentován logickým schématem.
Vyplývalo z rostoucí složitosti počítačových programů. Stalo se novým schématem programování, které vytvořilo nové techniky, aby bylo možné produkovat programy, které jsou bezpečné pro provoz po delší dobu.
Struktura rozhodnutí a struktura sekvencí ve strukturovaném programování. Zdroj: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Díky rychlému rozvoji počítačového zpracování dat bylo na konci 60. let možné řešit stále složitější problémy. Porozumění, ladění a úpravy těchto programů však představovalo potíže, díky nimž byly nespolehlivé.
Velké počítačové programy vytvořené pro tyto problémy měly zdrojové kódy tak dlouhé a nestrukturované, že se staly docela komplikovanými pro přístup a navigaci s nějakou logikou, dokonce i pro své vlastní autory.
Původ
Programátoři použili příkaz „goto“ v programovacích jazycích k provedení podmíněného větvení, což často vedlo k čitelnosti a logický kontext nebyl zachován.
V této softwarové krizi se začalo uvažovat o tom, zda lze systematicky rozvíjet obecnou a disciplinovanou metodologii, která by umožnila propracovanější programy. Jako odpověď na tento přístup se zrodila metoda strukturovaného programování.
V roce 1968 publikoval Dijkstra článek „Goto, příkaz považovaný za škodlivý“, kde zdůraznil, že nerozvážné použití tohoto příkazu mělo negativní dopad na čitelnost a porozumění počítačových programů.
Niklaus Wirth navrhl nový programovací jazyk, nazvaný Pascal, uvedený na trh v roce 1970. Od té doby se široce používá k výuce strukturovaného programování.
vlastnosti
Tento programovací režim je charakterizován skutečností, že programátoři mohou fragmentovat zdrojový kód svých programů do logicky strukturovaných bloků, které se skládají ze smyček, logických bloků a podmíněných příkazů.
Cílem strukturovaného programování je vytvořit programy, které lze snadno psát, ladit a upravovat. Získané programy jsou jasné, uspořádané, srozumitelné, bez skoků.
Strukturovaná teorie programování
Dijkstra vymyslel teorii spojenou se strukturovaným programováním, která naznačovala, že při navrhování jakéhokoli programu je vhodné vzít v úvahu následující základy:
- Strukturální věta, která uvádí, že jakýkoli program lze kompilovat pouze pomocí tří základních řídících struktur: sekvenční struktura, alternativní struktura a opakující se struktura.
- Při navrhování programů se vybízí k použití sestupné techniky, která se také nazývá shora dolů.
- Rozsahy platnosti a viditelnosti proměnných a datových struktur musí být omezeny.
Řídicí struktury
Strukturální věta naznačuje, že jakýkoli algoritmus s jediným počátečním a koncovým bodem může být vytvořen jako složení tří kontrolních struktur.
Logicky a jasně programuje tyto podporované řídicí struktury, strukturované programování umožňuje efektivní přístup k funkcím s jakýmkoli stupněm obtížnosti.
Sekvence nebo lineární struktura
Tato struktura je jednoduše sledem nebo sledem dvou nebo více operací nebo příkazů.
Struktura rozhodnutí nebo alternativy
Jedná se o výběr příkazu mezi dvěma možnými alternativami. Rovněž je povoleno volit mezi více než dvěma alternativami.
Smyčka nebo opakující se struktura s počáteční otázkou
Některé příkazy se opakují, pokud jsou splněny určité podmínky. Cyklus lze také provést čítačem.
Nezávislé na programovacím jazyce
Strukturované programování je založeno na dobře definovaných funkčních modulech seřazených podle specifické povahy problému. Toto programování je nezávislá metoda programovacího jazyka, která působí spíše jako styl programování.
Je to způsob, jak navrhnout programy podle zavedených pravidel, za použití určité sady kontrolních struktur.
Strukturované programování umožňuje psát programy v pseudokódu, bez ohledu na jazyk stroje, téměř přirozený, konvertibilní do jakéhokoli programovacího jazyka.
Příklady strukturovaného programování
Příkladem strukturovaného programování bude téměř jakýkoli zlomek ukázkového kódu v moderním programovacím jazyce.
Toto programování používá smyčky, podmíněné a podprogramy k řízení toku a modularity, aby byl kód snáze čitelný a znovu použitelný.
Sekvence
Seznam příkazů lze provádět v pořadí od shora dolů. V tomto případě je jako příklad uveden program přirozeného jazyka pro pečení chleba:
- Přidejte mouku.
- Přidejte kvasinky.
- Přidat sůl.
- Mix.
- Přidat vodu.
- Hnětení.
- Nechte těsto povstat.
- Péct.
Opakování
Blok příkazů se opakuje, dokud je podmínka pravdivá. Například: mytí nádobí.
Výběr
Nejvýše jedna akce je vybrána z několika alternativních podmínek. Například: objednejte si poštu.
Strukturované programování v jazyce Visual Basic
Sekvence
Řádky nebo bloky kódu jsou psány a spouštěny v sekvenčním pořadí. Máte například:
x = 6
y = 12
z = x + y
WriteLine (z)
Opakování
Blok kódu se opakuje při splnění podmínky. Kolikrát může být blok proveden, není omezeno. Příklad:
x = 2
Dokud x <100
WriteLine (x)
x = x * x
Konec
Výběr
Blok kódu je vykonán, pokud je podmínka pravdivá. Blok kódu běží maximálně jednou. Příklad:
x = ReadLine ()
Pokud x Mod 2 = 0
WriteLine („Číslo je sudé“)
Konec ano
Výhoda
- Jsou to programy, které splňují potřeby zákazníků.
- Ačkoli vygenerování kódu trvá zpočátku déle, výsledkem je často kód, který se při prvním spuštění spustí bez chyb.
- Je to podobné slovníku slov a symbolů v angličtině.
- Je snadné zvládnout změny v programu s novými specifikacemi v budoucnosti.
- Snadněji se udržují.
- Snadné použití a porozumění. Nakonec je zapotřebí méně času na napsání kódu. Je snazší se učit.
- Program napsaný v jazyce vyšší úrovně lze přeložit do mnoha jazyků stroje. Proto jej lze spustit na jakémkoli počítači, pro který je vhodný překladač nebo kompilátor.
- Jsou zaměřeny spíše na problémy než na stroje.
- Je nezávislý na počítači, na kterém je používán. Jinými slovy, programy vyvinuté ve vyšších jazycích mohou být spuštěny na jakémkoli počítači.
Jasnější programy
Strukturované programování snižuje možnost, že jedna funkce ovlivní jinou. Díky tomu jsou programy jasnější, protože globální proměnné jsou odstraněny a nahrazeny místními proměnnými.
Díky této změně lze uložit alokační prostor, který zabírá globální proměnná.
Snadné porozumění
Organizace pomáhá snadno pochopit logiku programování, aby pochopila logiku programů.
Rovněž pomáhá nováčkům v jakékoli technologické společnosti porozumět programům vytvořeným jinými pracovníky v oboru, a tím usnadnit případné ladění kódu.
Nevýhody
- Překladatel nebo kompilátor musí přeložit jazyk na vysoké úrovni do strojového jazyka. Proto je třeba zaplatit cenu za použití počítačového času.
- Kód objektu generovaný kompilátorem může být neefektivní ve srovnání s ekvivalentním programem jazyka sestavení.
Stejný kód se opakuje
Napsaný kód se může objevit v různých částech programu. Díky své poloze může být zranitelný vůči různým problémům. Programy mají proměnné, což znamená, že mohou mít různé hodnoty v různých částech programu.
Změna datových typů je těžkopádná
Typ dat pochází z mnoha funkcí. Proto, když dojde ke změnám v tomto typu dat, musí být odpovídající změna provedena v každém umístění, které působí na tento typ dat v programu. Pokud je program velmi velký, jedná se o opravdu časově náročný úkol.
Lze uvažovat o vývoji softwaru, kde několik programátorů pracuje jako tým v aplikaci. Ve strukturovaném programu bude každý programátor přiřazen k sestavení specifické sady funkcí a datových typů.
Proto různí programátoři budou samostatně zpracovávat různé funkce, které mají typy dat navzájem sdíleny.
Ostatní programátoři v týmu by měli odrážet změny v datových typech provedené programátorem, v datových typech, s nimiž nakládali. V opačném případě bude nutné přepsat více funkcí.
Aplikace
Strukturované programování fungovalo dobře pro miliony programů a miliardy řádků kódu. Neexistuje žádný důvod k jejímu vyřazení.
Zejména to fungovalo velmi dobře pro programy, které zpracovávají data, a pro zpracování čísel, které jsou spuštěny jednou, aby vytvořily odpověď.
Dvě charakteristiky mají tendenci dobře definovat problémy, které lze řešit čistě strukturovaným způsobem:
- Data, která mají být zpracována, úzce odpovídají typům dat, která jsou integrována do jazyka, obvykle jde o řetězce čísel a znaků.
- Program sleduje přesně definovaný tok řízení a vytváří jediný výsledek založený na některých vstupech.
Počítačové programy s těmito vlastnostmi zahrnují kromě mnoha učebních příkladů tradičních kurzů informatiky také mnoho vědeckých, inženýrských a textových aplikací.
Není divu, že to jsou přesně ty druhy programů, které první lidé, kteří vynalezli programovací jazyky, chtěli vyřešit.
Zpracování objektů
Většina moderních programovacích jazyků je strukturována takto: to, co v programu máte, jsou objekty a většina kódu sestává z různých metod použití dat uložených v těchto objektech.
Strukturovaný program má obecně kontrolu nad tím, co se stane a kdy se to stane, zatímco program založený na událostech musí být schopen reagovat na události v nepředvídatelném čase.
Reference
- MVPS (2020). Strukturované programování. Převzato z: mvps.net.
- Alexey (2019). Strukturované programovací paradigma. Střední. Převzato z: medium.com.
- Zahrnout nápovědu (2020). Strukturované programování, jeho výhody a nevýhody. Převzato z: includeehelp.com.
- Tim Trott (2019). Strukturované programovací jazyky. Lonewolf online. Převzato z: lonewolfonline.net.
- Portál OO (2020). Použití a výhody tradičního strukturovaného programování. Převzato z: ooportal.com.
- Studeer Snel (2020). Závěrečný přehled - Shrnutí Strukturovaných programovacích aplikací Převzato z: studeersnel.nl.