
Типы данных
Объектами действий в программах являются данные, которые определяются числовыми, логическими и символьными значениями. Для сокращения объема программы и возможности использования ее при различных значениях данных в записи программ используются не сами значения, а их имена. Так как имена могут принимать множество значений, то вводится понятие типа. Тип переменной определяется при ее описании и не может быть изменен. Под типом данных понимается множество допустимых значений этих данных, а также совокупность операций над ними.
Язык Паскаль является строготипизированным языком программирования. Это означает, что для всех переменных в вашей программе должен быть определен их тип данных.
Как и в большинстве ЯП, в Паскале все переменные, используемые в программе, описываются в ее начале в специальном разделе описания переменных после зарезервированного слова var.
Выполнение раздела описания переменных сопровождается следующими действиями:
При описании выделяется область памяти для переменных. (Например, в стандартном Паскале целые переменные занимают 2 байт, а вещественные — 4 байт.)
Описание не определяет конкретное значение переменной, т. е. считается, что в выделенной памяти при ее распределении (до использования) находится некоторый «мусор».
Описание определяет способ представления элементов в памяти ПК. (Например, вещественные переменные или константы в отличие от целых представляются в машине в виде мантиссы и порядка.)
Описание определяет набор допустимых операций.
Описание определяет область действия переменных (локальные или глобальные).
Переменные могут быть:
скалярными (простые) — содержит одно-единственное значение;
структурированными — могут содержать несколько значений/
Рассмотрим некоторые простые типы данных.
Целый
Integer — значением переменной этого типа может быть целое число из отрезка [-32768; 32767].
Вещественный
Real — значением переменной этого типа может быть вещественное число, модуль которого принадлежит отрезку [2,9*10-39; 1,7*1038]. Тип Real имеют аргумент и результат любой стандартной математической функции Турбо Паскаля, приведенные в табл.
Таблица
Стандартные математические функиии Турбо Паскаля
Обращение |
Тип аргумента |
Тип результата |
Примечание |
ABS (X) |
Real |
Real |
Модуль аргумента |
arctan(x) |
Real |
Real |
Арктангенс |
cos (х) |
Real |
Real |
Косинус |
ехр (х) |
Real |
Real |
Экспонента (ех) |
frac (x) |
Real |
Real |
Дробная часть |
Ln (х) |
Real |
Real |
Натуральный логарифм |
Random |
Real |
Real |
Псевдослучайное число, равномерно распределенное в диапазоне [0, 1] |
Random(x) |
Integer |
Integer |
Псевдослучайное число, равномерно распределенное в диапазоне [0, х-1] |
Rendomize |
|
|
Инициация генератора псевдослучайных чисел |
Sin(x) |
Real |
Real |
Синус (угол в радианах) |
Sqr(x) |
real, integer |
real, integer |
Квадрат аргумента (x2) |
Sqrt(x) |
Real |
Real |
Корень квадратный (√x) |
Логический
Boolean — переменная этого типа может принимать только два значения: истина (true) или ложь (false).
Символьный
Char — значением переменной этого типа может быть любой символ из набора ASCII-символов.
Пример
Пусть в разделе описаний записано:
var a:real;
d, c.integer;
Это означает, что у нас описано три переменных — a (вещественного типа), d и с (целого типа). В программе могут быть операторы присвоения следующего вида:
А:=3,4;
А := 5/с;
D:=8;
С := 8 div 3;
Однако обратите внимание, что присваиваемое переменной значение должно быть того же типа, что и объявленная переменная. То есть недопустимы операторы вида:
С := 5,89;
D := 2/4;
Компилятор выдаст вам сообщение об ошибке типов — попытка присвоить целой переменной вещественное значение.