XD16HT1 Semestrální práce Algoritmy ČVUT FEL obor STM - Softwarové inženýrství, kombinované studium 4. semestr

Podobné dokumenty
Algoritmus (nebo dřívějším pravopisem algorithmus)

Algoritmizace a programování

Slovní úlohy vedoucí na lineární rovnice I

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

Algoritmizace a programování

Miroslav Čepek

PRÁVNICKÉ OSOBY POJEM A KATEGORIZACE

STANDARD 3. JEDNÁNÍ SE ZÁJEMCEM (ŽADATELEM) O SOCIÁLNÍ SLUŽBU

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

3. Polynomy Verze 338.

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním

Těhotenský test pro zrakově postižené Tereza Hyková

Příprava na 1. čtvrtletní písemku pro třídu 1EB

Digitální učební materiál

Povinnosti provozovatelů bytových domů na úseku požární ochrany

4.5.1 Magnety, magnetické pole

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

MATEMATIKA A BYZNYS. Finanční řízení firmy. Příjmení: Rajská Jméno: Ivana

1.2.5 Reálná čísla I. Předpoklady:

Jak jednat. se stavebním úřadem. Michal Lalík. e s. stavebnímu zákonu z praxe

Seriál: Management projektů 7. rámcového programu

Regenerace zahrady MŠ Neděliště

Masarykova univerzita Právnická fakulta

Kreativní malování. s dětmi. Dana Cejpková

7. Domy a byty Charakteristika domovního fondu

Aritmetika s didaktikou II.

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Cyklus while, do-while, dělitelnost, Euklidův algoritmus

Výzva k podání nabídek (zadávací dokumentace)

Metody hodnocení rizik

HPN. projekt. s.r.o. OBEC STARÉ MĚSTO PASPORT MÍSTNÍCH KOMUNIKACÍ. katastrální území: Staré Město, Petrušov, Radišov

R O Z S U D E K J M É N E M R E P U B L I K Y

Výzva k podání nabídek do výběrového řízení. Zadávací podmínky

Zadávací dokumentace pro podlimitní veřejnou zakázku na dodávky

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE

1.4.1 Výroky. Předpoklady: Výrok je sdělení, u něhož má smysl otázka, zda je či není pravdivé

Řešení: Dejme tomu, že pan Alois to vezme popořadě od jara do zimy. Pro výběr fotky z jara má Alois dvanáct možností. Tady není co počítat.

3 nadbytek. 4 bez starostí

DODATEČNÉ INFORMACE Č. 4

VÝZVA K PODÁNÍ NABÍDKY A PROKÁZÁNÍ SPLN NÍ KVALIFIKACE ZADÁVACÍ DOKUMENTACE ZADÁVACÍ DOKUMENTACE

Názory na bankovní úvěry

Hydrogeologie a právo k

Úklidové služby v objektu polikliniky

Statutární město Most Radniční 1 Most. Úsvit. Projekt partnerské spolupráce při zlepšování situace v sídlišti Chanov

21 SROVNÁVACÍ LCA ANALÝZA KLASICKÝCH ŽÁROVEK A KOMPAKTNÍCH ZÁŘIVEK

Obsah. Trocha právničiny

Matematický model kamery v afinním prostoru

RUSSELŮV PARADOX RUSSELLŮV PARADOX

1 Matematické základy teorie obvodů

Autorizovaným techniků se uděluje autorizace podle 5 a 6 autorizačního zákona v těchto oborech a specializacích:

Ukázka knihy z internetového knihkupectví

účetních informací státu při přenosu účetního záznamu,

ZADÁVACÍ DOKUMENTACE. k zakázce malého rozsahu: ZAKÁZKA MALÉHO ROZSAHU NA DODÁNÍ NÁBYTKU V RÁMCI PROJEKTU KVALITNÍ A EFEKTIVNÍ VÝUKA.

Směrnice Rady města č. 2/2011

