Datatypes en operators
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
TP kent een hele reeks datatypes. Integers, reals, tekst:
Type |
Range |
Aantal bytes |
Byte |
0..255 |
1 |
Shortint |
-128..127 |
1 |
Integer |
-32768..32767 |
2 |
Word |
0..65535 |
2 |
Longint |
-2147483648..2147483647 |
4 |
Real |
12 significante cijfers |
6 |
Single |
8 significante cijfers |
4 |
Double |
16 significante cijfers |
8 |
Extended |
20 significante cijfers |
10 |
Comp |
20 significante cijfers integer |
8 |
Char |
ASCII-karakter |
1 |
String[n] |
n karakters, maximaal 255 |
n+1 |
Boolean |
True of False |
1 |
Daarnaast kent TP ook een pointer-type. Een variabele van het pointer-type bevat een adres dat wijst naar data van het type dat in de declaratie van het pointer-type is aangegeven.
De operators van TP zijn vrij standaard. +, -, * en / voor optellen, aftrekken, vermenigvuldigen en delen. Aangezien met integere gerekend kan worden natuurlijk ook integer deling, div, en een rest-operator: mod (van modulus). Dan zijn er operators op bit-niveau: shl (shift left), shr, and, or, xor en not. Deze werken ook als logische operators, afhankelijk van het type van de gebruikte variabelen. A and B levert een bitwise and op als A en B bytes zijn en een logische and als A en B booleans zijn.
Van de relationele operators (=, >=, <> et cetera) is in een opvallende. Je kan in Pascal een set definiëren, bijvoorbeeld als [‘a’..’z’], dan levert c in [‘a’..’z’] een true op als de waarde van c een kleine letter is.
Voor het werken met pointers zijn de operators @ en ^ van nut. @A geeft het adres van A en B^ geeft de inhoud van het adres waar B naar verwijst.
Voor de al eerdergenoemde sets zijn drie operators beschikbaar, denk aan een Venn-diagram: A+B is de set waarin de sets A en B zijn samengevoegd, A-B is de set van het verschil tussen A en B en A*B ten slotte geeft de set waarin A en B overlappen.
Ten slotte is er een operator die waardes aan een variabele toekent, de :=
Waar BASIC in de beginjaren het statement LET gebruikte voor toewijzing (LET A=10), maar later simpelweg A=10 toeliet en C voor vergelijkingen == gebruikt, doet Pascal dat door te vergelijken met = en toe te kennen met :=. A := 10 wijst de waarde 10 toe aan A, en A = 10 levert True op als A gelijk is aan 10.
Gerelateerd
Bestanden in DOS
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
De diepte in met functies en procedures
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
Gestructureerde data
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
Een softwaremuseum
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
De basisstructuur
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
