4.7. Definisanje konstante /CONST/ i broj PI

Konstanta je zadana nepromjenljiva vrijednost ili podatak. Može biti brojna, logička, tekstualna. U PASCAL-u su definisane određene standardne konstante: MAXINT, najveći cijeli broj, TRUE - istinto, FALSE - lažno (logička konstanta). Identifikator konstanti se definiše sa naredbom CONST iza koje se nalazi onoliko definicija konstanti koliko treba u programu.

 


 
Primjer definisanja konstanti je u slijedećoj tabeli.

Tabela 4.7. Primjer definisanja konstanti

**

Listing programa

Opis

 1

CONST

Ključna riječ

2

  maksimalanBroj = 100;

Cio broj

3

  imeNaucnika = 'Tesla';

String

4

  izlaznaNaredba = 'Q';

Znak

5

  izlaznaTipka = #13;

ASCII kod

6

  gravitacija = 9.81;

Realan broj

Linija 1 sadrži ključnu riječ CONST koje označava dio programa u kojem se definišu konstante.  Linije 2 do 6 sadrže definicije konstanti. Promjenljiva maksimalanBroj je cjelobrojna veličina (100).  Slijedeća promjenljiva, imeNaucnika je string ('Tesla').  Linija 4 sadrži konstantu karakter Q.  Oznaka # se koristi za ASCII kod 35 za karakter identifikator izlazna tipka.  Konstanta iz ovog definicionog dijela se može koristiti bilo gdje u programu i tad predstavalja broj, string, karakter ili drugi odgovarajući tip podataka koji je definisan.
Konstante se ne mijenjaju za vrijeme izvođenja programa.  Prije novog kompajliranja programa, može se promjeniti vrijednost konstante. Iskompajlira se program i to je nova vrijednost konstante pri izvođenju. Na primjer promjenom vrijednosti maksimalanBroj sa 100 na 1000 je daleko jednostavnije u dijelu definisanja konstanti nego tražiti sve vrijednosti 100 u programu.

  • Razlika konstante i promjenljive za vrijeme izvođenja programa:
  • Vrijednosti konstante se ne mijenjaju,
  • Vrijednost promjenljive se može mijenjati u toku izvođenja programa.

4.7.1. Primjeri korištenja konstanti

Broj PI:

PROGRAM BrojPI1;
CONST
  PI = 3.141592654;
BEGIN
  WRITELN('Broj PI');  { naslov }
  WRITELN(PI);  { ispis }
  READLN;
END.

Izvršavanje programa:
Broj PI
 3.1415926540000000E+0000

Broj PI:

PROGRAM BrojPI2;
CONST
  PI = 4 * arctan(1);   { tan(PI/4) = 1 }
BEGIN
  WRITELN('Broj PI');  { naslov }
  WRITELN(PI);  { ispis }
  READLN;
END.

Izvršavanje programa:
Broj PI
 3.1415926535897932E+0000

4.1.  Provjera najveće vrijednosti cijelog broja se izvodi slijedećim programom.
Tabela 4.8. Najveća vrijednost cijelog broja

Listing programa

Ekran

Opis

PROGRAM Najveci;

 

Zaglavlje

  USES  crt;

 

Koristi CRT

BEGIN

 

Početak

  WRITELN('Najveci cio broj');

Najveci cio broj

Naslov

  WRITELN(maxint);

32767

Najveći cio broj

  READLN;

 

Čekanje

END.

 

Kraj

4.2.  Korištenje konstante - broja članova niza u definisanju niza i radu sa nizom. Samo na jednom mjestu mijenjamo broj članova niza.

Tabela 4.9. Članovi niza

**

Listing programa

Opis

1

CONST

Ključna riječ

2

  max = 100;

Broj članova

3

VAR

 

4

  NIZ: ARRAY[0..max] of INTEGER;

Niz

5

  ...............

 

6

  FOR  I := 0 TO max DO niz[I] := 0;

Petlja

4.3.  Slijedeći program prikazuje korištenje aritmetičkih operatora, primjenjenih na konstante.

Tabela 4.10. Aritmetičke operacije

Listing programa

Ekran

Opis

PROGRAM Operatori;

 

Zaglavlje

CONST

 

Konstante:

    a = 2;

 

 a = 2

    b = 3;

 

  b = 3

BEGIN

 

Početak

  CLRSCR;

 

Briše ekran

  WRITELN('Operatori');

Operatori

Naslov

  WRITELN;

 

Prazna linija

  WRITELN('a = ',a);

a = 2

a = 2

  WRITELN('b = ',b);

b = 3

b = 3

  WRITELN('a+b = ',a+b);

a+b = 5

Sabiranje

  WRITELN('a-b = ',a-b);

a-b = -1

Oduzimanje

  WRITELN('a*b = ',a*b);

a*b = 6

Množenje

  WRITELN('a/b = ',a/b);

a / b  = 6.6666666667E-01

Dijeljenje

  WRITELN('a DIV b=',a DIV b);

a DIV b = 0

Cjelobrojno dijeljenje

  WRITELN('b DIV a=', b DIV a);

b DIV a = 1

Cjelobrojno dijeljenje

  WRITELN('a MOD b=',a MOD b);

a MOD b = 2

Cjelobrojno dijeljenje

  WRITELN('b MOD a=', b MOD a);

b MOD a = 1

Cjelobrojno dijeljenje

  READLN;

 

Čekanje

END.

 

Kraj


PROGRAM Operatori;
CONST
    a = 2;
    b = 3;
BEGIN
  WRITELN('Operatori');
  WRITELN;
  WRITELN('a = ',a);
  WRITELN('b = ',b);
  WRITELN('a+b = ',a+b);
  WRITELN('a-b = ',a-b);
  WRITELN('a*b = ',a*b);
  WRITELN('a/b = ',a/b);
  WRITELN('a DIV b = ', a div b);
  WRITELN('b DIV a = ', b DIV a);
  WRITELN('a MOD b = ', a MOD b);
  WRITELN('b MOD a = ', b MOD a);
  READLN;
END.

Ispis na ekran:  
Operatori

a = 2
b = 3
a+b = 5
a-b = -1
a*b = 6
a/b =  6.6666666666666667E-0001
a DIV b = 0
b DIV a = 1
a MOD b = 2
b MOD a = 1

Index