Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

1

2 ALGORITMIZACE ÚVODNÍ PŘEDNÁŠKA

3 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 ???

5 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

6 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

7 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

8 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.

9 8 SESTAVTE ALGORITMUS

10 9 ŘEŠENÍ

11 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

12 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

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

14 End of Lecture Good Night.


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google