Základní umělecká škola Sokolov, Staré náměstí 37, Sokolov

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

1.2.7 Druhá odmocnina

9 METODICKÉ POKYNY AD HOC MODUL 2010: Sladění pracovního a rodinného života

Výzva k podání nabídky

Stanovisko komise pro hodnocení dopadů regulace

Metodický výklad Ministerstva školství, mládeže a tělovýchovy

R O Z S U D E K J M É N E M R E P U B L I K Y

Zadávací dokumentace

ZADÁVACÍ DOKUMENTACE K VEŘEJNÉ ZAKÁZCE

statutární město Děčín podlimitní veřejná zakázka na služby: Tlumočení a překlady dokumentů

Výuka algoritmizace patří především do informatiky

Manažerské koučování/mentoring pro zaměstnance SZIF

METODICKÝ POKYN - DEFINICE MALÝCH A STŘEDNÍCH PODNIKŮ

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

ZPRÁVA O ČINNOSTI MĚSTSKÉ POLICIE DESNÁ ZA ROK 2014

Aplikace počítačů v provozu vozidel 9

NÁHRADA ŠKODY Rozdíly mezi odpov dnostmi TYPY ODPOV DNOSTI zam stnavatele 1) Obecná 2) OZŠ vzniklou p i odvracení škody 3) OZŠ na odložených v cech

Co najdete v ASPI? (pro uživatele SVI FSE UJEP)

Oprava střechy a drenáže, zhotovení a instalace kované mříže kostel Sv. Václava Lažany

Městský úřad Veselí nad Moravou odbor Stavební úřad

Pardubický kraj Komenského náměstí 125, Pardubice SPŠE a VOŠ Pardubice-rekonstrukce elektroinstalace a pomocných slaboproudých sítí

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Chemické výpočty. Aleš Kajzar Martin Honka

Univerzitní 2732/8, Plzeň. doc. Dr. RNDr. Miroslavem Holečkem, rektorem IČO:

ATAZ PRVNÍ ATELIÉR Charakteristika předmětu Hlavní cíl práce Dílčí cíle Požadovaný standard studenta po absolvování předmětu: Obsah Volba zadání

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS.

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

úzkým propojením se rozumí stav, kdy jsou dvě nebo více fyzických či právnických osob spojeny:

FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITA HRADEC KRÁLOVÉ SEMESTRÁLNÍ PRÁCE. Modely operačního výzkumu 1. Studijní obor:

Osvětlovací modely v počítačové grafice

Uchazečům o veřejnou zakázku

10 KROKŮ K VYŠŠÍMU VÝKONU PRACOVNÍKŮ. Jak snadno a účinně předcházet nedostatkům v práci. Jan Urban

Marketing. Modul 3 Zásady marketingu

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce

Směrnice pro vedení, vypracování a zveřejňování bakalářských prací na Vysoké škole polytechnické Jihlava

2002, str Jírová, H.: Situace na trhu práce v České republice. Transformace české ekonomiky. Praha, LINDE,

Pokyn D Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

Postoj české veřejnosti k přijímání uprchlíků prosinec 2015

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

Předmětem podnikání společnosti je:

SMLOUVA O POSKYTNUTÍ DOTACE Z ROZPOČTU MĚSTA NÁCHODA

Náležitosti nutné k zahájení znaleckých úkonů

SMLOUVA O POSKYTNUTÍ ÚČELOVÉ DOTACE Z ROZPOČTU STATUTÁRNÍHO MĚSTA OPAVY. uzavřená dle ust zákona č. 89/2012 Sb., občanského zákoníku

Pojem algoritmus a jeho základní vlastnosti

Zadávací dokumentace

Transkript:

XD16HT1 Semestrální práce Algoritmy ČVUT FEL obor STM - Softwarové inženýrství, kombinované studium 4. semestr Zpracoval: Radek Hübner Uživatelské jméno: hubnerad V Praze dne: 17. dubna 2011

