Pascal - typy danych
Typy danych podmiotu wskazują znaczenie, ograniczenia, możliwe wartości, operacje, funkcje i sposób przechowywania z nim związanych.
Typy całkowite, rzeczywiste, logiczne i znakowe są określane jako standardowe typy danych. Typy danych można podzielić na skalarne, wskaźnikowe i strukturalne. Przykładami skalarnych typów danych są liczby całkowite, rzeczywiste, logiczne, znakowe, podzakresy i wyliczeniowe. Strukturyzowane typy danych składają się z typów skalarnych; na przykład tablice, rekordy, pliki i zbiory. Później omówimy typy danych wskaźników.
Typy danych Pascal
Typy danych Pascal można podsumować jak poniżej na poniższym diagramie -
Deklaracje typu
Deklaracja typu służy do deklarowania typu danych identyfikatora. Składnia deklaracji typu to -
type-identifier-1, type-identfier-2 = type-specifier;
Na przykład następująca deklaracja definiuje zmienne dni i wiek jako typ całkowity, tak i prawda jako typ boolowski, nazwę i miasto jako typ łańcuchowy, opłaty i wydatki jako typ rzeczywisty.
type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;
Typy całkowite
Poniższa tabela zawiera szczegółowe informacje o standardowych typach liczb całkowitych, ich rozmiarach i zakresach wartości używanych w Object Pascal -
Rodzaj | Minimum | Maksymalny | Format |
---|---|---|---|
Liczba całkowita | -2147483648 | 2147483647 | podpisany 32-bitowy |
Kardynał | 0 | 4294967295 | bez znaku 32-bitowe |
Shortint | -128 | 127 | podpisany 8-bitowy |
Smallint | -32768 | 32767 | podpisany 16-bitowy |
Longint | -2147483648 | 2147483647 | podpisany 32-bitowy |
Int64 | -2 ^ 63 | 2 ^ 63 - 1 | podpisany 64-bitowy |
Bajt | 0 | 255 | unsigned 8-bitowy |
Słowo | 0 | 65535 | unsigned 16-bitowy |
Longword | 0 | 4294967295 | bez znaku 32-bitowe |
Stałe
Użycie stałych sprawia, że program jest bardziej czytelny i pomaga zachować specjalne ilości w jednym miejscu na początku programu. Pascal dopuszcza stałe numeryczne, logiczne, łańcuchowe i znakowe . Stałe można zadeklarować w części deklaracyjnej programu, określając rozszerzenieconst deklaracja.
Składnia deklaracji typu stałego jest następująca -
const
Identifier = contant_value;
Oto kilka przykładów stałych deklaracji -
VELOCITY_LIGHT = 3.0E=10;
PIE = 3.141592;
NAME = 'Stuart Little';
CHOICE = yes;
OPERATOR = '+';
Wszystkie deklaracje stałe należy podać przed deklaracją zmiennej.
Wyliczone typy
Wyliczeniowe typy danych to typy danych zdefiniowane przez użytkownika. Pozwalają na określenie wartości na liście. Tylko operatory przypisania i operatory relacyjne są dozwolone dla wyliczeniowych typów danych. Wyliczone typy danych można zadeklarować w następujący sposób -
type
enum-identifier = (item1, item2, item3, ... )
Oto kilka przykładów wyliczeniowych deklaracji typów -
type
SUMMER = (April, May, June, July, September);
COLORS = (Red, Green, Blue, Yellow, Magenta, Cyan, Black, White);
TRANSPORT = (Bus, Train, Airplane, Ship);
Kolejność, w jakiej elementy są wymienione w domenie typu wyliczeniowego, określa kolejność elementów. Na przykład w wyliczonym typie LATO kwiecień przypada przed majem, maj przed czerwcem i tak dalej. Domena wyliczonych identyfikatorów typów nie może składać się ze stałych liczbowych ani znakowych.
Typy podzakresów
Typy podzakresów pozwalają zmiennej przyjmować wartości mieszczące się w pewnym zakresie. Na przykład, jeśli wiek wyborców powinien wynosić od 18 do 100 lat, zmienną o nazwie wiek można zadeklarować jako -
var
age: 18 ... 100;
Szczegółowo przyjrzymy się deklaracji zmiennych w następnej sekcji. Możesz również zdefiniować typ podzakresu przy użyciu deklaracji typu. Składnia deklarowania typu podzakresu jest następująca -
type
subrange-identifier = lower-limit ... upper-limit;
Oto kilka przykładów deklaracji typu podzakresów -
const
P = 18;
Q = 90;
type
Number = 1 ... 100;
Value = P ... Q;
Typy podzakresów można tworzyć z podzbioru już zdefiniowanego typu wyliczeniowego, na przykład -
type
months = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Summer = Apr ... Aug;
Winter = Oct ... Dec;