ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14

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

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

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

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

2. lekce Algoritmus, cyklus Miroslav Jílek

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

Programování - úvod. Programování. Proces programování. Vlastnosti dobrého programu: Kapitola seznamuje se základními pojmy programování.

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

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

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

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

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

Algoritmizace prostorových úloh

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

Algoritmizace. 1. Úvod. Algoritmus

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

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Algoritmizace prostorových úloh

Algoritmizace a programování

Architektura počítače

Program a životní cyklus programu

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

Základy číslicové techniky z, zk

GRAFY A GRAFOVÉ ALGORITMY

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

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

Predispozice pro výuku IKT (2015/2016)

Tato tematika je zpracována v Záznamy přednášek: str materiál: PrikladyZobrazeniCisel.pdf

1 Základy algoritmizace a programování. 1.1 Algoritmus Možnosti zápisu algoritmů. Základy algoritmizace a programování

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Část 2

Principy operačních systémů. Lekce 6: Synchronizace procesů

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Programovací jazyk Pascal

Karnaughovy mapy. Pravdivostní tabulka pro tři vstupní proměnné by mohla vypadat například takto:

setup() { I = 0; } loop() { I = I + 1; }

5 Rekurze a zásobník. Rekurzivní volání metody

Digitální video (teoretické shrnutí)

Měřící a senzorová technika Návrh měření odporových tenzometrů

Algoritmy a datové struktury 1

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

1. Programování PLC. Programovatelné automaty II - 1 -

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

Řídicí struktury. alg3 1

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Algoritmizace prostorových úloh

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Algoritmizace a programování

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

Algoritmizace a programování

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Paměti a jejich organizace

Metody síťové analýzy

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

Úvod. Programovací paradigmata

Základy algoritmizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav fyziky a měřicí techniky

Algoritmizace. Cíle předmětu

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

Paměť počítače. alg2 1

Sada 1 - Základy programování

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

Sada 1 - Základy programování

Maticové operace projekt č. 3

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

Digitální učební materiál

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Informatika Algoritmy

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

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

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

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

Jarníkův algoritmus. Obsah. Popis

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

Digitální učební materiál

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

Programování PICAXE18M2 v Assembleru

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Architektury CISC a RISC, uplatnění v personálních počítačích

Algoritmizace I. Ak. rok 2015/2016 vbp 1. ze 132

Překladač a jeho struktura

Algoritmy a algoritmizace

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

Vývojové diagramy - zápis algoritmu

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA INFORMAČNÍCH TECHNOLOGIÍ. Uživatelská příručka k programu FloodFilling Art

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

Algoritmizace a programování

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

2. RBF neuronové sítě

Úvod do programovacích jazyků (Java)

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

TECHNICKÉ PREZENTACE

8. Posloupnosti, vektory a matice

Transkript:

ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 18 0:40

Algoritmus Algoritmem by se dal nazvat určitý postup řešení daného problému. Je to předem daná posloupnost více kroků, ze které pak vzniká program. Program sám o sobě předepisuje počítači množinu procedur (funkcí, algoritmů), kterými se daný počítač řídí, aby provedl určitý výstup. Jednoduché postupy (algoritmy) můžeme zapsat slovně. U složitějších postupů bývá slovní popis značně nepřehledný a nesrozumitelný (špatně se v něm orientuje). 2 / 18 0:40

Aby mohl být vytvořený algoritmus na počítači prováděn, musíme ho v počítači (respektive procesoru) předat "zakódovaný", tedy přeložený z řeči lidí do řeči strojů. Tak například čísla nebo znaky musíme počítači předávat ve dvojkové soustavě (tedy ty jedničky a nuly, jako v úvodu filmu Metrix). Byly vytvořeny tzv. překladače (angl. compilery). Tyto jsou pro každý programovací jazyk odlišné, protože každý jazyk má jiný způsob, jak program v něm napsaný převádět 3 / 18 0:40

Programovací jazyk Programovací jazyk je nástroj, pomocí kterého zapisujeme algoritmus ve formě bližší člověku. Programovací jazyky dělíme na nízko úrovňové a vysoko úrovňové. Nízko úrovňové jazyky využívají především zápisu instrukcí procesoru. Pro své vlastnosti jsou používány hlavně odborníky v systémovém programování, a to především díky tomu, že umožňují větší kontrolu nad počítačem a hardwarem samotným. Nevýhodou může být hardwarová závislost. Typickým nízko úrovňovým jazykem je Assembler. 4 / 18 0:40

