Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures-pas.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
676.86 Кб
Скачать
  1. Данные в языке Паскаль

В языке Паскаль любая переменная характеризуется своим типом.

Под типом, в данном случае, понимается множество значений, которые

может принимать переменная, а также множество операций, допустимых над данной переменной. Тип определяет формат внутреннего представления данных в памяти компьютера.

Тип переменной определяется при ее описании, и он не может быть

изменен в процессе выполнения программы. Переменная может участвовать только в операциях, допустимых ее типом.

Паскаль имеет развитую систему типов. Классификация типов данных,

приведенная на рисунке 1, взята из книги [1] и не является единственной. В языке предусмотрен механизм создания новых типов данных на основе базовых. Поэтому общее число типов, используемых в программе, может быть сколь угодно большим.

Рассмотрим сначала так называемые простые или базовые типы, являющиеся основой для построения других типов. Их иногда называют также стандартными типами данных.

Порядковые

Целые

Типы

Простые

Логический

Вещественные

Структурированные

Символьный

Массивы

Записи

Ссылочный

Перечислимый

Ограниченный

Множества

Строковый

Файлы

Процедурный

Объекты

Рисунок 1

2.1 Порядковые типы данных

Порядковые типы характеризуются тем, что каждый из них имеет конечное число возможных значений и с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. К порядковым типам относятся:

  • целый тип;

  • логический (или булевой) тип;

  • символьный тип;

  • перечислимый (или перечисляемый) тип;

  • ограниченный (или интервальный) тип, который также называют тип-диапазон.

К любому из них применима стандартная функция ORD(Х), результатом которой является порядковый номер значения Х. К порядковым типам можно также применять функции:

PRED(X) - возвращает предыдущее значение порядкового типа;

SUCC(X) - возвращает следующее значение порядкового типа.

2.1.1 Целые типы данных

Эта группа типов обозначает множество целых чисел в различных диапазонах. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта.

В таблице 1 приведены имена (или названия) всех возможных целых типов (их всего 5), а также длина их внутреннего представления в байтах и диапазоны возможных значений каждого из типов.

Таблица 1

Целые типы

Название

Длина, байт

Диапазон значений

Byte

1

0…255

ShortInt

1

-128…+127

Word

2

0…65535

Integer

2

-32768…+32767

LongInt

4

-2147483648…+2147483647

Значения целых типов могут изображаться в программе двумя способами: в десятичном виде (в виде последовательности цифр от 0 до 9) и в шестнадцатеричном виде (в виде последовательности цифр от 0 до 9 и букв от A до F, перед которыми ставится знак $).

Над целыми значениями допустимы следующие арифметические операции: + - сложение, - - вычитание, * - умножение, / - деление и две дополнительные операции "типа деление", а именно, Div - деление нацело, с отбрасыванием дробной части и Mod - взятие остатка от целочисленного деления.

При применении к целым значениям всех этих операций, кроме / - деления получается результат целого типа, а деление (/) всегда дает вещественный результат.

К значениям целых типов могут быть применены стандартные процедуры и функции, некоторые из них приведены в таблицах 2 и 3.

При действиях с целочисленными значениями тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, - типу того операнда, который имеет максимальный диапазон значений. Возможное переполнение результата никак не контролируется, что может привести к непредсказуемым результатам.

Таблица 2

Стандартные функции, применимые к целым типам

Обращение

Тип

аргумента

Тип

результата

Действие

Hi(X)

Integer

Word

Byte

Byte

Возвращает старший байт аргумента

Lo(X)

Integer Word

Byte

Word

Возвращает младший байт аргумента

Odd(X)

LongInt

Boolean

Возвращает значение True,

если Х - если Х - нечетное

Swap(X)

Integer

Word

Integer

Word

Меняет местами байты в слове

Таблица 3

Стандартные процедуры, применимые к целым типам

Описание

процедуры

Тип параметров

Назначение

Randomize

Без параметров

Гарантирует несовпадение последо- вательностей случайных чисел,

выдаваемых функцией Random

Inc(X)

X - целое

Увеличивает значение Х на 1

Dec(X)

X - целое

Уменьшает значение Х на 1

Inc(X,N)

Dec(X,N)

Увеличивает значение Х на N

Dec(X,N)

Dec(X,N)

Уменьшает значение Х на N

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]