Vypracoval: Ing. Juraj Palásthy


 

 

Programovací jazyk je jazyk v ktorom platia veľmi prísne syntaktické pravidlá. Preto pokladám za dôležité povedať si o tom, aké symboly a znaky môžeme pri tvorbe programu používať.

 

Pri písaní programu môžeme používať veľké a malé písmená anglickej abecedy. Tieto budeme využívať najmä pri písaní príkazov programu, ako aj názvov premenných, napr: A..Z, a..z. Samozrejme, môžeme používať aj tie písmená slovenskej abecedy, ktoré sa píšu s diakritikou a interpunkčnými znamienkami. Sú to písmená: č,š,ľ,ť á,é,í, atď. Tieto budeme používať pri textácií záhlavia tlačových zostáv, ako aj v hlavičkách zobrazovaných na monitoroch počítačov.


Okrem písmen budeme, samozrejme, používať aj arabské číslice od 0 do 9. Pri písaní číslic je možné používať desatinnú bodku, ako aj symboly + a -.


 

Špeciálne symboly používame pri písaní textov, matematických výrazov, symbolov definujúcich vybrané meny a pod.: / ( ) * + - = := < > <> . ; [ ] { } ‘ ‘ , # $ @ ^ : _

 

Kľúčové (vyhradené) slová – sú to rezervované – preddefinované slová používané v programe. Vo väčšine ide o anglické slová, ktoré nemôžeme používať ako premenné, lebo ich význam je vopred definovaný a kompilátor ich spracuje ako príkaz. Patria sem: kľúčové slová: (AND, ARRAY, BEGIN, CASE, CONST, DIV, DOWNTO, DO, ELSE, END, FILE, FOR, FUNCTION, GOTO, IN, IF, INHERITED, INTERFACE, LABEL, MOD, UNTIL, NOT, OF, OR, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, STRING, THEN, TO, TYPE, USES, VAR, WHILE, WITH, XOR).

 

Direktívy - nie je ich možné používať ako premenné (ABSOLUTE, ASSEMBLER, EXTERNAL, FAR, FORWARD, INTERRUPT, NEAR, VIRTUAL).

 

Identifikátor je postupnosť číslic a písmen - označuje objekty v Pascale ako sú premenné, konštanty, názov programu. Začína písmenom a medzi písmenami a číslicami nesmie byť žiadna medzera. Musí sa odlišovať od rezervovaných slov a direktív. Identifikátor môže vyzerať nejak takto: x, X, x1, Meno, Pocet, StranaA

 

Poznámky – sú komentáre autora slúžiace na sprehľadnenie a okomentovanie programu. Vkladanie komentárov do zdrojových textov programu je veľmi dôležité preto, že sprehľadňuje program a uľahčuje v ňom orientáciu aj po dlhej dobe (napríklad po rokoch pri aktualizácii algoritmu na základe legislatívnej zmeny). Možno ich do seba vnárať. Pri vnáraní komentárov do seba je dôležité, aby počet ľavých a počet pravých zátvoriek a svorníkov bol rovnaký, skrátka aby sa párovali.

 

Návestia - slúžia na označenie skupiny príkazov nachádzajúcich sa na inom mieste programu. Označujú určitú samostatnú časť programu, ktorá sa vymyká zo sekvencie príkazov a program ju bude vykonávať po vyhodnotení nejakej logickej podmienky. Po splnení podmienky program odskočí na návestie pomocou tvrdého skoku GOTO. Takto dochádza ku vetveniu programu na základe logických podmienok.

 

Znakové reťazce – sú špecifikum jazyka Pascal. Ide o postupnosti ľubovoľných znakov z tabuľky ASCII ohraničených znakom apostrof - .

 

Oddeľovače ako sú medzera, poznámka, end of line = koniec riadka, end of file = koniec súboru. Oddeľovače majú hlavne vplyv na čitateľnosť programu. Vhodným členením programu možno zvýrazniť navzájom si prislúchajúce časti, a tým zvýrazniť aj vlastnú štruktúru programu.


 

 

