Blok (programování): Porovnání verzí
Smazaný obsah Přidaný obsah
m →Literatura: šablona |
Formulace, styl |
||
Řádek 1:
[[Soubor:Bloková_struktura.PNG|thumb|Bloková struktura]]
'''Bloková struktura''' je v [[Informatika|informatice]] označení pro [[zdrojový kód]] programu, který je rozčleněn do samostatných bloků (úseků) používaných ve [[Strukturované programování|strukturovaném programování]]. Bloky rozčleňují kód na souvislé logické části ([[Řídicí struktura|řídící struktury]] pro podmínku ''if'', [[Cyklus while-do|cyklus ''while-do'']], [[Cyklus for|cyklus ''for'']] a podobně) nebo samostatné funkční části u [[Funkce (programování)|funkcí]] a procedur a umožňují též zanořování těchto bloků.
Myšlenka blokové struktury se poprvé objevila v roce [[1950]],
Blok umožňuje v [[programování]] specifikovat část kódu programu, která se vůči okolí chová tak, jako by byla jedním příkazem. Označuje se proto také jako programátorské závorky. Bloky tímto způsobem zjednodušují [[Syntaktická analýza|syntaktická pravidla]] zápisu [[Zdrojový kód|zdrojového kódu]] programu [[Programovací jazyk|programovacího jazyka]], protože je možné předepsat, že na daném místě zápisu může být pouze jediný příkaz (je-li příkazů více, musí být uzavřeny do programátorských závorek a stanou se tak z vnějšího pohledu jediným příkazem).
Druhou funkcí bloku je možnost zúžit rozsah platnosti [[Proměnná|proměnné]], procedury nebo funkce tak, že jsou deklarovány v určitém bloku. Označujeme pak jako lokální proměnné nebo vnořené funkce. [[Lexikální analýza]] díky tomu může zajistit, že objekty deklarované v určitém bloku nekolidují s objekty deklarovanými mimo tento blok. Lokální proměnné pak mohou mít stejné názvy, jako proměnné v nadřízených (nebo sousedních) blocích, avšak nedojde k jejich ovlivnění. Stejné pravidlo platí pro funkce a procedury.
▲=== Historie ===
▲Myšlenka blokové struktury se poprvé objevila v roce [[1950]], a byla formalizována ve zprávách [[Algol 58]] a [[Algol 60]] . [[Algol 58]] zavedl pojem "složený příkaz". Upravená zpráva Angol 60 popisuje syntaxi a sémantiku. Algol 60]] zavedl pojem blok, skládající se ze sekvence prohlášení ,které následuje posloupnost příkazů uzavřené mezi začátkem a koncem, v níž každé prohlášení, které je zobrazené v bloku v této cestě je platné pouze pro tento blok.
Některé programovací jazyky, které podporují bloky s deklarací
▲=== Funkce blokového programování ===
▲Některé jazyky, které podporují bloky s deklarací [[Proměnná|proměnných]] nepodporují plně všechny deklarace , například mnoho jazyků odvozených od C neumožňuje definici [[Funkce (programování)|funkce]] v rámci bloku na rozdíl od jeho předchůdce Algol. [[Pascal (programovací jazyk)|Pascal]] nepodporuje použití bloků s jejich vlastní deklarací uvnitř začátku a konec stávajícího bloku, pouze složené příkazy umožňující sekvenční [[Funkce (programování)|funkce]] mohou být seskupeny do [[If]], [[Cyklus while-do|While]], [[Cyklus while-do|Repeat]] a dalších kontrolních [[Funkce (programování)|funkcí]].
Bloková struktura programu se
▲== Bloková struktura programu ==
▲Bloková struktura programu se využívá hojně v moderních technikách programování jež využívají tzv. strukturované jazyky. Tyto jazyky nám umožňují efektivní kontrolu použití objektů. Bloková struktura programu rozlišuje [[globální]] a [[lokální]] [[objekty]], kdy přístup do lokálních objektů je omezený. Pokud má lokální objekt stejné jméno jako objekt [[globální]] tak objekt globální]] neovlivní.
Jednotlivé bloky mohou obsahovat další podbloky neboli vnořené bloky, které si můžeme představit jako podprogramy. Ovšem každý podblok takto vytvořený opět musí obsahovat všechny náležitosti bloku tedy hlavičku, deklarační a příkazovou část.▼
▲Dalo by se říci že základním prvkem programu je blok. Každý blok se skládá z hlavičky, deklarační a příkazové části. Jednotlivé bloky mohou obsahovat další podbloky neboli vnořené bloky, které si můžeme představit jako podprogramy. Ovšem každý podblok takto vytvořený opět musí obsahovat všechny náležitosti bloku tedy hlavičku, deklarační a příkazovou část. Skládání celého programu z jednotlivých bloků nám vznikne jakási hierarchická struktura, neboli bloková struktura programu
== Stromová struktura ==
[[Soubor:Stromova struktura.PNG|thumb|Stromová struktura tabulek (například [[Sémantická analýza|tabulek symbolů]].]]
Jednotlivé bloky vytvářejí stromovou strukturu. Vnořené bloky jsou vždy podřízeny blokům nadřazeným. Objekty jsou dosažitelné jen z bloků podřízených a každý blok má svoji tabulku přístupných objektů.
== Literatura ==
|