V 9. století znamenal význam slova algoritmus provádění aritmetiky za pomoci arabských číslic. Dnes se s pojmem algoritmus setkáváme nejčastěji v matematice a v programování, kde jde o postup pro řešení určité skupiny úloh. Využívá se k tomu i řada již známých algoritmů. Aniž bychom si to uvědomovali, s algoritmy v podobě návodů či instrukcí se setkáváme také v mnoha běžných každodenních činnostech. Ovšem ne každý návod je algoritmus. Takto lze označit jen postupy, které splňují určité vlastnosti. Klíčová slova: algoritmus, vlastnosti algoritmu, původ pojmu algoritmus, Turingův stroj, reprezentace algoritmu, druhy algoritmů. Co je to algoritmus? Rozhodli jsme se vyprat prádlo, uvařit oběd nebo nám zazvoní telefon a vyřídíme hovor. Běţné kaţdodenní činnosti, které však mají svůj řád a posloupnost. Pokud bychom tyto činnosti chtěli popsat, bude to sled jednoduchých kroků, které budou na sebe v přesném pořadí navazovat. Budou mít svůj počátek a svůj konec a budou mít také nějaký výsledek. A aniţ bychom si to uvědomili, vytvořili jsme algoritmus. Algoritmus tedy můţeme definovat jako instrukci či přesný návod, kterým lze vyřešit daný typ úlohy. Ale je kaţdý postup algoritmem? 1_ Algoritmy v podobě návodů či instrukcí nám umožňují použití různých zařízení. Vlastnosti algoritmu Kaţdý postup opravdu nelze povaţovat za algoritmus. Jaký je tedy rozdíl mezi algoritmem a běţným souborem pokynů nezbytných k provedení nějakého úkolu? Algoritmem se rozumí pouze takové postupy, které splňují přesně stanovené poţadavky, tzv. vlastnosti algoritmu. Ostatní postupy, které předepsané vlastnosti nemají, se mohou nazývat např. metody. Rozlišujeme pět základních vlastností algoritmu: 1. Elementárnost algoritmu Algoritmus se skládá z konečného počtu jednoduchých, tzv. elementárních, kroků. 2

2. Konečnost (finitnost) algoritmu Kaţdý algoritmus musí skončit v konečném počtu kroků. Tento počet kroků můţe být libovolně velký (podle rozsahu a hodnot vstupních údajů), ale pro kaţdý jednotlivý vstup musí být konečný. 3. Obecnost (univerzálnost) algoritmu Algoritmus neřeší jeden konkrétní problém, ale obecnou třídu obdobných problémů, kdy má širokou mnoţinu moţných vstupů. Tzn. neřeší jak spočítat 3 x 7, ale řeší, jak spočítat součin dvou celých čísel. 4. Determinovanost algoritmu Kaţdý krok uvedený v algoritmu musí být jednoznačně a přesně definován. V kaţdé situaci musí být naprosto zřejmé, co a jak se má provést a jak má provádění algoritmu pokračovat. Tzn. pro stejné vstupy dostaneme pokaţdé stejné výsledky. Vzhledem k tomu, ţe běţný jazyk obvykle neposkytuje naprostou přesnost a jednoznačnost vyjadřování, byly pro zápis algoritmů navrţeny programovací jazyky, ve kterých má kaţdý příkaz jasně definovaný význam. Některé algoritmy ale determinované nejsou, pravděpodobnostní algoritmy v sobě zahrnují náhodu. 5. Výstup (resultativnost) algoritmu Algoritmus musí mít alespoň jeden výstup, tj. veličinu, která je v poţadovaném vztahu k zadaným vstupům a tím tvoří odpověď na problém, který algoritmus řeší. Říkáme, ţe algoritmus vede od zpracování hodnot k výstupu. Historie algoritmu Co je to algoritmus jiţ víme, ale kde a kdy vlastně vzniknul? S ohledem na obecnost algoritmu, jako popisu běţné kaţdodenní činnosti, sahá počátek vzniku algoritmů aţ ke vzniku lidstva samotného. Vţdyť i činnosti pravěkých lidí měly přesně daný postup, řád, konečnost a výsledek. Postupy, které dnes splňují podmínky algoritmu, se ve vědních oborech objevily jiţ v období starého Řecka, ačkoli v této době pojem algoritmus ještě nebyl vůbec znám. Podstatu a pouţití algoritmu v období cca 300 let p.n.l. dokládá např. známý Euklidův algoritmus pro výpočet NSD, tj. největšího společného dělitele. Tento algoritmus je povaţován za jeden z z nejstarších algoritmů. 3 2_ Dílo Kitūb al-jabr waāl-muqūbala

