Základy algoritmizace a programování Algoritmus je posloupnost operací, která řeší daný úkol v konečném počtu kroků. je to přesný postup, který je potřeba k vykonání určité činnosti 3
Program Program je zápis algoritmu pomocí příkazů programovacího jazyka
Chyby v programech Syntaktické - špatně zapsaný nějaký příkaz. Překlad programu se zastaví a zobrazí hlášení o chybě Logické - program je funkční, ale nedělá co má. Může skončit v nekonečném cyklu. Pro ladění se vždy používá několik kontrolních příkladů.
Rozdělení programovacích jazyků Obecné - (C, C++, C#, Objekt Pascal, Visual Basic, .NET Framework, Java) Databázové (MS Fox Pro, Oracle) Pro webové klienty (Java, JavaScript, ActiveX) Specializované (makrojazyky, simulační jazyky)
Překladač a interpret Překladač neboli kompilátor je program, který ze zdrojového kódu vytvoří spustitelný soubor. Vytvoří instrukce pro procesor. Iterpret načítá program v textovém zápisu a okamžitě jednotlivé příkazy vykonává. Program tedy není předem přeložený. Používá se například u skriptů ve webových stránkách
Vývojové prostředí Je to komplexní nástroj na tvorbu programů. Obsahuje: překladač pro určený programovací jazyk nástroje na vizuální tvorbu programu hotové komponenty programů nástroje pro ladění a odstraňování chyb
Důležité pojmy Proměnná - je to místo v paměti počítače, ve kterém se nachází určitá hodnota Identifikátor - je název proměnné Datový typ - je to určitý typ proměnné char - znak integer - celé číslo real - reálné číslo boolean - logická proměnná
Důležité pojmy Deklarace – stanovení proměnných jakého jsou typu. Provádí se vždy na začátku programu. Operátory a standardní funkce Matematické Logické Syntaxe – přesné určení, jak se mají jednotlivé příkazy a části programu zapisovat
Strukturované programování Je to soubor doporučení, jak by měl dobře napsaný program vypadat. Tato doporučení vytvářejí jakési „mantinely“ pro programátory. Strukturované programování používá: Proměnné Procedury Funkce
Objektové programování Je to soubor doporučení, jak by měl dobře napsaný program vypadat. Objektové programování používá: Proměnné Procedury Funkce Objekty Objekt obsahuje vlastní data a nástroje (metody). Objekty mezi sebou komunikují tím, že si zasílají zprávy. Při objektovém přístupu k tvorbě programu nezkoumáme způsob funkce programu, ale způsob změn dat. Objektový program je řízem tokem událostí.
Vizuální programování Vizuální programování je dnes většinou objektové a současně strukturované. Spočívá v tom, že velké množství standardně používaných objektů (tlačítka, políčka, práci se soubory) je již připraveno a jen je myší přetahujeme do vytvářeného programu.
Makra Makro je posloupnost příkazů, které potřebujeme při úpravě dokumentu postupně vykonat. Makra zaznamenáváme tzv. makrokamerou, která je součástí většiny programů.
Algoritmus je posloupnost operací, která řeší daný úkol v konečném počtu kroků. je to přesný postup, který je potřeba k vykonání určité činnosti
Algoritmus Vlastnosti algoritmu: musí mít začátek a konec (Rezultativnost - konečnost) - algoritmus musí proběhnout v konečném počtu kroků musí být věcně správný musí být jednoznačný – (determinovanost - podmíněnost) - všechny operace i jejich návaznosti musí být jednoznačně určeny (definovány) a nic nesmí být náhodné musí být obecný – (hromadnost) - algoritmus musí řešit úlohu pro různé vstupní hodnoty musí být opakovatelný (opakovatelnost) - při stejných vstupních hodnotách musíme dostat vždy stejný výsledek musí být srozumitelný
Možnosti zápisu algoritmů Slovní vyjádření Matematické vyjádření Vývojové diagramy Rozhodovací tabulky Počítačové programy Objektová analýza
Slovní vyjádření Používá se pro skupinu lidí, která nemá programátorské vzdělání návody k obsluze, recepty, postup práce Výhody: lze se domluvit i s laikem Nevýhody: málo přehledné nemá nástroje k dodržení vlastností algoritmu
Matematický zápis Používá se tam, kde je možné daný problém popsat matematickým vyjádřením Výhody: je jednoznačný Nevýhody: může být málo podrobný Při neošetření vstupních podmínek nemusí být věcně správný
Vývojové diagramy Je to symbolický, algoritmický jazyk, který se používá pro názorné zobrazení algoritmu. Výhody: jednoznačný komunikační prostředek při týmové práci přehledný má nástroje k dodržení vlastností algoritmu k dokumentačním účelům je přehlednější než výpis programu Nevýhody: laik mu nemusí rozumět
Rozhodovací tabulky Používá se v případě, kdy se v dané úloze vyskytuje několik možností a vlastní řešení je pro každou možnost jednoznačně popsatelné (rozvrh, tabulka logického součinu..) Výhody: jednoznačný a přehledný zápis je vhodný při vštším počtu možností řešení většina uživatelů tabulkám rozumí Nevýhody: nehodí se pro každý typ úloh tabulka může ztratit přehlednost
Počítačový program Používá se pro zápis instrukcí z vytvořeného algoritmu, kterému počítač rozumí a umí z něho vytvořit strojový kód Výhody: forma zápisu, které rozumí člověk i počítač (pokud je vybaven příslušným překladačem) nedá se ničím nahradit ani obejít Nevýhody: zápisu rozumí pouze programátor, který umí daný programovací jazyk výpis může být málo názorný a nepřehledný
Objektová analýza Tato metoda se používá v objektově orientovaném programování Výhody: forma zápisu, které rozumí člověk i počítač (pokud je vybaven příslušným překladačem) nedá se ničím nahradit ani obejít Nevýhody: zápisu rozumí pouze programátor, který umí daný programovací jazyk výpis může být málo názorný a nepřehledný