Tento článok bol vytlačený zo stránky https://referaty.centrum.sk

 

Programovanie

PROGRAM_meno programu;
USES_použité knižnice;
CONST_definovanie konštánt programu;
TYPE_definovanie nových typov premenných;
VAR_definovanie premenných;
BEGIN { hlavné begin - začiatok programu }
príkaz_1;
príkaz_2;
..
END. { hlavné end - koniec programu }

Ďalej si popíšeme definičnú časť.

1.PROGRAM_meno programu;
2.USES_použité knižnice;

Programovací jazyk TP mal pri svojom vzniku niekoľko základných príkazov. Asi by bolo jednoduché sa toľko príkazov naučiť, ale náročnejšie s tak málo príkazmi programovať. Preto bola možnosť na základe už známych príkazov vytvárať nové a nové. To určite zo začiatku stačilo, ale po čase sa v tejto hŕbe príkazov nik nevyznal. Kvôli tomu vznikla myšlienka uskladňovať tieto do tzv. knižníc presne tak ako v knižniciach.

Takže ak idem programovať tlačiaren, použijem knižnicu PRINTER, ak grafiku, tak GRAPH. Preto než začnem písať program, musím určiť, z akej knižnice budem používať príkazy. My si popíšeme len tie základné.

CRT - práca s obrazovkou v textovom režime, práca s klávesnicou, práca s PC
DOS - pre podporu funkcií DOSu (Windows)
GRAPH - grafické rutiny pre prácu v grafickom režime
PRINTER - príkazy pre prácu s tlačiarňou
A ďalšie iné, ktorých je mnoho, pretože každý programátor si môže vytvoriť vlastnú knižnicu.
3.CONST_konštanty programu;
4.TYPE_definovanie nových premenných;
5.VAR_definovanie premenných;
Procedúry a funkcie
Vysvetlenie procedúry

Pri písaní programu sa často stáva, že niektoré príkazy, lepšie povedané sústava príkazov, sa opakuje. Aby sme sa tomu vyhli, sprehľadnili program a hlavne uľahčili si prácu, môžeme takéto príkazy zlúčiť do jedného a dať mu nové meno. Programátor tým vlastne vytvorí nový príkaz. Toto nám poskutujú procedúry (funkcie).

Procedúra je vlastne taký malý program v programe. Takže až na malé zmeny má tú istú štruktúru.

Štruktúra:

PROCEDURE_meno procedúry(definícia vstupných premenných);

V definícii vstupných premenných napíšem s akými typmi premenných môžeme volať procedúru. Ako príklad nám poslúži procedúra ktorá zlúči príkazy GotoXY a Write nazvime je WriteXY. Vstupné parametre budú súradnice X,Y a text aký sa ma na tieto súradnice vypísať. Preto napíšem:

procedure WriteXY(x,y:integer;s:string);

Ostatné je intuitívne jasné, preto prejdeme hneď k príkladu a napíšeme si program, ktorý bude nahradzovať sústavu príkazov GotoXY a Write jediným WriteXY.Príklad:

Program Moja_procedúra:
Uses Crt,Dos;
Var X,Y,Z:Integer;

Procedure WriteXY(X,Y:Integer; S:String);
Var SucXY:Integer;
Begin
SucXY:=X+Y;
GotoXY(X,Y);
Write(S);
End;

Begin { hlavne begin programu }
ClrScr;
WriteXY(10,4,’Ahoj ja som tvoje PC’);
WriteXY(10,5,’Stlač kláves ak chceš pokracovať’);
Readln;
End. { hlavne end programu }
Vysvetlenie funkcie

Napísali sme si už jednoduchú procedúru, ale často sa stáva že potrebujeme prenášať údaje medzi procedúrou a programom. Ináč povedané, aby ním procedúra vrátila nejaké číslo. Môžeme preto definovať funkciu, ktorá má skoro rovnakú štruktúru ako procedúra s jedným rozdielom, že naviac definujeme akú premennú nám bude dávať. V tele funkcie sa názov funkcie správa ako premenná, takže môžeme do nej zapisovať výsledok jednoduchým priradením.

Štruktúra:

FUNCTION_meno(definícia vstupných premenných):typ_výstupu;

BEGIN { begin - začiatok funkcie }
príkaz;
..
meno:=výsledok;
END; { end - koniec funkcie }
Príklad:
Program Priklad_funkcie;
Uses Crt,Dos;
Var X,Vys:Integerl;