Samotný pojem algoritmus vzniknul zhruba o tisíc let později, v 9. století našeho letopočtu, a je spojován se jménem perského matematika a astronoma Abú Abd Alláh Muhammad Ibn Músá al-chórezmí Abú Dţa'far, zkráceně Al-Chwárizmí, Al-Chorezmí nebo Al- Khwarizmi. Zejména je spojován s jeho dílem Kitūb al-jabr waāl-muqūbala, kterým byly do matematiky zavedeny arabské číslice a hlavně číslo nula. Jméno perského matematika bylo polatinštěno na Al-Gorizmí, později pak na Algoritmí. Odtud pak bylo odvozeno slovo algorismus. Postupem času se kvůli neznalosti původu slova jeho podoba měnila, záměnou arabského kořene s kořenem řeckého arithmos se z algorismu stal algorithmus. Al-Khwarizmi (asi 780 850 n. l.) = Abú Abd Alláh Muhammad Ibn Músá al-chórezmí Abú Dţa'far (doslova Otec Abdulláha, Mohameda, syn Mojžíšův, pocházející z města Chwārizm ) byl perský matematik a astronom, který ţil v 9. století. Pocházel pravděpodobně z tehdy perského města Chórezm (dnes Chiva v Uzbekistánu). K této domněnce vede jeho jméno, které znamená v arabštině z Chórezmu. Některé zdroje ale uvádějí jako místo narození Bagdád, kde ţil a působil na dvoře sedmého chalífy Al-Mámúna z Abbásovské dynastie. Jeho rodným jazykem byla zřejmě perština. Svá díla psal ale v arabštině, která byla tehdy vědeckým jazykem islámského světa. Mezi nejznámější matematické přínosy patří zavedení arabských číslic, uznání algebry jako samostatné matematické disciplíny, označování neznámé veličiny X, výpočty lineárních a kvadratických rovnic a výpočty s 3_Perský matematik Al-Khwarizmi číslem nula. Prvním významem slova algorithmus bylo provádění aritmetiky pomocí arabských číslic. Postupně se tento výraz začal uţívat k vyjádření zejména matematických postupů. Pojem algoritmus ve smyslu současného významu se pouţívá zhruba od 20. století. Dnes přesná definice algoritmu zní: "Algoritmus je procedura proveditelná Turingovým strojem". 4

