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

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

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

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

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

Základy algoritmizace

Lekce 01 Úvod do algoritmizace

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

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

Vývojové diagramy 1/7

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

Algoritmy a algoritmizace

Matematika Kvadratická rovnice. Kvadratická rovnice je matematický zápis, který můžeme (za pomoci ekvivalentních úprav) upravit na tvar

1 Strukturované programování

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

VISUAL BASIC. Přehled témat

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

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

Příklad 1. Řešení 1a Máme vyšetřit lichost či sudost funkce ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 3

Lomené algebraické výrazy

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

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

Algebraické výrazy-ii

MO-ME-N-T MOderní MEtody s Novými Technologiemi

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

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

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

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

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace a programování

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

6. Lineární (ne)rovnice s odmocninou

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

M - Lomené algebraické výrazy pro učební obory

Metody výpočtu limit funkcí a posloupností

Autoevaluační karta. Škola: Obchodní akademie Pelhřimov, Jirsíkova 875. obchodní akademie. ekonomika, účetnictví, daně. Školní rok: Jméno:

Základy algoritmizace, návrh algoritmu

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.

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

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

3. Celistvé výrazy a jejich úprava 3.1. Číselné výrazy

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

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

M - Algebraické výrazy

Základy algoritmizace a programování

CVIČNÝ TEST 10. OBSAH I. Cvičný test 2. Mgr. Renáta Koubková. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

4. Určete definiční obor elementární funkce g, jestliže g je definována předpisem

Variace. Mocniny a odmocniny

M - Příprava na pololetní písemku č. 1

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

LINEÁRNÍ ROVNICE S ABSOLUTNÍ HODNOTOU

Algebraické výrazy - řešené úlohy

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

II. 3. Speciální integrační metody

Komplexní čísla, Kombinatorika, pravděpodobnost a statistika, Posloupnosti a řady

Variace. Číselné výrazy

1 Polynomiální interpolace

Přednáška 3: Limita a spojitost

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

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

= - rovnost dvou výrazů, za x můžeme dosazovat různá čísla, tím měníme

Martin Hejtmánek hejtmmar

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

M - Příprava na 1. zápočtový test - třída 3SA

Algoritmizace prostorových úloh

DRUHÁ MOCNINA A ODMOCNINA. Irena Sytařová

STŘEDOŠKOLSKÁ MATEMATIKA

7.5.1 Středová a obecná rovnice kružnice

1 Mnohočleny a algebraické rovnice

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

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

Algebraické výrazy. Algebraický výraz je zápis složený z čísel, písmen (označujících proměnné), znaků matematických funkcí ( +, -,, :, 2, ) a závorek.

Požadavky k opravným zkouškám z matematiky školní rok

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

Řešení 1a Budeme provádět úpravu rozšířením směřující k odstranění odmocniny v čitateli. =lim = 0

16. Goniometrické rovnice

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

Požadavky k opravným zkouškám z matematiky školní rok

1 Mnohočleny a algebraické rovnice

2. cvičení z ZI1 - Excel

Lekce 04 Řídící struktury

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

. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0

4.3.8 Vzorce pro součet goniometrických funkcí. π π. π π π π. π π. π π. Předpoklady: 4306

Programování v jazyku LOGO - úvod

Gymnázium Jiřího Ortena, Kutná Hora

M - Příprava na pololetní písemku č. 1

Microsoft Excel kopírování vzorců, adresování, podmíněný formát. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

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

Programovací jazyk Pascal

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

Program a životní cyklus programu

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

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

František Hudek. květen 2012

Kvadratické rovnice. Řešení kvadratických rovnic. Kvadratická rovnice bez lineárního členu. Příklad 1:

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

2.1.4 Funkce, definiční obor funkce. π 4. Předpoklady: Pedagogická poznámka: Následující ukázky si studenti do sešitů nepřepisují.

1 Extrémy funkcí - slovní úlohy

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

Funkce pro studijní obory

Transkript:

