Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
25.04.2015
Размер:
82.43 Кб
Скачать

Тема 3. Структура типов данных. Стандартные процедуры и функции, применимые к целым, вещественным числам. Логический, символьный, перечисляемый типы, тип-диапазон. Примеры. Типы данных

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

Турбо Паскаль характеризуется разветвлённой структурой типов данных.

Простые типы

  1. Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определённым образом упорядочить и, следовательно, с каждым из них можно сопоставить некоторое число – порядковый номер значения.

  2. Вещественные типы, строго говоря, тоже имеет конечное число значений, которое определяется форматом внутреннего представления вещественного числа.

Порядковые типы

К порядковым типам относятся целые, логический, символьный, перечисляемый и тип – диапазон. Функция ORD(X) возвращает порядковый номер значения выражения X и применяется к любому порядковому типу. Для целых типов функция возвращает само значение X, т.е. ORD(X)=X для X, принадлежащего любому целому типу.

ORD(X) для логического типа даёт положительное целое число в диапазоне от 0 до 1.

ORD(X) для символьного типа даёт целое число в диапазоне от 0 до 255, для перечисляемое типа ORD(X) даёт число в диапазоне от 0 до 65535. Тип- диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа. К порядковым типам можно также применять функции:

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

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

ORD ( SUCC(x))= ORD(x)+1;

Пример: X:=’М’ ; PRED (x)=’L’; SUCC(x)=’N’;

Целые типы

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

Таблица 2

Целые типы

Название

Длина байт

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

Byte

ShortInt

Word

INTEGER

LongInt

1

1

2

2

4

0…255

-128…+127

0…65535

-32768…+32767

-2147483648…+2147483647

А) При использовании процедур и функций с целочисленными параметрами следует руководствоваться « вложенностью» типов, т.е. везде, где может использоваться WORD, допускается использование BYTE ( но не наоборот), в LONGINT « входит» INTEGER , который в свою очередь включает в себя SHORTINT.

Перечень процедур и функций, применимых к целочисленным типам, приведём в таблице 2, буквами b, s, w, i, l, обозначены выражения соответственно типа byte, shortint, word, integer, u lougint, X- выражение любого из этих типов; буквы vb, vs, vw, vi, v,l vx, обозначает переменные соответствующих типов. В квадратных скобках указывается необязательный параметр.

Таблица 3 - Стандартные процедуры и функции, применимые к целым типам

Обращение

Тип результата

Действие

abs(x)

х

Возвращает модуль х

chr ( b)

Char

Возвращает символ по его коду

dec ( vx[,i])

--

Уменьшает значение vx на i, а при отсутствии i–на 1

inc ( vx[,i])

--

Увеличивает значение vx на i, а при отсутствии i-на 1

Hi ( i)

Byte

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

Hi ( w)

Byte

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

Lo(i)

--

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

Lo(w)

--

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

odd (l)

Boolean

Возвращает TRUE, если аргумент – нечетное число

Random (w)

Как у параметра

Возвращает псевдослучайное число, равномерно распределенное в диапазоне 0..(w-1)

sqr (x)

х

Возвращает квадрат аргумента

swap(i)

INTEGER

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

swap (w)

Word

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

Соседние файлы в папке лекции паскаль