Obsah lekce:
Programovací jazyk Pascal vytvořil Niklaus Wirth na Vysoké škole technické v Curychu v roce 1971. Pascal rychle získal dominantní postavení při výuce programování a využívá se i v praxi v programování například ve vývojovém prostředí Delphi.
Každý program v jazyku Pascalu se skládá ze tří části:
Ukažme si jednoduchý příklad:
Hlavička programu
Program SectiDveCisla;
Deklarační část
var a,b:integer;
Příkazová část
begin
readln(a);
readln(b);
writeln(a+b);
end.
Na tomto příkladu si můžeme všimnout několika základních věcí:
Takže obecně vzato má program následující strukturu:
Hlavička programu
Program Název_programu;
Deklarační část
uses knihovna_1;...knihovna_n; (nepovinný řádek)
type definovaný_datový_typ_1;...definovaný_datový_typ_n; (nepovinný řádek)
const konstanta_1=hodnota;...konstanta_n=hodnota; (nepovinný řádek)
procedure procedury programu; (nepovinný řádek)
var proměnná_1:datový_typ;
proměnná_2:datový_typ;
...
proměnná_n:datový_typ;
Příkazová část
begin
příkaz_1;
příkaz_2;
...
příkaz_m;
end.
Abychom mohli v programu uchovat nějakou hodnotu (například nějaké číslo x, které bude rovno třeba pěti), tak potřebujeme tzv. deklarovat proměnnou nějakého datového typu. Například v matematice často používáte zápis typu x=5. Tento zápis znamená, že x se rovná číslu 5. Chceme-li mít v programu možnost takové x vytvořit a uchovat v něm nějakou hodnotu, pak musíme x deklarovat neboli zapsat za příkaz var.
Z matematického zápisu x=5 také vidíme, že x může nabývat nějaké číselné hodnoty (v tomto případě přirozeného resp. celého čísla 5). Počítači musíme tedy také sdělit nejen to, jak se proměnná jmenuje, ale také to, jakých hodnot může nabývat (neboli jakého je datového typu = jaký typ dat v ní může být obsažen - tzn. zjednodušeně zda v ní budou čísla, znaky, písmena,...). Pro náš případ to zařídíme zápisem x:integer; - ten znamená, že v proměnné x může být uchováno téměř libovolné celé číslo.
Chceme-li mít v programu proměnnou x, která bude celočíselného datového typu, pak ji deklarujeme zápisem :
Program Deklarace_proměnné_x;
var x:integer;
begin
end.
V programu můžeme deklarovat v podstatě libovolné množství proměnných (omezeni jsme pouze pamětí počítače). Pokud máme více proměnných stejného typu, pak je můžeme oddělit čárkami a nemusíme je psát pod sebe:
Program Deklarace_proměnných_x_y_a_b;
var x,y:integer;
a:integer;
b:integer;
begin
end.
Všimněte si, že klíčové slovo var je v programu uvedenou POUZE jednou jako začátek bloku deklarací proměnných.
Pokud máme proměnnou deklarovanou, pak ji můžeme začít v programu používat. Pomocí operátoru přiřazení := do ní vložíme hodnotu takto:
x:=7;
Vstupem rozumíme data, která vstupují do programu (zpravidla jako hodnoty nějakých proměnných). K zadání vstupu do programu použijeme funkci read, resp. readln. Pokud použijeme funkci readln bez parametrů, pak pouze čeká na stisk klávesy enter. Pokud zadáme parametr (proměnnou), pak funkce také čeká na stisk klávesy enter a po stisku uloží vše, co jste napsali do proměnné, která je jejím parametrem.
Program Zadani_a_vypis_x;
var x:integer;
begin
readln(x);
readln;
end.
Výstupem programu rozumíme informace, které nám program poskytne. Jedná se tedy o oznámení výsledku výpočtu nebo prostě jen o nějaké textové sdělení. Výstup nám bude vypisovat na obrazovku. Abychom na obrazovku něco vypsali, tak použijeme funkci write, resp. writeln. Rozdíl je v tom, že funkce write vypíše zadaný řetězec (parametr) na obrazovku na pozici kurzoru a ten zůstane v místě, kde vypisovaný řetězec skončil a writeln po vypsání požadovaného řetězce skočí na nový řádek. Vypisovaný text musíme uzavřít do apostrofů.
writeln('Ahoj');
Chceme-li vypsat hodnotu nějaké proměnné, pak ji zadáme jako parametr příkazu namísto řetězce znaků a bez apostrofů. Následující program napíše na obrazovku číslo 7.
Program Vypis_x;
var x:integer;
begin
x:=7;
writeln(x);
end.
Výpis textu a proměnných lze kombinovat tak, že proměnné od textu oddělujeme čárkou.
Program Vypis_x;
var x:integer;
begin
x:=7;
writeln('Proměnná x má hodnotu',x);
nebo i s tečkou za větou
writeln('Proměnná x má hodnotu',x,'.');
nebo varianta když je hodnota jako prvni
writeln(x,' je hodnota proměnné x.');
end.
Náš ilustrační program pro vstup hodnoty proměnné x bychom měli vylepšit tak, aby uživatel věděl, co má dělat a informovat ho o výsledku.
Program Zadani_a_vypis_x;
var x:integer;
begin
writeln('Zadejte prosim hodnotu x:');
readln(x);
writeln('Proměnná x má hodnotu',x,'.');
readln;
end.
Jak jsme viděli, tak jsme schopni napsat program, který uživateli sečte libovolná dvě zadaná čísla. Chtěli bychom ale také, aby za nás počítač uměl řešit náročnější matematické výrazy a vzorce. Především potřebujeme další běžně používané početní operace:
Příklad: Vypočtěte objem a povrch krychle.
Program Objem_a_povrch_krychle;
var a:integer;
begin
writeln('Zadejte prosím velikost strany krychle:');
readln(a);
writeln('Objem krychle o straně a=',a,' má hodnotu ',(a*a*a),'.');
writeln('Povrch krychle o straně a=',a,' má hodnotu ',6*(a*a),'.');
readln;
end.
Napište program pro výpočet obsahu a objemu kvádru.