Alan Mathison Turing Britský matematik, logik, kryptoanalitik a zakladatel moderní informatiky, který ţil v letech 1912 aţ 1954. Jeho největším vědeckým přínosem bylo zavedení pojmu Turingova stroje jako teoretického modelu obecného výpočetního stroje, který se stal jedním ze základů informatiky. Prvně tento stroj a jeho vyuţití představil v článku On Computable Numbers, with an Application to the Entscheidungsproblem v roce 1936. 4_Britský matematik Alan Turing_plastika v Turingově pracovně Turingův stroj Tento pojem znamenal pro vývoj algoritmů velký posun. Definice nám řekne, ţe jde o teoretický model počítače, který se skládá z procesorové jednotky tvořené konečným automatem, programu ve tvaru pravidel přechodové funkce a pravostranně nekonečné pásky pro zápis mezivýsledků. Vyuţívá se pro modelování algoritmů v teorii vyčíslitelnosti. 5_Model Turingova stroje Turingův stroj je pouze koncept, nejde sestavit. Základní úvaha spočívá v tvrzení, ţe počítač dokáţe odpovědět pouze na to, co lze naprogramovat v matematické řeči "algoritmizovat". Jde tedy vlastně o matematický popis jakéhokoliv moţného algoritmu. V současné době, v důsledku zavedení počítačů, je pojem Turingův nebo také obecně "algoritmický stroj" jiţ naprosto běţným. Tento strojový model je pro vyřešení dané úlohy schopen samostatně provést všechny kroky v souladu s instrukcemi algoritmu. Je to moţné v důsledku toho, ţe pouţití algoritmu v podstatě nevyţaduje ţádnou inteligenci, pouze jistou 5

zručnost, protoţe inteligence nezbytná pro provedení operace je jiţ obsaţena v algoritmu samotném. Reprezentace a zápis algoritmů Pokud mají být algoritmy pouţitelné pro aplikaci, je nutné, aby byly správně a srozumitelně popsány. Zde není prostor pro experimenty, ale na druhou stranu neexistují ani ţádná uniformní pravidla pro zápis. S rozvojem algoritmů se ale přece jenom objevuje snaha o vnesení určitého řádu do zápisu algoritmů tak, aby byla reprezentace algoritmu srozumitelná nejen matematikům a vědeckým pracovníkům, ale všem uţivatelům. Algoritmy mohou být zaznamenány: 1. Slovním popisem v přirozeném jazyce. Tímto způsobem byly pořizovány záznamy prvních algoritmů. Vzhledem k tomu, ţe zde ale můţe dojít k nejasnostem, protoţe vyjadřování přirozeným jazykem je závislé na tvůrci a neexistuje přesná a jednotná vyjadřovací struktura textu, vyuţívá se dnes slovní popis pouze u manuálů nebo návodů. Algoritmus pomocí slovního popisu 1. Dej vodu do konvice 2. Zapni konvici 3. Čekej 1 minutu 4. Pokud je konvice zapnutá, pokračuj bodem 3 5. Nalej vodu z konvice do hrnku 6. Dej čaj do hrnku 7. Čekej 3 minuty 8. Vyndej čaj z hrnku 9. KONEC 6_Slovní popis algoritmu 7_Záznam algoritmu vývojovým diagramem 2. Vývojovým diagramem nebo strukturogramem, které jsou standardizovaným prostředkem dle ČSN 36 9030. Jde o orientovaný graf, jehoţ uzly odpovídají jednotlivým krokům nebo stavům zpracování úlohy a hrany určují směr postupu výpočtu. Při sestavování grafu se vyuţívá několik symbolů v kombinaci se slovním popisem. 6

8_Základní grafické značky vývojového diagramu 9_Větvení vývojového diagramu 3. Zápis v pseudojazyku nebo v programovacím jazyku, který se sice vrací ke slovnímu popisu, ale vyuţívá strukturu a jednoznačné příkazy programovacího jazyka. FUNKCE uvar_caj: dej_vodu_do_konvice; zapni_konvici; DOKUD je_konvice_zapnuta DELEJ cekej(1); KONEC_DOKUD nalej_vodu_do_hrnku; dej_caj_do_hrnku; cekej(3); vyndej_caj_z_hrnku; KONEC_FUNKCE FUNCTION uvar_caj; BEGIN dej_vodu_do_konvice; zapni_konvici; WHILE je_konvice_zapnuta DO 10_Záznam v pseudojazyku 11_Záznam v programovacím jazyku 7

