Lekce 01 Úvod do algoritmizace

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

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

Algoritmizace. 1. Úvod. Algoritmus

Lekce 04 Řídící struktury

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

Základy algoritmizace

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

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

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

Algoritmizace prostorových úloh

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

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

Identifikátor materiálu: ICT-4-01

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

Základy algoritmizace a programování

VISUAL BASIC. Přehled témat

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

2. lekce Algoritmus, cyklus Miroslav Jílek

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh

Základy algoritmizace a programování

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

Algoritmy a algoritmizace

Vývojové diagramy 1/7

ALGORITMIZACE A PROGRAMOVÁNÍ

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

Algoritmy a datové struktury

MATURITNÍ TÉMATA Z MATEMATIKY

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

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

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

Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9.

Programy na PODMÍNĚNÝ příkaz IF a CASE

MĚSÍC MATEMATIKA GEOMETRIE

Pojem algoritmus a jeho základní vlastnosti

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

Očekávané výstupy z RVP Učivo Přesahy a vazby

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

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:

Matematika PRŮŘEZOVÁ TÉMATA

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

ZŠ ÚnO, Bratří Čapků 1332

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

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

2 Strukturované datové typy Pole Záznam Množina... 4

Algoritmizace a programování

Matematika a její aplikace Matematika

Úvod do programování. Lekce 1

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

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

A B C D E F 1 Vzdělávací oblast: Matematika a její aplikace 2 Vzdělávací obor: Matematika 3 Ročník: 8. 4 Klíčové kompetence. Opakování 7.

Sada 1 - Základy programování

Očekávané výstupy z RVP Učivo Přesahy a vazby

Předpokládané znalosti žáka 1. stupeň:

C# konzole Podíl dvou čísel, podmínka IF

Témata absolventského klání z matematiky :

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

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

ZŠ ÚnO, Bratří Čapků 1332

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

A B C D E F 1 Vzdělávací oblast: Matematika a její aplikace 2 Vzdělávací obor: Matematika 3 Ročník: 8. 4 Klíčové kompetence. Opakování 7.

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

MOCNINY A ODMOCNINY. Standardy: M M PYTHAGOROVA VĚTA. Standardy: M M

Učební osnovy Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9.

TEMATICKÝ,časový PLÁN vyučovací předmět : matematika ročník: 5. Školní rok_2014/2015 vyučující: Lenka Šťovíčková. Zařazená průřezová témata OSV OSV

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

CVIČNÝ TEST 48. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

Matematika a její aplikace Matematika

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

UČEBNÍ OSNOVY ZÁKLADNÍ ŠKOLA P. BEZRUČE, TŘINEC

Měsíc: učivo:. PROSINEC Numerace do 7, rozklad čísla 1 7. Sčítání a odčítání v oboru do 7, slovní úlohy.

Algoritmizace a programování

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Matematika - 6. ročník Očekávané výstupy z RVP Učivo Přesahy a vazby desetinná čísla. - zobrazení na číselné ose

Algoritmizace a programování

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

Očekávané výstupy podle RVP ZV Učivo Přesahy a vazby

Algoritmizace prostorových úloh

CVIČNÝ TEST 19. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

Operátory. Základy programování 1 Tomáš Kühr

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

Předmět: MATEMATIKA Ročník: PRVNÍ Měsíc: učivo:. ZÁŘÍ ŘÍJEN LISTOPAD PROSINEC

Střední odborná škola a Střední odborné učiliště, Hořovice

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

Maturitní otázky z předmětu MATEMATIKA

- čte a zapisuje desetinná čísla MDV kritické čtení a - zaokrouhluje, porovnává. - aritmetický průměr

Předmět: Matematika. Pojem rovina Rovinné útvary a jejich konstrukce Délka úsečky, jednotky délky a jejich převody. Rovnoběžky, různoběžky, kolmice

Očekávané výstupy z RVP Učivo Přesahy a vazby

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

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

