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 ObjektyObjekt 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ý