ALGORITMIZACE ÚVODNÍ PŘEDNÁŠKA 2 SLOVO ALGORITMUS VZNIKLO ZE JMÉNA ARABSKÉHO MATEMATIKA AL-KHWARIZMIHO, KTERÝ V DEVÁTÉM STOLETÍ SEPSAL ROZSÁHLOU KOLEKCI.

Slides:



Advertisements
Podobné prezentace
Pravidla pro počítání s mocninami
Advertisements

Dualita úloh lineárního programování a analýza citlivosti
Algoritmy – struktura a zápis
Algoritmizace Vývojové diagramy.
ALGO – Algoritmizace 1. cvičení
Genetické algoritmy. V průběhu výpočtu používají náhodné operace. Algoritmus není jednoznačný, může projít více cestami. Nezaručují nalezení řešení.
Algoritmy I Cvičení č. 3.
Algoritmizace Cíl předmětu - naučit se sestavovat algorimy řešení základních problémů a zapisovat je v jazyku Java. Jádrem předmětu jsou data, typy, výrazy.
Nejmenší společný násobek
Společný násobek nejmenší společný násobek (n)
Dělitelnost přirozených čísel
Informatika pro ekonomy II přednáška 1
Společný dělitel, největší společný dělitel (D)
Největší společný dělitel – teorie a procvičování
Největší společný dělitel
Jazyk vývojových diagramů
Registrační číslo projektu: III/2VY_32_inovace_741
Dělitelnost přirozených čísel
Největší společný dělitel
Řadicí algoritmy autor: Tadeáš Berkman.
Algoritmizace.
25. ALGORITMIZACE A PROGRAMOVÁNÍ
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Algoritmus po krocích rozepsaný návod k nějaké činnosti
Informatika I 2. přednáška
Programování a algoritmizace 1
Jazyk vývojových diagramů
Obchodní akademie, Náchod, Denisovo nábřeží 673
Jiří Znoj - zno Tvorba konkordace Algoritmy II 3. projekt, 5. zadání Jiří Znoj - zno
VY_42_INOVACE_386_NEJMENŠÍ SPOLEČNÝ NÁSOBEK, NEJVĚTŠÍ SPOLEČNÝ DĚLITEL
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Von Neumannovo schéma.
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Algoritmizace a programování Algoritmizace – základní pojmy - 01
doc. RNDr. Zdeněk Botek, CSc.
ALGO – Algoritmizace 4. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Algoritmus a jeho vlastnosti
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
doc. RNDr. Zdeněk Botek, CSc.
polynom proměnné x f = anxn + an-1xn-1 + ……. + a0
Algebra v informatice Antonín Jančařík.
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ.1.07/1.5.00/ Šablona:III/2č. materiálu:VY_32_INOVACE_110.
DĚLITELNOST PŘIROZENÝCH ČÍSEL
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ
VY_42_INOVACE_87_ZÁKLADNÍ TVAR ZLOMKU Jméno autora VMIng. Miroslava Lačná Datum vytvoření VMčerven 2011 Ročník použití VM7. ročník Vzdělávací oblast/obormatematika.
České vysoké učení technické Fakulta elektrotechnická Datové typy, výrazy vstup, výstup Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02.
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ PROCEDURY BEZ PARAMETRŮ – EUKLEIDŮV ALGORITMUS Vytvořila: RNDr. Ivanka Dvořáčková Gymnázium K. V. Raise, Hlinsko,
ALGO – Algoritmizace 7. cvičení – ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Řízení běhu programu, řídící struktury A0B36PRI - PROGRAMOVÁNÍ
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
Algoritmizace a programování Aritmetické, Relační a Logické operátory, Knihovny.
Algoritmizace a programování Algoritmy 2 – Vývojové diagramy (sekvence)
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_10_NEUMANN_S1.
Základní pojmy v automatizační technice
Co mají společného zlomky
Algoritmizace – základní pojmy
Základní pojmy v automatizační technice
Petr Fodor.
C# konzole – Podíl dvou čísel, podmínka IF
Výukový materiál zpracován v rámci projektu
Programujeme lépe a radostněji
Čísla soudělná a nesoudělná Společný dělitel
Algoritmizace a programování
Výukový materiál zpracovaný v rámci projektu
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
ZAL – 4. cvičení 2016.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

ALGORITMIZACE ÚVODNÍ PŘEDNÁŠKA

2 SLOVO ALGORITMUS VZNIKLO ZE JMÉNA ARABSKÉHO MATEMATIKA AL-KHWARIZMIHO, KTERÝ V DEVÁTÉM STOLETÍ SEPSAL ROZSÁHLOU KOLEKCI ALGORITMŮ. POČÍTAČOVÉ ALGORITMY MAJÍ VĚTŠINOU PODOBU PROGRAMŮ. PROTOŽE SE TERMÍN ALGORITMUS VZTAHUJE SPÍŠE K POSLOUPNOSTI OPERACÍ NEŽ KE KONKRÉTNÍMU ZPŮSOBU, JAKÝM JSOU POPSÁNY, JE MOŽNÉ VYJÁDŘIT STEJNÝ ALGORITMUS V MNOHA RŮZNÝCH PROGRAMOVACÍCH JAZYCÍCH.

???

4 EUKLIDOVA ÚLOHA 4 Úloha: najděte největšího společného dělitele čísel 6 a 15 Řešení: 4 Popišme postup tak, aby byl použitelný pro dvě libovolná přirozená čísla, nejen pro 6 a 15: označme zadaná čísla x a y a menší z nich d není-li d společným dělitelem x a y, pak zmenšíme d o 1, test opakujeme a skončíme, až d bude společným dělitelem x a y Poznámka: 4 Význam symbolů x, y a d použitých v algoritmu: jsou to proměnné (paměťová místa), ve kterých je uložena nějaká hodnota, která se může v průběhu výpočtu měnit

