Встроенные целочисленные типы
Тип |
Диапазон |
Формат |
shortint (короткое целое) |
–128 .. 127 |
8 бит со знаком |
integer (целое) |
–32768 .. 32767 |
16 бит со знаком |
longint (длинное целое) |
–2147483648..2147483647 |
32 бита со знаком |
byte (длиной в байт) |
0 .. 255 |
8 бит без знака |
word (длиной в слово) |
0 .. 65535 |
16 бит без знака |
Булевский тип (bооlеаn)
Значения булевского типа обозначаются встроенными идентификаторами констант False (ложь) и Тгие (истина).
Символьный тип (сhаr)
Множеством значений этого типа являются символы, упорядоченные в соответствии с расширенным набором символов кода АSСII.
Перечислимый тип
Этот тип данных определяется пользователем. Перечислимые типы определяют упорядоченные множества значений через перечисление идентификаторов, которые обозначают эти значения, например:
Тyре
DаyОfWееk = (SUN, МОN, ТUЕ, WЕD, ТНU, FRI, SАТ);
Тип поддиапазона (отрезок типа, интервальный тип)
Этот тип также определяется пользователем. Тип поддиапазона представляет собой диапазон значений из порядкового типа, называемого базовым типом. Определение этого типа включает наименьшее и наибольшее значение в поддиапазоне, например:
Тyре
Yеаr=1900..2000;
Lеttеr='А'..'Z';
Функции для работы с порядковыми типами
Функция |
Возвращаемый результат |
Low(T) |
Минимальное значение порядкового типа T |
High(T) |
Максимальное значение порядкового типа T |
Ord(x) |
Порядковый номер значения порядкового типа. Для целочисленного выражения – просто его значение. |
Pred(x) |
Предшествующее заданному значению значение. Для целочисленных выражений эквивалентно x-1. |
Succ(x) |
Следующее за заданным значением значение. Для целочисленных выражений эквивалентно x+1. |
Chr(x) |
Символ, соответствующий заданному порядковому номеру x. |
Процедуры для работы с порядковыми типами
Процедура |
Описание |
Dec(x) |
Уменьшает значение переменной на 1. Эквивалентно x:=Pred(x) |
Inc(x) |
Увеличивает значение переменной на 1. Эквивалентно x:=Succ(x) |
Вещественные типы
К вещественным типам относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей запятой с фиксированным числом цифр. Вещественные типы различаются диапазоном и точностью связанных с ними значений.
Диапазон представления и десятичные цифры для вещественных типов
Тип |
Диапазон |
Значащие цифры |
Формат в байтах |
rеаl (вещественное) |
2.910–39 1.71038 |
11 – 12 |
6 |
singl (с одинарной точностью) |
1.510–45 3.41038 |
7 – 8 |
4 |
double (с двойной точностью) |
5.010–324 1.710308 |
15 – 16 |
8 |
ехtеndеd (с повышенной точностью) |
3.410–4932 1.1104932 |
19 – 20 |
10 |
соmр (сложный) |
–2 63+1 2 63–1 |
|
8 |
Функции для работы с вещественными типами
Функция |
Возвращаемый результат |
Abs(x) |
Абсолютное значение x |
ArcTan(x) |
Арктангенс x |
Cos(x) |
Косинус x |
Exp(x) |
Экспоненциальная функция от x |
Frac(x) |
Дробная часть x |
Int(x) |
Целая часть x. Возвращает вещественное значение с нулевой дробной частью |
Ln(x) |
Натуральный логарифм x |
Pi |
Число Пи (3.1415926535897932385) |
Round(x) |
Ближайшее к x целое значение. Возвращает значение целого типа |
Sin(x) |
Синус x |
Sqr(x) |
Квадрат x |
Sqrt(x) |
Квадратный корень из x |
Trunc(x) |
Целая часть x. В отличие от Int возвращает целое значение |
Random |
Случайное число от 0 до 1 или в заданном диапазоне. Для запуска случайного генератора используется процедура Randomize, а начальное число задается переменной RandSeed |
Строковый тип (string)
Значением строкового типа является последовательность символов размером до 255 символов. Строковый тип, объявленный без атрибута размера, имеет установленный по умолчанию размер, равный 255 символам.
S1:string;
S2:string[10];
В переменной S1 может быть записана строка длиной до 255 символов, а в S2 – только до 10 символов. Текущее значение длины можно получить с помощью процедуры Length. К символам в строке можно иметь доступ как к элементам массива.
Переменные
Описание переменной представляет собой список идентификаторов, которые обозначают новые переменные и их типы, например:
Vаr
Х,Y,Z: rеаl;
I,J,К: intеgеr;
Digit: 0..9;
В разделе процедур и функций следует описание процедур и функций, написанных пользователем.
Тело основной программы состоит из операторов, выражений, вызовов процедур и функций.
Операторы делятся на простые и структурные. К простым операторам относятся оператор присваивания, оператор процедуры, оператор перехода. К структурным операторам относятся составной оператор, условные операторы, операторы цикла, оператор присоединения.
Операторы описывают те алгоритмические действия, которые должны выполняться. Операторам могут предшествовать метки, которые можно использовать для ссылок в операторах перехода. Простым оператором является такой оператор, который не содержит в себе других операторов.
Оператор присваивания ( := ) заменяет текущее значение переменной новым значением, которое определяется выражением, или определяет выражение, значение которого должно возвращаться функцией, например:
Х := Y + Z;
I := Sqr(J) - I*К;
Оператор процедуры определяет активизацию процедуры, обозначенную с помощью идентификатора процедуры. Если соответствующее описание процедуры содержит список формальных параметров, то оператор процедуры должен содержать в себе соответствующий ему список фактических параметров. При вызове происходит передача фактических параметров формальным параметрам, например:
Рrint Неаing;
Тrаnsроsе (А, N, М);
Fin (Nаmе, Аddrеss);
Оператор перехода (gоtо) вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе перехода, например:
gоtо 45;
Выражения
Выражения состоят из операций и операндов. Большинство операций в языке Паскаль являются бинарными, то есть содержат два операнда. Остальные операции являются унарными и содержат только один операнд. В бинарных операциях используется обычное алгебраическое представление, например: а+b. В унарных операциях операция всегда предшествует операнду, например: -b.
В более сложных выражениях порядок, в котором выполняются операции, соответствует приоритету операций.
