Algoritmizace prostorových úloh

Podobné dokumenty
Algoritmizace prostorových úloh

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

Algoritmizace prostorových úloh

Programovací jazyk Pascal

Algoritmizace prostorových úloh

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

Úvod do programování - Java. Cvičení č.4

Algoritmizace a programování

Algoritmizace prostorových úloh

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

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

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

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

Algoritmizace. 1. Úvod. Algoritmus

Základy algoritmizace

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

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

6 Příkazy řízení toku

Lekce 01 Úvod do algoritmizace

Algoritmizace a programování

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

Algoritmizace prostorových úloh

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

2. lekce Algoritmus, cyklus Miroslav Jílek

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

Úvod do programovacích jazyků (Java)

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Sada 1 - PHP. 03. Proměnné, konstanty

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 algoritmizace a programování

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:

Řídicí struktury. alg3 1

PODPROGRAMY PROCEDURY A FUNKCE

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Informatika Algoritmy

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

Zápis programu v jazyce C#

Základy algoritmizace a programování

Funkce, intuitivní chápání složitosti

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Algoritmizace a programování

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

5 Přehled operátorů, příkazy, přetypování

Úvod do programování. Lekce 1

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

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

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Sada 1 - Základy programování

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

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Algoritmizace prostorových úloh

Algoritmizace. Cíle předmětu

Algoritmizace a programování

Poslední nenulová číslice faktoriálu

Algoritmizace a programování

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Algoritmizace a programování

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

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

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

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III

Algoritmy a algoritmizace

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

2 Datové typy v jazyce C

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

1. Téma 03 - Rozhodování

Lekce 04 Řídící struktury

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

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

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

Algoritmy I. Cvičení č.1, 2 ALGI 2016/17

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

Datové typy strana 29

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

Algoritmizace prostorových úloh

Program a životní cyklus programu

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

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

Formátové specifikace formátovací řetězce

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr

6. Příkazy a řídící struktury v Javě

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

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č

Základy programování (IZP)

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Programování v C++ 1, 1. cvičení

10. Složitost a výkon

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

PROGRAMOVÁNÍ V SHELLU

Transkript:

INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Algoritmus Daniela Szturcová Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. ESF napomáhá rozvoji lidských zdrojů a podnikatelského ducha.

Historie Asi 830 universita v Bagdádu. Muhammad ibn Músá al-khwárizmí napsal knihu, kde uváděl různé výpočty s indickými čísly. http://www.onislam.net/english/healthand-science/science/412104-alkhwarzimi-the-father-of-algebra.html

Historie Zkuste vynásobit MMXV a CCCLXV! "Dixit Algoritmi" "Tak praví al Khwárizmí" (12. století přeložil Adelard of Bath: "al-khwārizmī on the Hindu Art of Reckoning") http://www.learn-persian.com/english/khwarizmi_creator_of_algorithm_algebra.php

Definice Algoritmem můžeme označit předpis, kterým popíšeme postup řešení nějaké úlohy či problému. Potřebujeme: hodnoty vstupních dat, předepsané kroky řešení, požadovaný výsledek.

Vlastnosti algoritmu Konečnost konečný počet kroků, požadovaný výsledek v rozumném čase. Determinovanost jednoznačný, přesný a srozumitelný předpis, formální jazyky. Rezultativnost správný výsledek. Hromadnost řešení skupiny podobných úloh. Opakovatelnost.

Zápis algoritmu Pomocí přirozeného jazyka (slovní popis), pomocí grafického znázornění (např. vývojový diagram), pomocí speciálního jazyka (pseudojazyk), pomocí programovacího jazyka.

Zápis pomocí přirozeného jazyka http://www.scanzen.cz/knihy/domaci-kuchrka

Zápis pomocí přirozeného jazyka

Základní pojmy Datový typ určuje hodnoty, kterých může nabývat (datový) objekt, množinu přípustných operací nad tímto datovým typem.

Datový typ Datový typ určuje hodnoty: typ popis velikost min. hodnota max. hodnota byte celé číslo 8 bitů -128 127 short celé číslo 16 bitů -32768 32767 int celé číslo 32 bitů -2147483648 2147483647 long celé číslo 64 bitů 9223372036854 780000 922337203685 4780000 float reálné číslo 32 bitů -3.40282e+38 +3.40282e+38 double reálné číslo 64 bitů -1.79769e+308 +1.79769e+308

