Úvod | 1 | 2 | 3 | 4 | Příklady | Testy |
Anotace kapitoly
V této kapitole se seznámíte s obecnými pojmy, které programátor potřebuje nutně znát. Po prostudování této kapitoly byste měli umět odpovědět na otázky například jaké jsou druhy programovacích jazyků, a jak je rozdělujeme, co je to strukturované, systémové a aplikační programování, co znamená pojem GUI a API, co se rozumí pod pojmem vývojové prostředí a jaké jsou možnosti tvorby programu. |
Jádrem počítače je mikroprocesor - elektronický integrovaný obvod o
mnoha miliónech elementárních součástí, který řídí činnost počítače a provádí
matematické a logické operace s daty. Toto srdce počítače tedy určuje základní
kvalitu počítače a tak dnešní PC jsou charakterizovány zejména typem procesoru
- 386, 486, Pentium, Pentium II, Pentium III, ... Tento mikroprocesor počítače
nefunguje sám od sebe, ale pro svou činnost potřebuje program. Základní
program, který mikroprocesor neustále vykonává je některý z programů operačního
systému počítače. Programy operačního systému zajišťují komunikaci s uživatelem,
práci se soubory a disky, ovládají periferie počítače, řídí grafické zobrazování,
zajišťují vnitřní programové služby atd. Tyto programy jsou vytvářeny programátorskými
tými, které provozují takzvané systémové programovaní - programování počítačových
systémů. Nejznámější jsou firmy Microsoft, IBM, DR, Apple aj.
Program pro mikroprocesor počítače, který je určen přímo pro uživatele
- uživatelský program, pak umožňuje běžnou práci s počítačem tak jak ji
známe, psát texty, kreslit obrázky, přehrávat a nahrávat zvuky, hrát hry,
spouštět videosekvence atd. Těmto programům, které jsou určeny přímo pro
uživatel se říká aplikační programy a programátorům, kteří je vytvářejí
pak progamátoři uživatelských aplikací.
Program pro mikroprocesor, ať už systémový nebo aplikační, je tvořen
jednotlivými příkazy pro mikroprocesor - instrukcemi. Tedy program pro
mikroprocesor je posloupnoust (řada) instrukcí, které je schopen mikroprocesor
interpretovat (pochopit) a vykonat. Vlastní program, který mikroprocesor
přímo vykonává je tvořen řadou dvojkových (binárních) čísel. Pro snažší
zápis a čtení těchto kódů se tato čísla při výstupu na obrazovku a tiskárnu
převádějí do šestnáctkové číselné soustavy (hexadecimální čísla). Přímá
tvorba a čtení strojového kódu se již dnes běžně vůbec nepoužívá a tento
strojový jazyk je výsledkem práce překladače a linkeru některého
z vyšších programovacích jazyků.
Procesor obecně nemusí být pouze mikroprocesor. Procesor - vykonavatel
příkazů - může být jakékoliv zařízení, které vykonává určitou množinu jemu
dostupných a známých příkazů. Příkladem procesoru může být kuchař (kuchařka)
v kuchyni. Pak programem pro procesor - kuchaře je kuchařská kniha,
počítač je celá kuchyň, vstupními daty jsou suroviny vstupující do kuchyně
a objednávka jídla, výstupními daty jsou hotová jídla. V minulých kapitolách
byl takovýmto procesorem Ferda a programem pro něj textový soubor s řádky,
na nichž byly uvedeny instrukce, kterým Ferda rozuměl a které provedl.
MOV CX, 45 (instrukce pro mikroprocesor - vlož do registru CX číslo
45)
MOV AX, 0 (instrukce pro mikroprocesor - vlož do registru
AX číslo 0)
@preskok: ADD AX, 5 (instrukce pro mikroprocesor
- přičti k obsahu registru AX číslo 5)
DEC CX (instrukce
pro mikroprocesor - sniž hodnotu registru CX o 1)
JNZ @preskok (toto je příkaz skoku na návěští @preskok - skok průběhu
programu není-li v registru CX nula)
RET
(instrukce pro mikroprocesor - návrat do původního programu)
Program přičítá do registru procesoru AX číslo 5 a to tolikrát, jaká
je počáteční hodnota v registru procesoru CX.
Úvod do programování v jazyku symbolických adres - assembleru je připravován
zde.
Tento druh programování byl velice náročný na stavbu rozsáhlejších programů a tak bezprostředně se začali vyvíjet jazyky, které umožňovaly přímý přepis základních algoritmických struktur (cyklů, podmíněných příkazů atd.) do programu. Tyto jazyky zavedli pojem podprogram, procedura a funkce a řadu dalších vylepšení pro zpřehlednění zápisu programu. Základním ovšem neustále zústával klasický algoritmus, který zpracovával data pomocí příkazů pro práci s daty. Tento typ programování se dá nazvat procedurální programování a jeho základy jste probrali v jazyku Ferda. Postup spočívá ve stavbě složitého programu z jednodušších procedur a funkcí až nejjdnodušší procedury obsahují pouze elementární příkazy jazyka. Současně se propaguje takzvané strukturované programování, které má zajistit přehlednost ve zdrojových textech programů a umožnit týmovou spolupráci při jejich tvorbě. Jedním z prvních programovacích jazyků, který se dočkal masového rozšíření byl jazyk BASIC. Typickým jazykem pro procedurální programování je jazyk PASCAL, který byl vyvinut panem Wirthem pro účely výuky programování a postupně se z něj stal profesionální programovací jazyk. Ukázka krátkého procedurálního programování v jazyku Pascal 5.5 (překladač je uvolněn zdarma pro nekomerční použití - download ve formátu ARJ - 972KB zde)
program UKAZKA; uses crt; procedure SMAZaNAPIS; begin clrscr; writeln('Prave jsem smazal obrazovku.'); end;
procedure NastavBarvu(color:integer); begin setcolor(color); end;
begin smazanapis; nastavbarvu(red); end.Při tvorbě čím dál složitějších programů se zjistilo, že typické procedurální programování nestačí pro vyjádření velmi složitých datových struktur a proto byl vyvinut v rámci dosavadních jazyků postup, který zabudoval vytváření objektů přímo do struktury překladače. Vzniklo objektové programování, které začalo pracovat s pojmy CLASS a OBJEKT, zavedlo pojem dědičnosti objektů a zapouzdření dat, procedur a funkcí do objektu a mnoho dalších programovacích prvků. Filosofie vytváření programu pak směřovala ne k práci s procedurami ( i když ty zůstaly základním prvkem programu), ale k vytváření a odvozování datových tříd a objektů, které s těmito třídami pracují. Typickými zástupci programovacích jazyků tohoto objektového programování (nebo objektově zaměřeného programování) jsou programovací jazyky Turbo Pascal, Turbo C. Součástí programovacího prostředí se pak staly objektově zaměřené knihovny s objekty, které programátor již jako hotové mohl a vlastně v mnoha případech musel použít.
Tedy rozlišujeme prostředí pro psaní programů (anglická zkratka
je IDE) - například Delphi a programovací jazyk, který v tomto
prostředí používáme - Object Pascal.
Ukázka podprogramu v Object Pascalu.
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
end.