3.4. Типы переменных
В Паскале могут применяться следующие типы переменных:
Структурированные типы
Массивы
Записи
Множества
Файловые типы
Простые типы
Вещественные
Порядковые:
целый тип
логический тип
символьный тип
перечислимый тип
тип-диапазон
Строковый тип
Указатели и ссылки
Процедурные типы
Объекты
TYPE A = array [ 1 . . 1000 ] of real ;
VAR a1, a2: A; {массивы из 1000 элементов вещественных чисел типа "A"}
VAR a1, a2 : array [ 1 . . 1000 ] of real ;
Вещественные типы
Название |
Длина, байт |
Кол-во цифр |
Диапазон значений |
Single |
4 |
7..8 |
10 (-45..+38) |
Real |
6 |
11..12 |
10 (-39..+38) |
Double |
8 |
15..16 |
10 (-324..+308) |
Extended |
10 |
19..20 |
10 (-4951..+4932) |
Comp |
8 |
19..20 |
-263 +1..+263 -1 |
Примеры описания
VAR c, d, e: real;
d1, d2: double;
и присвоения:
с:= -125. 6; e:= 10;
d:= 1. e02; {или} d:= 100.;
d1:= 1.2e-257; { 1.2*10-257}
Целые типы:
Название |
Длина в байтах |
Диапазон значений |
Byte |
1 |
0 ... 255 |
ShortInt |
1 |
-128 ... 127 |
Word |
2 |
0 ... 65535 |
Integer |
2 |
-32768 ... 32767 |
LongInt |
4 |
-2147483648 ... 2147483647 |
Примеры описания:
VAR i, j, k: byte;
h, m, n: integer;
l1, l2, l3: longint;
и присвоения:
i:= 222; j:= 10; m:= -23000;
l1:= 280000;
h:= $A7; (шестнадцатеричный формат числа 10*16+7)
Над целыми типами определены такие операции:
1. "+" - сложение;
2. " * " - умножение;
3. " - " вычитание;
4. div - целочисленное деление;
5. mod - получение остатка от целочисленного деления.
Символьный тип
Примеры описания: VAR с, ch, e: char;
Примеры присвоения значения: |
|
c:= '!'; c:= #33; |
{символ "!" задается значением кода} |
ch:= #13; |
{код клавиши Enter} |
e:= #27; |
{код клавиши Esc} |
Примеры вывода: |
|
Write(с); |
{выводится символ " ! "} |
Write(ch); |
{команда перевода курсора на новую строчку} |
Write(е); |
{выводится специальный символ, соответствующий коду #27} |
Строковый тип
Примеры описания:
VAR s: string[25]; |
{длина переменной s может изменяться от 1 до 25 символов} |
s1: string; |
{длина переменной s1 не указывается, наибольшее число символов равно 255} |
Примеры присвоения значения: s:= 'Привет'; s1:= 'Hello';
Массив
Примеры описания:
VAR M1: array[1..200] of integer; A1: array[100..200] of real;
|
{М1, A1 - одномерные массивы целых и вещественных чисел} |
ch1: array['A'..'Z'] of char; ch2: array[0..255] of char; |
{сh1, ch2 - одномерные массивы символов} |
Примеры присвоения значения:
M1[1]:=5; M1[2]:=8; M1[3]:= M1[1]; M1[100]:=32;
A1[101]:=0.2; A1[102]:=2.31; ch1['B']:='C'; ch2[1]:='!'
Тип-диапазон и перечислимый тип
Примеры описания:
TYPE Date_M=1..31;Rush_b='А..Я';Lat_b= 'A..Z'; |
{тип диапазон} |
Otmetka= (2,3,4,5); Ball= (1,2,3,4,5,6,7,8,9,10); |
{перечислимый тип} |
VAR t1,t2:Date_M; c1:Ruch_b; s1:Lat_b; a1,a2:Otmetka; b:Ball;
Примеры присвоения значения: t1:= 10; c1:= 'Л'; s1:= 'F'; a1:=5; b:= 8;
Файлы
Примеры описания:
VAR f1, f2: text;
Примеры присвоения значения:
Assign( f1, 'file1. in' );
Assign( f2, 'C:\ PASCAL\ WORK\ file2. out' );
Записи
Примеры описания:
Type Sity = Record |
|
Name_G: String[20]; Numb_G: LongInt; Stol_G: Boolean; Shir, Dol: Real End; |
{ название города } { число жителей } { Столица (Да, Нет) } { Координаты: широта, долгота } |
Var St1, St2, St3: Sity; |
{ Переменные типа запись } |
Примеры присвоения значения: |
|
St1. Name_G:= 'Уфа'; St1. Numb_G:=1200000; |
{Отдельным полям переменной St1 } |
St2. Name_G:= 'Москва'; St2. Numb_G:=8200000; St3:= St1; |
{ Всем полям переменной St3 } |