1 Strukturované programování



Podobné dokumenty
ALGORITMIZACE Příklady ze života, větvení, cykly

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Vývojové diagramy 1/7

Maturitní otázky z předmětu PROGRAMOVÁNÍ

AUTOMATIZACE Úvod do programování PLC

Sada 1 - Základy programování

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmizace- úvod. Ing. Tomáš Otáhal

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Algoritmy a algoritmizace

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

VISUAL BASIC. Přehled témat

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

KOPENOGRAMY A JEJICH IMPLEMENTACE V NETBEANS

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

Program a životní cyklus programu

ALGORITMIZACE. Výukový materiál pro tercii osmiletého gymnázia

Algoritmizace a programování

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

1. Dědičnost a polymorfismus

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Profilová část maturitní zkoušky 2017/2018

ANOTACE vytvořených/inovovaných materiálů

Algoritmizace prostorových úloh

IB111 Programování a algoritmizace. Programovací jazyky

Architektura počítačů

8 Třídy, objekty, metody, předávání argumentů metod

Úvod. Programovací paradigmata

Lekce 01 Úvod do algoritmizace

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programování. řídících systémů v reálném čase. Střední odborná škola a Střední odborné učiliště - - Centrum Odborné přípravy Sezimovo Ústí

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Algoritmizace. Obrázek 1: Přeložení programu překladačem

Vstupně výstupní moduly. 13.přednáška

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Datové typy a struktury

Základy algoritmizace

TÉMATICKÝ OKRUH Softwarové inženýrství

Matematika v programovacích

TÉMATICKÝ OKRUH Softwarové inženýrství

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata

Profilová část maturitní zkoušky 2013/2014

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

1. Programování proti rozhraní

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

C2115 Praktický úvod do superpočítání

Výukový materiál zpracován v rámci projektu EU peníze školám

Paralelní programování

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

PODPROGRAMY PROCEDURY A FUNKCE

VY_52_INOVACE_H Ve všech funkcích může být definována rychlost posuvu 0, platí hodnota F zadaná funkci M99.

IB111 Úvod do programování skrze Python Přednáška 13

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Podmíněný příkaz

Algoritmizace prostorových úloh

Tematická oblast: Programování 2 (VY_32_INOVACE_08_2_PR) Anotace: Využití ve výuce: Použité zdroje:

Lekce 04 Řídící struktury

Vyřešené teoretické otázky do OOP ( )

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Martin Hejtmánek hejtmmar

Škola VOŠ a SPŠE Plzeň, IČO , REDIZO

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Tabulace učebního plánu

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Algoritmizace. 1. Úvod. Algoritmus

Princip funkce počítače

U Úvod do modelování a simulace systémů

Virtuální instrumentace I. Měřicí technika jako součást automatizační techniky. Virtuální instrumentace. LabVIEW. měření je zdrojem informací:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Základní datové struktury

Projekt podpořený Operačním programem Přeshraniční spolupráce Slovenská republika Česká republika

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

KOMPLEXNÍ VZDĚLÁVÁNÍ KATEDRA STROJNÍ SPŠSE a VOŠ LIBEREC. Kapitola 08 Simulace

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Programování v jazyce VISUAL BASIC.NET

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická

NÁSTROJE A TECHNIKY PROJEKTOVÉHO MANAGEMENTU. Projektová dekompozice

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

================================================================================ =====

Algoritmizace prostorových úloh

ALGORITMIZACE A PROGRAMOVÁNÍ

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Transkript:

Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů, s tvorbou a využíváním procedur a funkcí, s využitím zápisu algoritmů pomocí vývojových diagramů. 1.1 Programování počítačových aplikací V současné době je pojem programování velice často používán v nejrůznějších situacích. V domácnosti si můžeme naprogramovat topení v bytě, praní prádla v automatické pračce, nahrávání televizních pořadů do pamětí videorekordérů atd. Bez problémů bychom našli řadu dalších aplikací, ve kterých je možno uvažovat o programování. V rámci předmětu Programování 2 se ale budeme zabývat výhradně programováním počítačových aplikací. Z tohoto pohledu bude naprosto nepodstatné, jestli výsledná aplikace má sloužit k realizaci nějakých abstraktních matematických výpočtů, k simulaci procesů, které probíhají v reálném světě kolem nás, nebo k řízení technologického procesu. Celý vývoj počítačové aplikace lze rozdělit do tří základních kroků, které ale nejsou izolované a v praxi se vzájemně ovlivňují. 1.1.1 Analýza problému Jedná se o úvodní fázi programování, kdy je třeba shromáždit veškerá dostupná data a informace o analyzovaném problému. Jde o vytvoření základní představy o výsledné aplikaci. Jaká data budeme zpracovávat, jaký je jejich rozsah, jaké jsou mezi nimi vazby. Již v této fázi je nutno rozhodnout, zda se bude jednat o relativně malou jednoduchou 1/5