Při zápisu se algoritmus navrhuje třemi způsoby: 1. shora dolů, kdy postup řešení rozkládáme na jednodušší operace, aţ dospějeme k elementárním krokům. Tento způsob je v současné době velmi rozšířený. 2. zdola nahoru, kdy vytváříme z elementárních kroků prostředky, které nakonec umoţní zvládnout poţadovaný problém. 3. kombinace obou, kdy obvyklý postup shora dolů doplníme "částečným krokem" zdola nahoru tím, ţe se například pouţijí knihovny funkcí, vyšší programovací jazyky nebo systém pro vytváření programů. Druhy algoritmů Kaţdý algoritmus je jiný, protoţe popisuje nebo řeší jiný postup, ale existují i shodné znaky podle kterých rozdělujeme algoritmy do skupin. Rozdělení ale neplatí direktivně. Jeden algoritmus můţe patřit současně i do více skupin. Mezi důleţité druhy algoritmů patří: 1. Rekurzivní algoritmy, které v rámci cyklu volají samy sebe. 2. Pravděpodobnostní algoritmy (tzv. probabilistické), které provádějí některá rozhodnutí náhodně nebo pseudonáhodně. 3. Paralelní algoritmy, které lze vyuţít v případě, kdy můţeme algoritmus rozdělit na více samostatných úloh a zpracovávat je odděleně na více strojích. Výhodou je zde časová úspora. 4. Genetické algoritmy, které pracují na základě napodobování biologických evolučních procesů. Pro vědu jsou přirozené procesy probíhající v přírodě velkým vzorem, protoţe mohou být chápány a aplikovány i jako moţná řešení daného problému. 5. Heuristické algoritmy, jejichţ cílem není nalézt přesné řešení daného problému. Tyto algoritmy se pouţívají v situacích, kdy dostupné zdroje nepostačují na vyuţití exaktních algoritmů. 6. Hladové algoritmy, které se k řešení propracovávají po jednotlivých rozhodnutích. Ta, jakmile jsou učiněna, jiţ nejsou znovu revidována. Typickým příkladem tohoto typu algoritmu je hledání nejkratší cesty v grafu. 7. Algoritmy rozděl a panuj, které dělí problém na menší podproblémy, na něţ se rekurzivně aplikují. Po té se dílčí řešení vhodným způsobem spojí. Klasickým příkladem tohoto algoritmu je binární vyhledávání nebo quicksort. Využití algoritmů Původně algoritmy slouţily k popisu zejména matematických postupů. Jakmile se ale algoritmus začal chápat jako logický sled kroků, začal být vyuţíván také v jiných vědních oborech i v běţných denních činnostech. Se vznikem výpočetní techniky a jejím rozvojem se pak algoritmy staly nezbytnou součástí práce IT pracovníků a programátorů. Ti se dnes bez 8

znalosti algoritmů neobejdou, ačkoli jeden z Murphyho zákonů praví, ţe "Jediným jazykem, který všichni programátoři ovládají perfektně, je klení ". Algoritmy se do povědomí lidí dostávaly velmi pomalu. V Ottově naučném slovníku z roku 1908 můţeme u hesla algoritmus najít jen kratičký výklad: Algorithmus, pravidlo nebo způsob početní. O 80 let později se v encyklopedickém slovníku můţeme dozvědět mnohem více. Algoritmus [lat. < arab.] 1. log. schématický postup pro řešení určité skupiny (třídy) úloh, prováděný konečným počtem úkonů (kroků), přičemţ kaţdý z nich je přesně definován. Algoritmizované úlohy lze řešit počítači; 2. mat. postup sestávající z konečného počtu elementárních úkonů, který slouţí k účelnému provádění určitého výpočtu platného pro celou skupinu stejnorodých úkolů; např. a. dělení víceciferných čísel. V. t. Euklidův algoritmus. Dnes je jiţ slovo algoritmus známým pojmem. Aniţ si to uvědomujeme, algoritmy nás provázejí při kaţdodenních činnostech soukromého i pracovního ţivota. V oblasti vědy jsou předmětem intenzivního zkoumání a stávají se samostatným vědním oborem, při kterém se v nemalé míře vyuţívají a dále rozvíjejí jiţ vytvořené algoritmy. O algoritmech toho lze říci ještě mnoho. Nejsou vidět, ale jsou důleţitou součástí našeho ţivota. Dnes si jiţ nelze ani představit, jak by byl náš kaţdodenní ţivot sloţitý, pokud by algoritmy neexistovaly. Seznam obrázků [1] Algoritmy v podobě návodů či instrukcí nám umožňují použití různých zařízení. [2] Dílo Kitūb al-jabr waāl-muqūbala. [3] Al-Khwarazmi. [4] Britský matematik Alan Turing_plastika v Turingově pracovně. [5] Model Turingova stroje. [6] Slovní popis algoritmu. [7] Záznam algoritmu vývojovým diagramem. [8] Základní grafické značky vývojového diagramu. [9] Větvení vývojového diagramu. [10] Záznam v pseudojazyku. [11] Záznam v programovacím jazyku. 9