Comenius Logo. Úterý 20. března. Princip programování. Prostředí Comenius Logo

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

Vyučovací předmět / ročník: Matematika / 4. Učivo

Algoritmizace a programování

Člověk a jeho svět. ČJ a literatura

Micro:bit lekce 3. - Konstrukci If Then a If Then Else najdete v kategorii Logic - Podmínky od If (např. porovnání < >= atd.) najdete taktéž v Logic

ŠVP Školní očekávané výstupy

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Transkript:

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 01 Úvod do algoritmizace Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Vysvětlení základních pojmů Zápis algoritmu pomocí vývojových diagramů Základní stavební prvky algoritmu Posloupnost Větvení Cyklus CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 2

Algoritmus je postup (posloupnost operací) vedoucí k řešení dané úlohy Algoritmus je vyčerpávající předpis všechny možnosti, které mohou při řešení úlohy nastat, musí být do algoritmu zařazeny Základní vlastnosti: Determinovanost pro každý krok je jednoznačně určen krok, kterým se bude pokračovat Konečnost každý výpočet při zadání přípustných vstupních údajů za konečnou dobu skončí a dá požadované výsledky Hromadnost algoritmus řeší celou třída konkrétních úloh vzájemně se lišících vstupními údaji CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 3

Existuje více způsobů Slovní popis Pro exaktní popis je příliš komplikovaný Závislý na jazyce a způsobu vyjadřování autora Grafický zápis pomocí vývojového diagramu Přehledný a jednoznačný zápis algoritmu Odstraňuje nevýhody slovního popisu algoritmu Základní značky pro zápis algoritmu (stará norma ČSN 36 9030) CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 4

MS Word Project Draw (knihovna Flowchart) CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 5

Smart Draw CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 6

Operační blok Rozhodovací blok Vstupní a výstupní blok Konkrétní specifikace V/V: tisk, vstup z klávesnice, zobrazení na obrazovce Mezní značka CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 7

Start algoritmu SLOVNÍ POPIS Přijíždí auto zleva? NE Přijíždí auto zprava? NE Přejdi do poloviny cesty ANO ANO 1. Pokud je cesta volná zleva, pokračuj bodem 2, jinak se vrať k bodu 1. 2. Pokud je cesta volná zprava, přejdi do poloviny cesty a pokračuj bodem 3, jinak se vrať k bodu 1. 3. Zkontroluj, zda je stále volná cesta zprava. Pokud ano, pokračuj bodem 4, jinak opakuj bod 3. 4. Přejdi na druhou stranu. JINÝ SLOVNÍ POPIS Přijíždí auto zprava? NE Dokonči přecházení cesty ANO 1. Dokud přijíždějí auta zleva čekej, jinak pokračuj bodem 2. 2. Pokud přijíždějí auta zprava, vrať se na bod 1, jinak přejdi do poloviny cesty. 3 Dokud přijíždějí auta zprava, tak čekej, jinak dokonči přecházení. Konec CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 8

Obecně lze zapisovat jakýkoliv pokyn bez vazby na nějaký programovací jazyk Příklad: Uvař čaj, vezmi pero, otoč se doprava o 90 Sečti čísla x a y Vypiš druhou mocninu čísla R Problém může nastat ve fázi přepisu do programovacího jazyka CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 9

Vyjadřují posloupnost vykonávání příkazů Značí se orientovanými úsečkami Pokud není naznačen směr, je implicitní směr shora dolů nebo zleva doprava. Obecně vstupů do bloku může být více, výstup jen jeden (mimo blok větvení). Doporučení je jen jeden vstup Rozvětvení je povoleno jen v bloku větvení. CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 10

Jeden začátek, jeden konec algoritmu Strukturované programování používání standardních konstrukcí, které odpovídají řídícím strukturám v běžných programovacích jazycích (viz dále) CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 11

CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 12

CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 13