Strojový jazyk Instrukce ve strojovém jazyce je zapsána v binární podobě a může mít proměnlivou délku. První část určuje operační kód (identifikuje instrukci. Programu ve strojovém jazyce se někdy říká binární soubor a je počítačem přímo prováděn. Symbolický jazyk Protože je neefektivní psát programy ve strojovém jazyku, používáme pro přímé programování procesoru jazyk symbolických instrukcí. 5 / 18 0:40

Programovací jazyk Vysokoúrovňové jazyky používají pro zápis algoritmů postupy bližší lidskému chápání. Algoritmus se zapisuje pomocí příkazů, které nakonec tvoří samotný program. Ve většině programovacích jazyků je každý příkaz zakončen středníkem (;). Příkladem vysokoúrovňového jazyka by mohly být programy Eclipse, JCreator, NetBeans IDE, Turbo Pascal. 6 / 18 0:40

Základní struktura algoritmu Algoritmus je vlastně přesně daný postup, který je zapsán tak aby byl srozumitelný jak programátorovi, ale hlavně počítacímu stroji, který nedokáže uvažovat a vykonává přesně zadané instrukce. samotný program. Při zápisu základního algoritmu používáme tři základní programové struktury: sekvence (posloupnosti příkazů), rozhodování (větvení, výběr alternativy), opakování (podmíněné či nepodmíněné cykly, smyčky). 7 / 18 0:40

Zápis posloupnosti příkazů (sekvence) Posloupnost jsou definovány navazující kroky, jejichž pořadí je přesně předem pevně určeno. V posloupnosti nemůže být žádný krok přeskočen ani vynechán. Posloupnost je definována začátkem a koncem, mezi nimiž jsou určeny operace k provádění 8 / 18 0:40

Rozhodování (větvení, výběr alternativy) Větvení použijeme tam, kde podle okolností mají být některé kroky v posloupnosti vynechány, přidány nebo nahrazeny jinými. Větvení obsahuje obvykle tři části. První částí je otázka, na kterou existuje kladná a záporná odpověď. Druhou částí je krok, který se provede v případě kladné odpovědi na otázku. Třetí částí je krok, který se provede v případě záporné odpovědi na otázku. Při zápisu algoritmu ve vývojovém diagramu používáme tři typy větvení. Jde o úplné větvení, neúplné větvení a vnořené větvení. 9 / 18 0:40

Úplné větvení Úplné větvení znamená, že jsou zařazeny kroky pro kladnou i zápornou odpověď. Podle toho, jak je sestavena podmínka, budou zařazeny další navazující činnosti obsažené v příkazu číslo 1 nebo se vykonají instrukce z příkazu číslo 2. 10 / 18 0:40

Vnořené větvení Vnořené větvení znamená, že krok pro kladnou nebo pro zápornou odpověď (nebo pro obě odpovědi) je tvořen opět větvením. 11 / 18 0:40

Opakování (cykly) V algoritmech velmi často nastává situace, kdy musíme některé činnosti zopakovat. Zda se opakování provede či nikoliv, závisí vždy na vyhodnocení určité podmínky. Buď přesně známe, kolikrát se má činnost opakovat, nebo podmínkou kontrolujeme, zda již bylo opakování provedeno v potřebném počtu. Rozlyšujeme 3 typy cyklů: cyklus s podmínkou na konci (s výstupní podmínkou), cyklus s podmínkou na začátku (se vstupní podmínkou), cyklus s řídící proměnnou. 12 / 18 0:40

Cyklus s podmínkou na začátku (se vstupní podmínkou) Jde o nejčastěji používaný cyklus. Nejdříve dojde k vyhodnocení podmínky. Má-li podmínka hodnotu true, provede se tělo cyklu (jeden nebo více příkazů) a pak se provede automaticky návrat k podmínce, ta se opět vyhodnotí. Pokud má podmínka opět hodnotu true, celá činnost se opakuje. Cyklus je ukončen až tehdy, když podmínka nabude hodnoty false. 13 / 18 0:40

Cyklus s podmínkou na konci (s výstupní podmínkou) Nejdříve se vykonají příkazy těla cyklu, pak se provede vyhodnocení podmínky. Má-li podmínka hodnotu true (není pravdivá), provede se návrat na začátek těla cyklu, provedou se příkazy těla cyklu a opět se vyhodnotí podmínka. Tato činnost se opakuje tak dlouho, až podmínka nabude hodnotu false (je pravdivá). Pak je cyklus ukončen. 14 / 18 0:40

Cyklus s řídící proměnnou Cyklus s řídící proměnnou je poněkud zjednodušený cyklus se vstupní podmínkou. Lze jej použít pouze tehdy, jestliže počet opakování je dán explicitně a nezávisí na činnosti prováděné v těle cyklu. Cyklus je řízen řídící proměnnou. Hodnoty řídící proměnné jsou omezeny počáteční (initial) a koncovou (final) hodnotou cyklu. 15 / 18 0:40

Cyklus s řídící proměnnou Pokud je pak hodnota řídící proměnné menší nebo rovna koncové hodnotě, provedou se tyto činnosti: vykoná se tělo cyklu, provede návrat na začátek cyklu, automaticky se zvýší hodnota řídící proměnné o 1. Pokud je hodnota řídící proměnné menší nebo rovna koncové hodnotě, celá činnost se opakuje. Cyklus končí tehdy, když řídící proměnná dosáhne hodnoty vyšší než je hodnota koncová. 16 / 18 0:40

Použité zdroje Vyhledávací algoritmy: Sekvenční vyhledávání. In: [online]. 2.7.2007 [cit. 2013-04-12] Dostupné z: http://www.manualy.net/article.php?articleid=23 TRETEROVÁ, ELIŠKA. Začínáme programovat v JAVĚ: modulový systém dalšího vzdělávání pracovníků škol a školských zařízení v moravskoslezském kraji. druhé (inovace distanční výukové opory). Ostrava: Ostravská univerzita v Ostravě, 2010, s. 8-12. TRETEROVÁ, ELIŠKA. Začínáme programovat v JAVĚ: modulový systém dalšího vzdělávání pracovníků škol a školských zařízení v moravskoslezském kraji.. Ostrava: Ostravská univerzita v Ostravě, 2010, s. 115. 17 / 18 0:40

Konec Děkuji všem přítomným za pozornost. Autor : Vladislav Bednář Kontakt : bednar@sse-najizdarne.cz Vytvořeno : 18. 1. 2014 Střední škola elektrotechnická, Ostrava, Na Jízdárně 30, příspěvková organizace 18 / 18