Zdroje [1] NAKLADATELSTVÍ ČSAV, PROCHÁZKA Vladimír, Příruční slovník naučný, I. díl A - F. Praha: Polygrafia, n.p., 1962. Číslo výtisku 02/76 0012-21-109-62. [2] ENCYKLOPEDICKÝ INSTITUT ČSAV, KOŢEŠNÍK Jaroslav, ŠTĚPÁNEK Miroslav, Ilustrovaný encyklopedický slovník, I. díl A - I. Praha: Academia, 1980. Číslo výtisku 02/76 0423 21-044-80. [3] ENCYKLOPEDICKÝ INSTITUT ČSAV, KOŢEŠNÍK Jaroslav, ŠTĚPÁNEK Miroslav, Ilustrovaný encyklopedický slovník, III. díl Pro - Ž. Praha: Academia, 1980. Číslo výtisku 02/76 0425 21-105-82. [4] OTTO J., Ottův kapesní slovní naučný. Praha: Nakladatelství J. Otty, 1908. Nečíslovaný výtisk. [5] Sbírka Mozkolam: Algoritmy. Číslo 28. Praha: Tappa, s.r.o., 2009. ISBN 978-83-248-0154-1. [6] WRÓBLEWSKI Piotr, Algoritmy. Datové struktury a programovací techniky. Praha: Computer Press, a.s., 2004. ISBN 978-80-251-0343-9. [7] HYNEK Josef, Genetické algoritmy a genetické programování. Praha: Grada, a.s., 2008. ISBN 978-80-247-2695-3. [8] Algoritmus [online]. Poslední aktualizace 2011 [cit. 2011-03-28]. Dostupné z WWW: <http://www.algoritmy.net>. [9] Wikipedia, Turingův stroj [online]. Poslední aktualizace ze dne: 31. 3. 2011 [cit. 2011-04- 02]. Dostupné z WWW: <http://cs.wikipedia.org/wiki/algoritmus>. [10] Algoritmy: teoretický úvod [online]. Poslední aktualizace: 2005-2066 [cit. 2011-04-02]. Dostupné z WWW: <http://www.manualy.net/article.php?articleid=12>. [11] Wikipedia, algoritmus [online]. Poslední aktualizace ze dne: 4. 4. 2011 [cit. 2011-03-28]. Dostupné z WWW: <http://cs.wikipedia.org/wiki/algoritmus>. [12] Al-Khwarizmi [online]. Poslední aktualizace ze dne: 19. 3. 2011 [cit. 2011-03-28]. Dostupné z WWW: <http://cs.wikipedia.org/wiki/al-khwarizmi>. [13] DOBEŠOVÁ Zdena, ALGO Algoritmizace, 1. cvičení [online]. Poslední aktualizace ze dne: neuvedeno [cit. 2011-04-01]. Dostupné z WWW: <www.geoinformatics.upol.cz/file/ vyuka/p_algo1.pps>. 10