Pravidlá pre tvorbu identifikátorov:


  1. identifikátor sa skladá z písmen, číslic a podčiarkovníka (na začiatku môže byť len písmeno),

  2. nie je rozdiel medzi malými a VEĽKÝMI písmenami (v Pascale) - insenzitívny jazyk,

  3. identifikátor nesmie byť totožný s kľúčovým - vyhradeným slovom,

  4. identifikátor musí byť jednoznačný v rámci programu alebo jeho časti (procedúra, funkcia, …) t.j. nemožno označiť rovnakým identifikátorom viacero funkcií, premenných, typov, tried,

  5. dĺžka postupnosti znakov identifikátora môže byť neobmedzená, avšak Turbo Pascal rozlišuje iba prvých 64 znakov.

 

 

Premenná - veličina v programe, ktorá počas realizácie môže meniť svoju hodnotu.

 

Konštanta - veličina v programe, ktorá počas realizácie nemení svoju hodnotu (napríklad sadzba DPH, účtovná trieda, odpisová sadzba a podobne).

 

 

Typy konštánt:


  1. logické - hodnoty TRUE, FALSE

  2. znakové - postupnosť znakov napísaná v apostrofoch (napríklad text hlavičky zostavy)

  3. číselné

  • celočíselné

  • reálne

    • v desatinnom tvare (používa sa desatinná bodka 10.5)

    • v semilogaritmickom tvare (0.1050000E+002 = 10.5)


 

Výraz (myslí sa matematický) - predpis pre výpočet hodnoty. Obsahuje:

 

  • operandy - konštanty a premenné

  • operátory - matematické znamienka +, -, *, /

  • zátvorky ( )


 

Priorita operácií:

 

  1. zátvorky ( )

  2. násobenie, delenie *, /

  3. sčitovanie, odčitovanie +, -


 

 

Každá premenná, výraz alebo funkcia môže v Pascale nadobúdať hodnoty len jedného typu.


 

Jazyk Turbo Pascal umožňuje využívanie bežnej sady aritmetických operátorov:


  • * násobenie, / delenie, div celočíselné delenie, mod zvyšok po celočíselnom delení,

  • + sčítanie, - odčítanie


 

V tejto kapitole sme si vymenovali jednotlivé časti programu, ktoré sú príznačné pre programovací jazyk Pascal. Avšak určité, tu spomínané pravidlá platia všeobecne pre takmer všetky programovacie jazyky. Ide najmä o:


  • špeciálne symboly

  • kľúčové slová

  • identifikátory

  • návestia

 

 

Keďže programovanie je prakticky kódovanie skupiny príkazov tak, aby boli syntakticky správne a logicky na seba nadväzovali sú princípy programovania prakticky rovnaké. Rozdiel je len v zápise programu pre to, ktoré programovacie prostredie. Každý, kto sa naučí vytvárať programy v jednom programovacom jazyku, by nemal mať problém rýchle sa adaptovať na iný programovací jazyk.


 

Údajový typ jazyka Pascal je to prípustná množina hodnôt, ktoré môže premenná nadobúdať. Údajové typy poznáme:


  1. jednoduché

    • ordinálne

      • štandardné - Boolean, Char, Integer

      • neštandardné - vymenovaný typ, interval

    • neordinálne - Real



  1. štruktúrované

     

    - pole (array),

    - množina (set),

    - záznam (record),

    - súbor (file)



  1. ukazovateľ (smerník, pointer)


 

 

Real - množina hodnôt sú reálne čísla, závislé na prekladači s rozsahom [10-38, 1038].


Operácie: +, -, *, /

 

Funkcie použiteľné pre typ real: abs(); sqr(); sqrt(); exp(); { umocnenie }; sin(); cos(); tan(); arctan(); round(); { zaokruhľuje všetko nahor }; trunc(); { skráti hodnotu real na integer so zaokrúhlením na najbližšie celé číslo smerom nadol }

 

 

Abstraktný príklad použitia typov v Pascale (platí pre typy premenných v príslušných výrazoch):

 

real + integer = real;

real * integer = real;

integer / integer = real


 

 

Integer - celočíselný typ, množina hodnôt sú celé čísla od -32768 do +32767.


V pamäti zaberá 2 B (2 bajty).


 

Odvodené typy od typu Integer sú:


  • byte - [0, 255] - 1 B

  • word - [0, 65535] - 2 B

  • shortint - [-128, 127] - 1 B

  • longint - [-2147438346, 2147438347] - 4 B


 