5 ŘEŠENÍ Úloha: najděte největšího společného dělitele čísel 6 a 15 krokxydpoznámka 6 15?zadání vstupních dat d není dělitelem y, proveď krok d není dělitelem x, proveď krok d není dělitelem x ani y, proveď krok d je dělitelem x i y, proveď krok výsledek je hodnota 3

6 ZOBECNĚNÍ 4 Úloha: najděte největšího společného dělitele 4 Přesnější popis: Vstup: přirozená čísla x a y Výstup: nsd(x,y) Postup: 1. Je-li x<y, pak d má hodnotu x, jinak d má hodnotu y 2. Opakuj krok 3, pokud d není dělitelem x nebo d není dělitelem y 3. Zmenši d o 1 4. Výsledkem je hodnota d 4 Sestavili jsme algoritmus pro výpočet největšího společného dělitele dvou přirozených čísel

7 NAVRHNĚTE ALGORITMUS PRO PŘÍPRAVU KÁVY 1.UVAŘIT KÁVU 2. ZAPNOUT SPORÁK 3. UVAŘIT NEZBYTNÉ MNOŽSTVÍ VODY 4. NASYPAT MLETOU KÁVU DO ŠÁLKU 5. ZALÍT KÁVU VAŘÍCÍ VODOU 6. OSLADIT PODLE CHUTI 7. POČKAT, NEŽ KÁVA ZÍSKÁ PŘÍSLUŠNÉ AROMA.

8 SESTAVTE ALGORITMUS

9 ŘEŠENÍ

10 VZESTUPNÉ SETŘÍDĚNÍ BALÍČKU KARET 1. KARTU VYJMEME A TA SE STANE PRVNÍ KARTOU SETŘÍDĚNÉHO BALÍČKU. PAK HLEDÁME NEJMENŠÍ KARTU VE ZBYTKU BALÍČKU. POSTUP SE OPAKUJE, DOKUD NEVYČERPÁME NESETŘÍDĚNÉ KARTY. PROTOŽE MÁME n KARET, Z NICHŽ PRO KAŽDOU POTŘEBUJEME n POROVNÁNÍ, ALGORITMUS JE ŘÁDU n^2. 2. REKURZIVNÍ TŘÍDĚNÍ – PROJDEME BALÍČKEM JEDNOU A PŘEMÍSTÍME KARTY S HODNOTOU MENŠÍ NEŽ PRŮMĚR DO SPODNÍ POLOVINY BALÍČKU; KARTY S NADPRŮMĚRNÝMI HODNOTAMI ZŮSTANOU V HORNÍ POLOVINĚ. PAK KAŽDOU POLOVINU BALÍČKU SETŘÍDÍME STEJNÝM ALGORITMEM. REKURZIVNÍ POUŽITÍ ALGORITMU NA OBĚ POLOVINY BALÍČKU ZNAMENÁ JEHO REKURZIVNÍ POUŽITÍ NA KAŽDOU POLOVINU PŮLBALÍČKŮ ATD. KAŽDÝ REKURZIVNÍ KROK PŮLÍ POČET KARET, KTERÉ SE MAJÍ TŘÍDIT; REKURZE KONČÍ, ZBÝVÁ-LI JEDINÁ KARTA – V TOM PŘÍPADĚ JE JIŽ SETŘÍDĚNÁ. VZHLEDEM K TOMU, ŽE ALGORITMUS ZAHRNUJE OPAKOVANÉ DĚLENÍ KARET, DOKUD NEMÁME POUZE JEDINOU, POTŘEBUJE ČAS ÚMĚRNÝ TOMU, KOLIKRÁT LZE ROZDĚLIT n KARET – JINÝMI SLOVY DVOJKOVÝ LOGARITMUS POČTU KARET

11 ELEGANTNĚJŠÍ ALGORITMUS EXISTUJE ELEGANTNĚJŠÍ REKURZIVNÍ ALGORITMUS, PRO KTERÝ NEPOTŘEBUJEME, ABY BYLY KARTY SEKVENČNĚ OČÍSLOVÁNY; JE VHODNÝ NAPŘ. K SEŘAZENÍ VELKÉHO POČTU VIZITEK. ALGORITMUS SE NAZÝVA MERGE SORT ( TŘÍDĚNÍ SLÉVÁNÍM) TŘÍDĚNÍ SLÉVÁNÍM TĚŽÍ ZE SKUTEČNOSTI, ŽE JE JEDNODUCHÉ SLÍT DVA JIŽ SETŘÍDĚNÉ SLOUPEČKY DO JEDNOHO (ROVNĚŽ SETŘÍDĚNÉHO) TAK, ŽE POSTUPNĚ BEREME NEJVYŠŠÍ KARTY Z JEDNOHO NEBO DRUHÉHO SLOUPCE (VŽDY BEREME TU VYŠŠÍ).POKUD SLOUPEC SESTÁVÁ Z JEDINNÉ KARTY, PAK JE JIŽ SETŘÍDĚNÝ. JINAK ROZDĚL SLOUPEC NA DVA A REKURZIVNĚ POUŽIJ „MERGE SORT“ K SETŘÍDĚNÍ OBOU POLOVIN A JEJICH ZKOMBINOVÁNÍ S VYUŽITÍM VÝŠE POPSANÉ PROCEDURY

12 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO DOMÁCÍ ÚKOL

End of Lecture Good Night.