ALGORITMIZACE Příklady ze života, větvení, cykly Cíl kapitoly: Uvedení do problematiky algoritmizace Klíčové pojmy: Algoritmus, Vlastnosti správného algoritmu, Možnosti zápisu algoritmu, Vývojový diagram, a konec algoritmu, Sekvence, Větvení, Cyklus Algoritmus přesný postup, který je potřeba k vykonání určité činnosti 1. Podmínky, které algoritmus musí splňovat: mít začátek a konec být věcně správný být jednoznačný být obecný být opakovatelný být srozumitelný 1.1. a konec algoritmu Po konečném počtu kroků musí dojít od počátku do konce. 1.2. Věcná správnost Tato podmínka je velmi důležitá. Porušíme-li podmínku věcné správnosti, pak se tato chyba hned nepozná. Program zdánlivě pracuje, ale má chybné výsledky. Př.: 1. V programech nelze použít výraz se zlomkovou čarou, ale s lomítkem 2. Znak pro odmocninu nelze použít, ale použijeme např. funkci SQRT 1.3. Jednoznačnost Pokud v programu porušíme podmínku jednoznačnosti, pak může program v některých případech (jiná kombinace vstupních dat) buď havarovat, nebo poskytovat špatné výsledky. Př.: Při výpočtu matematických a logických úloh Výrazy se zlomky ošetřit tak, aby jmenovatel bal různý od nuly Při použití funkcí ošetřit oblasti, ve kterých se hodnoty blíží k nevlastnímu bodu Odmocniny v oboru reálných čísel musí být výraz nezáporný 3.11.2010 Algoritmizace 15/1

1.4. Obecnost Každý algoritmus musí řešit co nejširší množství úloh, pro nejširší skupinu uživatelů. Př.: Chceme sestavit algoritmus pro výpočet 2 + 2. Pro jiný součet bychom museli sestavit jiný algoritmus. Proto je nutné algoritmus zobecnit, aby uměl sečíst libovolná čísla. 1.5. Opakovatelnost Správný algoritmus je možné kdykoliv zopakovat a při stejných podmínkách se bude chovat stejně. Př.: Chceme spočítat výraz V = A*B+C. Hodnoty A a B jsme načetli zvenčí, ale neuvedli jsme hodnotu C. Algoritmus musíme upravit tak, aby byla nastavena i hodnota pro proměnnou C 1.6. Srozumitelnost Každý algoritmus musí být natolik srozumitelný, aby mu rozuměl nejen programátor, který algoritmus vytvářel, ale i jiný programátor, který bude na přání uživatele algoritmus upravovat nebo rozšiřovat. Proto pro zápis algoritmů je dobré volit některou z metod, které jsou k tomuto účelu určeny. Je nutné v dostatečné míře používat komentáře, u všech proměnných v algoritmu by měl být vysvětlen jejich význam. 2. Možnosti zápisu algoritmů slovní vyjádření matematický zápis rozhodovací tabulky vývojové diagramy počítačové programy 2.1. Slovní vyjádření algoritmu Slovní popisy algoritmů jsou např. všemožné návody k používání různých výrobků, různé technologické postupy (recepty). Používá se pro: skupinu lidí, kteří nemají programátorské vzdělání pro komunikaci programátora s uživatelem Výhody: domluvíme se i s laikem Jediná možnost, když nic jiného nezbývá Nevýhody: 3.11.2010 Algoritmizace 15/2

nejméně přehledná Nelze zaručit, zda vede k cíli, zda je jednoznačný, přesný a srozumitelný 2.2. Matematický zápis Tato metoda je vhodná pro řešení matematických vztahů. Př.: Kořeny kvadratické rovnice ve tvaru Ax 2 + Bx + C = 0 se řeší podle vzorce Výhody: je jednoznačný Nevýhody: bývá málo podrobný nelze jej přímo zadat počítači 2.3. Rozhodovací tabulky Je vhodná v případech, kdy se v úloze vyskytuje několik možností a vlastní řešení je pro každou možnost jednoduše popsatelné. Př.: rozvrh hodin pro konkrétní třídu tabulka pro výpočet splátek při leasingu na automobil tabulka pro určení logického součtu a součinu dvou logických hodnot Výhody: zápis je jednoznačný vhodný pro případy většího počtu možností, z nichž je pak řešení velice jednoduše popsatelné Nevýhody: nehodí se pro každý typ úloh pokud vyžadujeme delší vysvětlování, pak tabulka strácí přehlednost 2.4. Vývojové diagramy Je to symbolický algoritmický jazyk, používaný pro názorné zobrazení algoritmu. Používá se jako komunikační prostředek: při týmové spolupráci analytiků a programátorů k dokumentačním účelům je přehlednější než výpis programu. Vývojové diagramy se skládají z jednotlivých symbolů mezi sebou spojeny orientovanými čarami. Postup psaní značek je odshora dolů a zleva doprava. 3.11.2010 Algoritmizace 15/3