Function Moc(X:Integer):Integer;
Var Pom:Integer;
Begin
Pom:=(X+X)*2;
Moc:=Pom;
End;

Begin
ClrScr;
X:=10;
Vys:=Moc(X);
End.Rozdiel medzi lokálnymi a globálnymi premennými.

Ak si podrobne preštudujeme príklad s procedúrami, všimneme si, že sú tam premenné X,Y definované dvakrát. Prvýkrát v hlavnej deklaračnej časti programu (hneď za USES) a druhýkrát v premenných, ktoré vstupujú do procedúry. Dôležitou otázkou je, akú hodnotu bude mať premenná SucXY. Bude sčítavať X,Y ktoré sú nadefinované hneď za hlavným begin, alebo čísla ktorými volám procedúru. A tu je vlastne rozdiel medzi globálnou a lokálnou premennou, pretože v procedúre platia hodnoty 10,4 pri prvom WriteXY a 10,5 pri druhom. Premenné X=4, Y=8 budú platné pre zbytok programu. Ale Z bude viditeľné aj v procedúre WriteXY. Naopak premenná SucXY sa dá použiť len v nej. Takže ak mám definovanú globálnu premennú, potom je viditeľná v celom programe, pokiaľ sa v niektorej časti nenachádza lokálna, ktorá má rovnaké meno.

Globálna premenná: Je definovaná v hlavnom tele programu a je viditeľná v celom programe aj v procedúrach a funkciách.
Lokálna premenná: Jej definíciu píšem v záhlaví procedúry (funkcie) a je viditeľná len v tomto module. Ak má rovnaký názov ako globálna je viditeľná len lokálna.

                           Výhody                                                            Nevýhody
Globálne              Sú viditeľné v celom programe                           Zaberajú miesto v pamäti aj keď už nie sú potrebné
Lokálne               Sprehľadňujú program, takže stále vieme o akú premennú sa jedná a načo ju používame
                                                                                                 Môžu spôsobiť kolízie, ak majú rovnaký názov ako globálna premenná
                          Zaberajú miesto v pamäti len počas behu procedúry

Z tabuľky vyplýva, že pokiaľ programátor chce mať správny a prehľadný program, mal by čo najčastejšie používať a definovať lokálne premenné.

Základné funkcie a rocedúry

Round – zaokrúhľuje....3,142....3
Int – odsekne desatinné číslo 3,142…3,0
Frac – vypíše desatinnú časť 3,142….0,142
Trunk – napíše celú časť 3,142…..3
Sqr – mocnina
Sqrt – odmocnina
Str – prevod čísla na reťazec
Val – prevod reťazca na číslo

Premenná- pamäťové miesto, ktoré počas realizácie programu môže nadobúdať rôzne hodnoty jedného typu

Typy premenných

Typ              Rozsah           Počet cifier         Veľkosť
Shortint-       128..                127                  8 bitov
Integer-       32768..             32767             16 bitov
Longint-       2147483648..   2147483647      32 bitov
Byte                  0..               255                  8 bitov
Word                 0..             65535               16 bitov
Real               2.9e-39..          1.7e3811-12     6 bitov
Single            1.5e-45..          3.4e387-8          4 bity
Double         5.0e-324..          1.7e30815-16     8 bitov
Extended      3.4e-4932..        1.1e493219-20  10 bitov
Comp          9.2e18..                9.2e1819-20     8 bitov
BooleanTrue/False                                           1 bit
Char1             znak                  ASCII              1 byte
String          255 znakov            ASCII             0-255

Premenné Shorint, Integer, Longint, Byte, Word sú celočíselné.

Real, Single, Double, Extendend, Comp sú reálnymi číslami (Zvláštnym typom je premenná Boolean. Má rozsah True/False. Môžeme do nej vložiť buď áno, alebo nie.

Posledné dve a to Char a String sú zase určené na uchovávanie znakov ASCII (ASCII v prílohe). Do Char uložíme iba jeden znak. Ak budeme chcieť uložiť celé meno (viac znakov) musíme použiť premennú ako typu String.

Operátory

1.NOT - negácia
2.{,},(,)
3.*./,AND - súčin
4.+,-,OR - súčet
5.>,=,

Koniec vytlačenej stránky z https://referaty.centrum.sk