Tipi Ordinali
Nella precedente lezione abbiamo introdotto le variabili e come esse possono essere dichiarate e usate in Object Pascal.
Nel realizzare il programma abbiamo implicitamente utilizzato uno dei tipi di dati più semplici messi a disposizione da parte del linguaggio: Integer
o tipo intero.
A partire da questa lezione scenderò maggiormente nel dettaglio nel descrivere i tipi di dato e quali sono le operazioni che è possibile effettuare su di essi. I primi tipi di dato che prenderemo in esame sono i tipi ordinali di cui i tipi interi sono un esempio.
Definizione
I tipi ordinali sono categorie di tipi per cui è definito un ordine. In pratica, se x
e y
sono due variabili dello stesso tipo ordinale, è sempre possibile stabilire se x
è minore di y
, ossia se ha senso l'espressione x
< y
.
In Object Pascal esistono tre tipi ordinali bult-in:
- I tipi interi
- il tipo
Char
- il tipo
Boolean
In questa lezione ci occuperemo dei tipi interi.
Tipi Interi
Ogni linguaggio di programmazione che si rispetti permette allo sviluppatore di usare tipi numerici interi. Parlo al plurale in quanto, spesso, esistono diversi tipi di intero a seconda di come i numeri sono internamente rappresentati. Nel dettaglio, ciò che cambia è il numero di bit utilizzati e la presenza o meno del segno.
L'Object Pascal supporta un ampio spettro di tipi interi, riportati nella tabella seguente.
Da notare che oltre al nome, questi tipi hanno un alias, un nome alternativo che può essere usato al posto del nome vero e proprio. Questi alias sono più semplici da ricordare perchè presentano nel nome sia il numero di bit usati (ad es. Int16
per un intero a 16 bit e Int32
per un intero a 32), sia se la rappresentazione prevede la presenza del segno o meno (un intero senza segno è indicato da una U
anteposta al nome che sta per Unsigned ossia senza segno).
Dimensione | Con Segno | Nome | Alias | Valore Minimo | Valore Massimo |
---|---|---|---|---|---|
8 Bit | No | Byte |
UInt8 |
||
8 Bit | Si | ShortInt |
Int8 |
||
16 Bit | No | Word |
UInt16 |
||
16 Bit | Si | SmallInt |
Int16 |
||
32 Bit | No | Cardinal |
UInt32 |
||
32 Bit | Si | Integer |
Int32 |
||
64 Bit | No | UInt64 |
|||
64 Bit | Si | Int64 |
Procedure standard per interi
Object Pascal fornisce tutta una serie di routine standard built-in per lavorare sui tipi interi:
program StandardRoutines;
var
x: Integer;
begin
Write('Inserisci un numero: ');
ReadLn(x);
WriteLn('Dec(x) = ', Dec(x));
WriteLn('Inc(x) = ', Inc(x));
WriteLn('Odd(x) = ', Odd(x));
end.