Datový typ Datový typ určuje množinu operací:

Základní pojmy Datovým objektem může být konstanta, proměnná, výraz, funkce.

Základní pojmy Identifikátorem označujeme jméno, která dáváme konstantám, proměnným, funkcím. Identifikátor je tvořen řetězcem znaků, kterými jsou písmena anglické abecedy, číslice, případně znak podtržítko. První znak řetězce je písmeno nebo znak podtržítko, pak může následovat libovolná sekvence písmen, číslic a znak podtržítko. Délka identifikátoru může být libovolná, je však obvykle omezena podle prostředí, ve kterém řešíme úlohu. _zemcata, Zemcata, zemcata

Základní pojmy Konstanta je veličina, jejíž hodnota zůstává po dobu řešení problému stejná. Může být použita dvěmi způsoby: přímo: 63, 10 2, ABC nebo pojmenováním označena identifikátorem, (řecké písmeno PI používáme jako jméno konstanty 3,14 ) potato:=4, PI:=3.14

Základní pojmy Proměnná označujeme tímto pojmem takovou veličinu, která může měnit hodnotu během řešení problému. Proměnná se zavádí definicí pojmenováním proměnné a určením jejího datového typu. int potato; // deklarace proměnné potato int strana, stred; // deklarace proměnných strana, stred float pi=3.1428; // deklarace a přiřazení hodnoty proměnné pi

Základní pojmy Výraz je tvořen operátory, operandy a speciálními znaky. Operandem může být: konstanta, proměnná, výraz, a volání funkce.

Základní pojmy Příkazem (může být označen pojmem řídící struktura) rozumíme jednotlivé kroky algoritmu a návaznosti mezi nimi. Rozlišujeme jednoduché a strukturované příkazy. Celý algoritmus lze chápat jako jeden příkaz.

Řídící struktury Představují konstrukce programu s určitým významem. Dělíme je na jednoduché a strukturované. Mezi jednoduché příkazy řadíme: prázdný příkaz, volání funkce.

Řídící struktury Strukturované příkazy: Sekvence, posloupnost. Selekce. Cyklus.

Sekvence Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení předchozího příkazu. příkaz1 příkaz2... příkazn

Selekce Selekce umožňuje podmínit provedení následujícího příkazu. Splnění podmínky určí, který z příkazů bude vykonán v závislosti na splnění či nesplnění podmínky. Lze použít úplnou, nebo neúplnou podmínku.

Úplná selekce if (podmínka) { příkaz1 } else { příkaz2 }

Použití selekce

Neúplná selekce if (podmínka) { příkaz1 }

Cyklus Cyklus je část algoritmu, která je opakovaně prováděna za splnění řídící podmínky. Opakující se příkaz (příkazy) nazýváme tělo cyklu. Rozlišujeme dva typy cyklů: indukční řídící podmínka cyklu určuje, zda bude provedena posloupnost příkazů, která tvoří tělo cyklu, nebo dojde k předání řízení za tělo cyklu, iterační počet opakování těla cyklu závisí na hodnotě řídící proměnné.

Druhy cyklů Cyklus s podmínkou před vykonáním těla cyklu Cyklus s podmínkou za tělem cyklu Cyklus s pevným počtem opakování

Cyklus s podmínkou před vykonáním těla cyklu U tohoto cyklu dochází k jeho ukončení v případě, že podmínka není splněna. Tělo cyklu se tedy nemusí vykonat ani jednou. while (výraz) { příkaz }

Cyklus s podmínkou za tělem cyklu Tělo cyklu provede minimálně jednou, protože k prvnímu testování podmínky dojde až po prvním průchodu tělem cyklu. do { příkaz } while (výraz)

Cyklus s pevným počtem opakování Tělo cyklu provede minimálně jednou, protože k prvnímu testování podmínky dojde až po prvním průchodu tělem cyklu. for (výraz1; výraz2; výraz3) { příkaz }

Zásady pro řízení cyklů Před zahájením cyklu musí řídící proměnné nabývat smysluplných hodnot, umožňujících jeho ukončení. Tělo indukčního cyklu musí zajistit změnu řídících proměnných cyklu.