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
|
|