240 likes | 487 Views
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.
E N D
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ý