Proměnná je místo pro uložení hodnoty Identifikátor proměnné představuje pojmenování (pravidla pro identifikátory jsou závislá na jazyce) Typ proměnné specifikuje, jakou hodnotu lze uložit (typ, rozsah, přesnost) Běžně se rozlišují Jednoduché proměnné pro celé číslo, reálné číslo, znak, textový řetězec a logickou hodnotu Strukturované proměnné pro uložení více hodnot (např. pole čísel, záznam pro uschování souvisejících hodnot), přístup pomocí indexů, přístup k jednotlivým položkám CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 14

Lze zapisovat obecně Příklad: Do proměnné A ulož součet hodnot X a Y Do proměnné A ulož hodnotu zadanou z klávesnice Vypiš obsah proměnné A na obrazovku Nebo matematickým zápisem (operace přiřazení je různá v jednotlivých jazycích) či nějakým srozumitelným pseudojazykem Příklad: A = X + Y X = X + 1 A X + Y TISK A CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 15

Výraz je posloupnost symbolů, konstant a proměnných, která má nějakou hodnotu. Příklad: 10 X + 3 A > B Počet stran Jméno knihy Podmínka je výraz, na základě kterého můžeme rozhodovat, tj. výraz jehož výsledná hodnota je logického typu (ano-ne, pravda-nepravda) Příklad: Svítí slunce A > B CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 16

Příkaz 1 Příkaz 2 Příkaz n CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 17

Výpočet přepony Načti strany trojúhelníku a,b c a 2 b 2 Vypiš c Konec CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 18

Algoritmus na uvaření čaje Napsání dopisu Součet dvou čísel Výpočet obsahu a obvodu kruhu Nakreslení čtverce o zadané straně Většinu reálných úloh pouze s využitím posloupnosti nelze řešit Dělení dvou čísel, uvaření čaje s možností volby druhu čaje, množství cukru, výpočet směrnice úsečky CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 19

Podmínka ANO NE Podmínka ANO NE Příkaz Příkaz 2 Příkaz 1 CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 20

Výpočet přepony Načti a, b NE a>b ANO max = b max = a Vypiš max Konec CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 21

Uvaření kávy s možností s cukrem, s mlékem Porovnání dvou čísel (větší, menší, rovnost) Maximum tří čísel Porovnání tří čísel Dělení dvou čísel Směrnice přímky, zadané dvěma body Určení, zda čísla a, b, c mohou být stranami trojúhelníka. Pokud ano, zda je pravoúhlý. CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 22

Modifikujte na kompletní variantu (komplexní kořeny, a=0, případně a i b = 0)? CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 23

Podmínka V1 V2 V3 V4 V5 Příkaz 2 Příkaz 2 Příkaz 3 Příkaz 4 Příkaz 5 CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 24

CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 25

CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 26

opakuj pro i=1..5 Podmínka NE ANO Příkaz Příkaz Příkaz NE Podmínka i ANO CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 27

Cyklus, kde je dopředu znám počet opakování CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 28

Cyklus, kde neznám počet opakování Cyklus má ukončovací podmínku CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 29

Největší společný dělitel dvou čísel Výpočet faktoriálu přirozeného čísla Průměr zadávaných známek Nakreslení pravidelného n-úhelníku Určení, zda je číslo prvočíslem Přihlášení do sítě (zadání jména a hesla) Zdání PIN při platbě kartou (max. dva neúspěšné pokusy) Převod čísla z desítkové do dvojkové soustavy CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 30

Napište algoritmus pro zjednodušenou hru NIM Odebírání zápalek pouze z jedné hromádky Začíná se s počtem N zápalek Střídají se dva hráči Každý odebere 1, 2 nebo 3 zápalky Kdo odebere poslední, prohrál Jednoduchá varianta pouze požadavek na funkčnost Složitější varianta s inteligencí vítězná strategie Originální varianta využívá 3 hromádky CZ.1.07/1.3.12/04.0006 VPSS_L1 (verze 01.2/2012) - Úvod do algoritmizace 31