3. Značky vývojových diagramů START A,B O = 2*PI*R Mezní značka: kreslí se na začátek a konec diagramu a do místa, kde se má běh algoritmu přerušit. Píšeme do ní obvykle na začátku algoritmu název, na konci slovo END a v místě přerušení STOP. Vstup nebo Výstup: předepisuje načtení dat A, B z vnějšího zdroje (např. z klávesnice) respektive předepisuje výstup dat, např. jejich zobrazení na obrazovce. Obsahuje jména proměnných, jejichž hodnoty se mají načíst nebo zobrazit. Zpracování: znázorňuje nějakou činnost programu, během níž dochází k transformaci dat. V bloku může být jedna nebo více instrukcí. Musí mít jeden vstup a jeden výstup. + - Větvení:slouží k větvení programu na základě podmínky, která je uvedena A>5 uvnitř. V případě splnění, pokračuje program větví označenou znaménkem + v opačném případě větví označenou znaménkem -. Cyklus: označuje začátek cyklu o známém počtu opakování. Stejná značka může být i na konci tohoto cyklu s nápisem cyklu. Spojka: umožňuje spojit dvě části vývojového diagramu, které nebylo možné nakreslit souvisle. Spojky na konci a na začátku musí být označeny stejnými čísly. Podprogram: tato značka předepisuje vykonání činnosti, která je definována jiným vývojovým diagramem. 4. Základní konstrukce algoritmu 3.11.2010 Algoritmizace 15/4

Sekvence nejjednodušší typ algoritmu, skládající se jen ze sekvenčních bloků Větvení pro ošetření nežádoucích důsledků nebo rozvětvení algoritmu při několika možnostech Cyklus opakování určité části algoritmu buď se stejnými, nebo pokaždé jinými daty 4.1. Sekvence 1. Výměna obsahu dvou buněk pomocí pomocné buňky: měna obsahu dvou buněk pomocí pomocné buňky: Čti: A, B POM:=A A:=B B:=POM Zobraz: A, B 3.11.2010 Algoritmizace 15/5

2. Výměna obsahu dvou buněk bez pomocné buňky: Čti: A, B A:=A-B B:=B+A A:=B-A Zobraz: A, B 3.11.2010 Algoritmizace 15/6

3. Objem a plocha válce: Čti: R,V OBJ:=PI*R*R*V PLO:=2*PI*R*R+ 2*PI*R*V Zobraz: OBJ,PLO 3.11.2010 Algoritmizace 15/7

4.2. Větvení 1. Podíl dvou čísel - musíme ošetřit nenulovost dělitele Čti: A,B A<>0 Nelze dělit Zobraz:C=A/B 3.11.2010 Algoritmizace 15/8

2. Odmocnina výraz pod odmocninou nezáporný Čti: A A>=0 Nelze odmocnit Zobraz:SQRT(A) 3.11.2010 Algoritmizace 15/9

3. Zjištění, zda je číslo kladné, či záporné Čti: A A>0 Číslo je záporné Číslo je kladné 3.11.2010 Algoritmizace 15/10

4. Porovnání dvou čísel Čti: A,B A>B B je větší A je větší 3.11.2010 Algoritmizace 15/11

4.3. Cyklus S pevným počtem opakování Řízený podmínkou na začátku cyklu Řízený podmínkou na konci cyklu 4.3.1. Cyklus s pevným počtem opakování 1. Součet prvních N čísel. START čti N S = 0 P = 1 - P <= N Zobraz S + S = S + P END P = P + 1 3.11.2010 Algoritmizace 15/12

4.3.2. Řízený podmínkou na začátku cyklu 1. Aritmetický průměr řady kladných čísel ukončených nulou START S = 0 P=0 cis=0 cis<>0 P<>0 Nemá řešení čti CIS Zobraz Prum=s/P S = S +CIS P=P+1 END 3.11.2010 Algoritmizace 15/13

4.3.3. Řízený podmínkou na konci cyklu 1. zjistěte společného dělitele dvou přirozených čísel Čti: A,B A>B B=B-A A=A-B A<>B Zobraz:A 3.11.2010 Algoritmizace 15/14

Použitá literatura: 1. Jana Pšeničková :Algoritmizace, Computer Media 2007 2. Morkes David:Základy programování Computer Press Praha 1998, Učebnice pro střední školy 3. Kukal Jaromír: Myšlením k algoritmu Grada 1992 3.11.2010 Algoritmizace 15/15