Programovací jazyk PASCAL je strukturovaný. To s sebou přináší spoustu pravidel. Jedno z nich také určuje pořadí jednotlivých částí programů. Pro lepší pochopení dalšího výkladu je nezbytné, abyste se seznámili se strukturou jednotlivých částí, které mohou programy obsahovat. Jsou to program , jednotka , procedura a funkce. V první lekci si probereme strukturu programu.
Jednotlivé součásti programu:
Některé jednodušší programy nemusí obsahovat všechny uvedené části. Na zkráceném příkladu si jednotlivé části popíšeme.
program Jmeno_programu; uses Jednotka1,Jednotka2; const Jmeno_konstanty = hodnota; type datovy_typ_x = ...; var Jmeno_promenne1,Jmeno_promenne2:datovy_typ; procedure ...; function ...; begin {hlavní program} end.
program Klíčové slovo názvu programu, nepovinné.
uses Klíčové slovo seznamu použitých jednotek (unit).
const Klíčové slovo k deklaraci konstant hlavního programu.
type Klíčové slovo definice nových datových typů.
var Klíčové slovo seznamu proměnných hlavního programu.
procedure Klíčové slovo k deklaraci procedury.
function Klíčové slovo k deklaraci funkce.
begin Klíčové slovo označující začátek bloku programového kódu. Za tímto slovem se středník vynechává.
end Klíčové slovo označující konec bloku programového kódu. Označuje-li konec hlavního programu následuje tečka.
{ } Do složených závorek se uzavírají poznámky. Ty ulehčí orientaci v programu a při překladu programu se ignorují
Části programu se skládají z příkazů (volání procedur a funkcí, přiřazení hodnoty, deklarace proměnných apod.).
V Pascalu není středník součástí příkazu jako je tomu například v C, ale pouze příkazy odděluje. Když ale budeme psát středník za každým příkazem, tak se sice nedopouštíme chyby, ale v některých případech (jako před klíčovým slovem end) vlastně přidáváme prázdný příkaz navíc. Ovšem vynechání středníku mezi příkazy vede k chybě, která znemožní program přeložit.
Jako jména konstant, proměnných, procedur a funkcí lze použít jakékoliv jméno nebo zkratku. Maximální délka je 63 znaků. Jména však nesmí obsahovat mezeru, čárku, tečku, středník, dvojtečku a tyto další znaky:
+ - * / \ = < > [ ] ( ) ^ @ { } $ #
Uvedené znaky mají speciální význam. Dále se doporučuje ve jménech nepoužívat "česká" písmena (s háčky a čárkami). Pascal nerozlišuje velká a malá písmena, takže označení Prom_X a prom_x je identické. Použití velkých písmen však může zlepšit přehlednost programu.
Abychom mohli s daty (čísla, znaky, texty ...) pracovat umísťujeme je na nějaké místo do paměti paměti počítače. Různá data si žádají různou velikost prostoru v paměti i různý způsob zacházení. A právě k tomu v programovacích jazycích slouží datové typy - udávají jak se má s daty zacházet a kolik místa se jim má v paměti vyhradit.
V pascalu jsou definovány tyto základní datové typy:
Celočíselné |
|
shortint integer longint byte word |
-128 .. 127 -32768..32767 -2147483648..2147483647 0..255 0..65535 |
Desetinné |
|
real single double extended comp |
2.9E-39..1.7E38 1.5E-45..3.4E38 5.0E-324..1.7E308 3.4E-4932..1.1E4932 -9.2E18..9.2E18 |
Znakové |
|
char string pchar |
jeden znak řetězec max 255 znaků dlouhý řetězec max 65535 znaků dlouhý |
Logické |
|
boolean | true (je pravda), false (není pravda) |
Mezi orinální datové typy patří všechny celočíselné typy (integer, shortint, longint, word a byte) dále pak typ char a typ boolean.
Kromě těchto Turbo Pascalem předdefinovaných typů lze použít další uživatelem definované ordinální typy - výčtový typ a typ interval. Hodnoty ordinálního typu jsou uspořádanou množinou hodnot, z čehož plyne, že tyto typy mají výhodné vlastnosti jako:
Ord( ) | vrací ordinální hodnotu argumentu |
Pred( ) | vrací předchůdce hodnoty ordinálního typu |
Succ( ) | vrací následovníka hodnoty ordinálního typu v argumentu |
Chr( ) | vrací znak, který odpovídá ordinálnímu číslu v argumentu funkce |
Užití ozřejmním na příkladu:
Zdrojový kód | |
pred('B'); succ('B'); ord(pred('B')); ord('B'); ord(succ('B')); chr(pred(66)); chr(66); chr(succ(66)); |
A C 65 66 67 A B C |
Deklaraci konstant uvádí klíčové slovo const. Konstanty jsou prvky, které v průběhu provádění programu nemění svou hodnotu. Konstanty mohou být číselné, znakové, logické atd. Typ konstanty je dán typem definujícího výrazu, nebo přímou definicí typu viz. příklad:
const a = 1; {číselná konstanta} b = 'B'; {znaková konstanta} Q = 10/2*8.75; cislo:integer = 50; znak:char = 'Z'; . . .
Proměná je datový objekt, jehož hodnota se v průběhu programu může měnit. Deklaraci proměných uvádí klíčové slovo var. Do deklarace se pak zapíše seznam identifikátorů, které označují proměné, a jejich typ podle toho jakého druhu budou data, která bude proměná obsahovat. Nejčastěji budeme užívat standardní typy (viz výše), ale můžeme definovat i vlastní. Proměné stejného typu můžeme napsat za sebe oddělené čárkou.
var a,b:integer; prumer:real; odpoved:boolean; retezec:string[20]; {řetězec 20 znaků} . .
Proměné se většinou snažíme nazvat krátce, ale výstižně. Při jejich menším počtu si můžeme dovolit pojmenovávat pouze jedním písmenem. V některých případech si proměné označené jediným písmenem zachovají i potřebný význam - např. fyzikální veličiny. Při větším počtu použitých proměných (cca >10) se ale takovému označení radějí vyhýbáme, neboť by vedlo ke špatné orientaci v programu.