aplikaci, kterou zvládneme v rámci strukturovaného programování, nebo zda se bude jednat o rozsáhlý projekt, o kterém můžeme předpokládat, že se v budoucnu bude dále rozšiřovat. V takovém případě je třeba přisoupit k objektové analýze. S touto problematikou se seznámíme v předmětu Programování 3 a především pak v předmětu Programování 4. 1.1.2 Návrh projektu Tato fáze programování je nejdůležitější. Programátor zde vytváří vlastní projekt, který zatím není vázán na konkrétní programovací jazyk. V předmětu Programování 1 jsme se seznámili s tvorbou algoritmů. Jednalo se vždy o hierarchické seskupení dílčích činností, které se postupně vykonávaly tak, že v konečném počtu kroků jsme od vstupních dat jednoznačným způsobem dospěli k požadovanému výsledku. Pro grafické znázornění algoritmů jsme s výhodou používali zápis pomocí vývojových diagramů. V podstatě jsme tak řešili strukturovaný návrh projektu. Vytvářené algoritmy nebyly vázány na žádný programovací jazyk, neboť pro konstrukci projektu je programovací jazyk v drtivé většině případů nepodstatnou záležitostí. V navazujících předmětech se seznámíme s objektově orientovaným návrhem projektu. Jedná se o zcela jiný myšlenkový přístup, který je založen na objektové analýze problému. Mezi hlavní výhody objektově orientovaného programování patří snadná editace již realizované aplikace, editace dílčích objektů, přidávání nových objektů a další rozvoj aplikace. Je zřejmé, že i strukturovaně vytvářené aplikace lze dále rozšiřovat a inovovat. Ale především u rozsáhlých aplikací to bývá složitější, než u projektů vytvářených objektově. 1.1.3 Implementace projektu Zde se jedná o zapsání projektu v konkrétním programovacím jazyku. Je to rutinní záležitost, při které využíváme znalost daného programovacího jazyku, jeho možnosti a syntaxi. V této fázi již žádným zásadním způsobem neovlivňujeme strukturu vytvářeného projektu. 2/5

1.2 Sekvenční programování Při vytváření prvních jednoduchých programů psali programátoři příslušný kód ve zvoleném programovacím jazyku: assembler, basic, algol, fortran atd. Jednalo se o kratší či delší sekvenci příkazů, mezi kterými bylo možno pomocí vložených podmínek se rozhodovat o dalším postupu řešení. Zásadní nevýhodou tohoto systému byla možnost kdykoliv předat postup řešení do libovolného místa programu. K tomu byl používán příkaz go to.... Tyto nekontrolovatelné skoky zdánlivě usnadňovaly práci programátorům, ale ve skutečnosti nesmírně komplikovaly přehlednost vytvářených programů a jakoukoliv jejich další editaci. 1.3 Zásadní zpřehlednění programových kódů souviselo s naprostým zákazem skoků typu go to... a rozdělením programu do dílčích bloků. Každý programový blok má svůj vstup a svůj výstup. Jednotlivé bloky lze vzájemně seskupovat tak, že jsou vykonávány postupně za sebou. Program můžeme větvit a na základě splnění či nesplnění zadané podmínky je v dalším kroku vykonán ten či onen blok. Kromě toho bloky je možno vkládat do sebe, případně je konstruovat jako samostatné funkce a podprogramy. Pro grafické znázornění algoritmů byly vytvořeny strukturogramy, které neumožňovaly vytvářet skoky typu go to.... Strukturogramy měly jasně definované vstupy a výstupy jednotlivých bloků. Nikdy však nebyly popsány jakoukoliv uzákoněnou normou. V programátorské praxi se neuchytily a postupem času zcela zanikly. Pro zápisy algoritmů využíváme vývojové diagramy, které slouží nejenom k popisu daného algoritmu, ale jedná se o významnou pomůcku pro vytváření hierarchichy strukturovaných programů. Vývojové diagramy jsou definovány mezinárodní normou, ve které jsou popsány sambolické značky diagramů a způsob jejich použití. S tím jsme se seznámili v předmětu Programování 1. Základní vývojový diagram jednoduchého programu lze znázornit schématem uvedeným na obr. 1.1. 3/5

Začátek Čtení vstupních dat Výpočty Psaní výsledků výpočtů Konec Obr. 1.1 Vývojový diagram jednoduchého programu Po spuštění programu dojde k načtení vstupních dat, které si můžeme představit např. zadáním hodnot jednotlivých dat uživatelem z klávesnice počítače. Případně se může jednat o načítání dat z paměťových médií počítače. Následují výpočty a psaní výsledků. Výsledky mohou být zobrazeny na monitoru počítače, ale také mohou být uloženy do paměti počítače. Tím je práce programu ukončena. 1.4 Objektově orientované programování Této problematice jsou věnovány předměty Programování 3 a Programování 4. Ale již nyní si můžeme říci, že základní myšlenka objektově orientovaného programování vychází z pozorování okolního světa a ze snahy o jeho popsání. Svět kolem nás se skládá z jednotlivých prvků, které jsou v rámci programování označovány jako objekty. Základem popisu reálného světa je existence volné sítě vzájemně komunikujících objektů. Každý objekt má svoje vlastnosti a má schopnost reagovat na určité události. Například každý konkrétní pes má svoji výšku, váhu a může chodit, běhat, štěkat atd. Vedle toho každý konkrétní automobil má svoji šířku, délku, výšku a může svítit, troubit, jezdit atd. U každého konkrétního 4/5

psa můžeme vysledovat jeho rodokment, popsat jeho předky a zabývat se zděděním vlastností předků. Obdobně se ale můžeme zabývat i vývojem automobilů a přenosem některých konstrukčních prvků ze starších modelů do modelů nových. Ale tím vším se budeme zabývat až v následujících předmětech Programování 3 a Programování 4. 5/5