Úvod | 1 | 2 | 3 | 4 | Příklady | Testy |
Anotace kapitoly
V této kapitole se seznámíte se základními druhy algoritmů, jejich zápisem pomocí příkazů FERDA a základními vývojovými diagramy. |
Předpokládám, ze tyto stránky čtete, aniž byste měli hlubší pojem o
tom, co to programování je. Proto začneme od úplného začátku a v této úvodní
kapitole se seznámíte s pojmy, které jsou pro každého programátora nezbytné.
(Pokud máte zájem o historii programování a vývoje
programovacích jazyků, klikněte zde.)
Už slovo programátor je dosti zavádějící, ale pro naše účely postačí,
představíme-li si jako programátora osobu, která na počítaci v určitém
programu napíše jistý text, přidá k němu vhodnou grafiku a zvuk a pomocí
téhož nebo jiného programu celek převede do spustitelných souborů typu
EXE a dalších podpůrných souborů a knihoven. Uživatel poté jen spustí spustitelný
soubor typu EXE. Pak program běží a provádí různé akce, některé i proti
jeho přání. Uživatel lamentuje a častuje programátora či programátorský
tým nevybíravými slovy. I z tohoto velice zjednodušeného příkladu je patrné,
ze programátor provádí řadu postupu a operací. My se s těmito postupy a
operacemi a i chybami musíme seznámit.
Jádro počítače - procesor - provádí jednotlivé INSTRUKCE, což jsou dvojková čísla s jednoznačným významem. Na základě těchto instrukcí provádí operace s DATY což jsou jiná dvojková čísla. Instrukce do procesoru vstupují postupně a procesor je také postupně provádí. Tedy instrukce pro procesor je číslo ve dvojkovém formátu, které řídí činnost procesoru a umožňuje práci s jinými čísly - daty. Souhrn instrukcí nazýváme PROGRAM a program, který je určen přímo pro procesor se nazývá program ve STROJOVÉM KÓDU počítače. Tedy program ve strojovém kódu je posloupnost nebo řada instrukcí. V začátcích programování nezbývalo programátorům nic jiného, než každý program psát přímo ve strojovém kódu počítače.
Ukázka strojového kódu.
I dnes počítače provádějí program ve svém strojovém kódu, ale programátor již není nucen vyťukávat na klávesnici tisíce instrukcí. Programátor napíše text programu v nějakém programovacím jazyku, který se do určité míry podobá běžnému jazyku (hlavně angličtině). Tento text se nazývý ZDROJOVÝ KÓD programu.
MOV CX,10 POP AX skok: MUL AX,2 DEC CX JNZ @skok MOV BX,A XOR AX,AX PUSH AXUkázka zdojového kódu v programovacím jazyku PASCAL.
FOR i:=0 to 10 do BEGIN ko_i:=ko_i*2; END; WRITE(ko_i);Ukázka zdojového kódu v programovacím jazyku C.
for(i=0,10,i++) {ko_i=ko_i*2 }; ?ko_i;Ukázka zdojového kódu v programovacím jazyku BASIC
10 FOR i=0 TO 10 15 LET ko_i=ko_i*2 20 NEXT i 25 PRINT ko_i
Výhodné je tedy pro zápis algoritmu používat přesně zadaný jazyk( slovní
zásoba i gramatika), který vylučuje chyby v komunikaci běžné v normálním
jazyce. Například jazyk určený pro programování musí vyloučit používání
synonym. Tedy jazyk pro zápis algoritmů musí mít specielní semantiku (slovní
zásobu s jednoznačným významem slov) a syntax (gramatiku).
Pro výuku algoritmů se požívají i grafická znázornění algoritmů - různé
typy diagramů. Stručně se později zmíníme o vývojových diagramech.
Programovací jazyky bývají různě složité, ale základy algoritmického
zápisu jsou všem společné. Dá se to stručně také vyjádřit tak, že každý
postup procesoru lze zapsat pomocí konečné množiny příkazů. Do těchto příkazů
se řadí příkazy elementární a složené. Do složených příkazů lze zahrnout
příkazy podmíněné a příkazy cyklů. Další příkazy jsou příkazy zavedené
uživatelem (procedury a funkce) a příkazy importované (vložené) z jiných
souborů, tkzv. knihoven. V zásadě je každý příkaz v algoritmu buď elementární
nebo složený. Složené příkazy jsou sestaveny z příkazů elementárních a
dalších složených příkazů. Tedy složený příkaz lze vždy rozložit na příkazy
pouze elementární, které už procesor umí přímo vykonat.
V učebním programovacím jazyku FERDA jsou například elementární příkazy
KROK,
VLEVO VBOK
apod., přílazy cyklů
CYKLUS 15
KROK
KONEC CYKLUS,
podmíněný příkaz například
KDYZ JE ZNACKA
VLEVO VBOK
KONEC KDYZ
apod. Podrobnější informace naleznete v části syntax FERDA tohoto výkladu
V dalších lekcích se seznámíme se stavbou programu FERDA a se syntaxí a
sémantikou tohoto procesoru.