25. Algoritmizace a základy programování (algoritmizace úlohy,
vlastnosti algoritmu, přehled současných způsobů tvorby
programů -objektové a vizuální programování)
Vysvětlit postup vzniku počítačového programu (analýza zadání, návrh
řešení, algoritmizace řešení, zápis programu a jeho ladění, podpora a
údržba programu), vysvětlit pojem algoritmus a jeho vlastnosti
(hromadnost, podmíněnost, opakovatelnost, konečnost), algoritmizovat
jednoduchou úlohu. Vysvětlit základní příkazy strukturovaného programování
(příkaz, posloupnost příkazů [složený příkaz],podmíněný příkaz, cyklus s
podmínkou na začátku a na konci, cyklus s pevným počtem opakování a
základní programové struktury (procedury a funkce) vysvětlit pojmy
proměnná, identifikátor a datový typ a znát základní typy proměnných
(znak, řetězec, celé číslo, reálné číslo, logická hodnota), rozumět pojmu
syntaxe programovacího jazyka. Vysvětlit princip objektového programování
,vysvětlit princip vizuální tvorby programu (výběr připravených komponent
a programování reakcí na události, které jsou s nimi spojené). Vysvětlit
pojem makro.
Postup vzniku počítačového programu
1.analýza zadání (co máme pomocí programu vyřešit, co má být výstupem)
2. návrh řešení (výběr prostředků pro dosažení cíle)
3. algoritmizace řešení (postup, posloupnost kroků programu)
4. zápis v konkrétním programovacím jazyce a ladění programu (chyby)
programu a jeho ladění, podpora a údržba programu),
Pojem algoritmus
Algoritmus je přesný návod či postup, kterým lze vyřešit daný typ úlohy.
Pojem algoritmu se nejčastěji objevuje při programování, kdy se jím
myslí teoretický princip řešení problému (oproti přesnému zápisu v
konkrétním programovacím jazyce). Obecně se ale algoritmus může objevit
v jakémkoli jiném vědeckém odvětví. Jako jistý druh algoritmu se může
chápat i např. kuchyňský recept. V užším smyslu se slovem algoritmus
rozumí pouze takové postupy, které splňují některé silnější požadavky:
- Obecnost
(hromadnost, masovost, univerzálnost)
Algoritmus neřeší jeden konkrétní problém (např. „jak spočítat 3×7“),
ale obecnou třídu obdobných problémů (např. „jak spočítat součin dvou
celých čísel“), má širokou množinu možných vstupů.
- Determinovanost
(podmíněnost)
Každý krok 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, jak má
provádění algoritmu pokračovat, takže pro stejné vstupy dostaneme
pokaždé stejné výsledky. Protož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. Vyjádření výpočetní metody v programovacím jazyce se
nazývá program. Některé algoritmy ale determinované nejsou,
pravděpodobnostní algoritmy v sobě mají zahrnutu náhodu.
- Opakovatelnost
- Konečnost
(finitnost)
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ý. Postupy, které tuto
podmínku nesplňují, se mohou nazývat výpočetní metody. Speciálním
příkladem nekonečné výpočetní metody je reaktivní proces, který průběžně
reaguje s okolním prostředím. Někteří autoři však mezi algoritmy
zahrnují i takovéto postupy.
-Výstup
(resultativnost)
Algoritmus má alespoň jeden výstup, 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ší (algoritmus vede od zpracování hodnot k výstupu)
Základní příkazy strukturovaného
programování - Strukturované programování nebo také
strukturovaný programovací jazyk označuje programovací techniku, kdy se
implementovaný algoritmus rozděluje na dílčí úlohy (to jest procedury či
funkce), které se spojují v jeden celek.
Strukturované programování definuje, že na nejnižší úrovni se program
může skládat pouze z následujících tří struktur:
a) Příkaz
(jednotlivý krok v programu), posloupnost příkazů [složený
příkaz],
- Sekvence (provádí posloupnost příkazů jeden po druhém)
b) Podmíněný příkaz
- Výběr (jeden nebo více příkazů je vykonán v závislosti na stavu
programu. Toto je obvykle vyjadřováno klíčovými slovy jako
if..then..else..endif, switch nebo case )
c) Cyklus s
podmínkou na začátku a na konci
- Opakování (příkazy jsou prováděny do té doby, dokud program nedosáhne
nějakého stavu - toto je obvykle vyjadřováno klíčovými slovy jako while,
repeat, for nebo do..until)
- Podmíněný cyklus, jeho běh závisí na splnění či nesplnění obecné
podmínky. Existují dvě varianty cyklu Do...Loop. Buď cyklus pokračuje,
je-li podmínka splněna (While) nebo cyklus pokračuje, není-li podmínka
splněna (Until).
- Cyklus s předem daným počtem opakování (repeat)
procedura - algoritmus
zapisujeme jako proceduru - posloupnost příkazů
funkce - na rozdíl od procedury
vrací hodnotu. Parametry funkce jsou v podstatě lokální proměnné.
Další základní pojmy:
- proměnná - vyhrazené místo v paměti pro dočasné uložení dat v
programu. Rozsah platnosti proměnné:
- lokální
-globální
Rozdíl mezi proměnnou a konstantou:
konstanta za běhu programu nemění svou hodnotu.
U proměnných definujeme datový typ
proměnné (implementován jako třída) - základní datové typy -
text, číslo, datum....Je možná (nutná) konverze mezi datovými typy -
implicitní, explicitní.
(příklady datových typů: znak, řetězec, celé číslo, reálné číslo,
logická hodnota, ...)
- identifikátor
- jméno proměnných
pojem syntaxe programovacího jazyka. -
obecně se syntaxe se zabývá upořádáním slov (lexikografických jednotek)
jazyka ve větách. U programovacích jazyků se zabývá způsobem zápisu
kličových slov (příkazů) programu, způsobem deklarace proměnných, zápisu
procedur, funkcí aj.
Objektové
programování ,vysvětlit princip vizuální tvorby programu (výběr
připravených komponent a programování reakcí na události, které jsou s
nimi spojené).
Makro
Vývojový
diagram - ukázka- prakticky se umět pohybovat po vývojovém
diagremu
Zdroj informací: většinou
www.wikipedia.cz a jiné stránky na internetu (www.jardaz.cz)