Operácie: +, -, *, div, mod, <, >, =

 

Funkcie použiteľné na typ Integer: abs(); pred(); succ(); odd(); { zisťuje párnosť alebo nepárnosť čísla }; sqr();

 

Char - množina hodnôt sú všetky znaky z klávesnice, priraďujeme len jeden znak. Je to množina znakov, ktoré sa vyjadrujú zobraziteľnou reprezentáciou ohraničenou apostrofmi (’a', ‘.’, ‘A’, …).

 

Druhou, menej častou variantou je vyjadrenie znaku pomocou ASCII kódu, ktorému predchádza znak mriežky - #. Zna ky sú uložené v ASCII (American Standard Code for Information Interchange) tabuľke. Pôvodne obsahovala 128 znakov anglickej abecedy, po pridaní národných symbolov má 255 znakov.

 

Prvých 31 znakov ASCII tabuľky je riadiacich, pretože sa pôvodne používali na riadenie niektorých funkcií telegrafných operácií výstupného zariadenia. Riadiace znaky nemožno priamo generovať z klávesnice.

 

Všetky znaky ASCII tabuľky (tej základnej) sú v rozsahu [0, 127]. Na transformáciu znaku na číslo je možné použiť štandardnú funkciu ord() a opačne, na transformáciu čísla na ASCII znak funkciu chr().

 

S údajovým typom char je možné vykonávať porovnávanie (podľa ordinálnych čísel v ASCII).

 

 


Boolean - logický typ, priraďujeme len hodnoty True alebo False


V pamäti zaberá 1 B (1 bajt) a deklaruje sa:

 

var x:boolean;

 

 

Množina hodnôt: {TRUE, FALSE}.


Operácie: and, or, xor, not


Operátory: <, >, =, <=, >=, <>


Tabuľka logických operácií:


A

B

A and B

A or B

Not A

A xor B

True

True

True

True

False

False

True

False

False

True

False

True

False

True

False

True

True

True

False

False

False

False

True

False


 


Vymenovaný typ


Definícia vymenovaného typu je založená na explicitnom určení hodnôt typu. Umožňuje programátorovi definovať lineárne usporiadanie hodnôt, ktoré sú usporiadané pomocou identifikátorov. Použité identifikátory sú pre daný program chápané ako konštanty vymenovaného typu, ktorému náležia. Každá použitá konštanta má v identifikácii priradené číslo, ktoré zodpovedá jej poradiu pri definícii typu. Prvý identifikátor má hodnotu nula - 0 -, druhý jedna - 1 -, atď. Pri deklarácii premenných vymenovaného typu je nutné použiť klauzulu type.

 

 

 

Typ Interval


Definovanie typu pomocou intervalu je založené na využití už definovaného ordinálneho typu s tým, že množinu hodnôt obmedzíme len na hodnoty určitého intervalu, ktorého hranice udáme v definícii. Pri definovaní typu pomocou intervalu môžeme použiť aj štandardné ordinálne typy.

 

Výhodou definovania vlastných údajových typov je použitie hodnôt typu, ktoré objekt nadobúda v reálnom prostredí. Tiež získavame výhody spojené s kontrolou, či objekt nadobúda hodnoty daného typu, teda prípustné hodnoty, napríklad v slovných úlohách.


Ordinálny typ - je to usporiadaná množina hodnôt a vieme určiť hodnotu predchádzajúcu a nasledujúcu. Pripúšťa pevne danú konečnú množinu hodnôt s prirodzeným očíslovaním všetkých týchto hodnôt celými číslami. Týmto číslam sa potom hovorí aj ordinálne (poradové) čísla jednotlivých hodnôt. Ordinálne čísla definujú poradie medzi hodnotami príslušného typu.

 

 

 

Otázky:

 

  1. Čo sú to špeciálne symboly?

  2. Čo predstavujú kľúčové slová a na čo sa používajú?

  3. Čo označujú identifikátory v jazyku Pascal?

  4. Čo označujú náveštia v programe Pascal?

  5. Vysvetlite rozdiel medzi premennou a konštantou používanou v programe.

  6. Aké údajové typy poznáte?

  7. Aká je to premenná typu Real?

  8. Aká je to premenná typu Integer?

  9. Aká je to premenná typu Char?

  10. Aká je to premenná typu Bolean?