Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава III Структура програмы в Delphi. Алфавит....doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
132.61 Кб
Скачать

Простые типы

К простым типам относятся порядковые, вещественные типы и тип дата-время.

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

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

Ord (Х), которая возвращает само значение Х. Для целых типов Ord (X) возвращает само значение X. Применение Ord (Х) к логическому типу даёт положительное целое число от 0 до1, к символьному от 0 до 255, к перечисляемому от 0 до 65535.

Тип «диапазон» сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции Ord (Х) зависит от свойства этого типа.

К порядковым типам можно применять функции: Pred (Х) – возвращает предыдущее значение порядкового типа и Suce (Х) – возвращает следующее значение порядкового типа.

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

В отличие от порядковых типов, которые в ПК представляются абсолютно точно, значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.

Как видно из таблицы 3.1, вещественное число в Object Pascal занимает от 4 до 10 смежных байт и имеет следующую структуру в памяти ПК:

S

E

m

где S – знаковый разряд числа; е – экспоненциальная часть, содержит двоичный порядок; m – мантисса числа.

Таблица 3.1.

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

Название

Длина, байт

Кол-во знач. Цифр

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

Real

6

11 … 12

2,9*10-39 … 1,7*1038

Single

4

7…8

1.5*10-45… 3.4*1038

Double

8

15…16

5.0*10-324…1.7*10308

Extended

10

19…20

3.4*10-4951…1.1*104932

Comp

8

19…20

-263…+263-1

Currency

8

19…20

 922 337 203 685 477,5807

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

Примечание: Никогда не используйте тип Real на машинах с сопроцессором, то есть на всех процессорах поколения Пентиум и 80486 с приставкой DX. Потому что при использовании этого типа на машинах с сопроцессором происходит преобразование этого типа в Extended и обратно, что ведет к дополнительным затратам времени.

Особое положение в Object Pascal занимают типы Comp и Currency, которые трактуются как вещественные числа с дробными частями фиксированной длины. В Comp дробная часть отсутствует, в Currency длина дробной части – 4 десятичных разряда. Наиболее подходящей областью применения этих типов являются бухгалтерские расчёты.

Для работы с вещественными данными могут использоваться встроенные математические функции, представленные в таблице 3.2 (Real – любой вещественный тип, INTEGER – любой целый тип). Таблица 3.2.

Стандартные математические функции OBJECT PASCAL

Обращение

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

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

Примечание

Abs (x)

Real, Integer

Тип аргумента

Модуль аргумента

Arc Tan (x)

Real

Real

Арктангенс (в радианах)

Cos. (x)

Real

Real

Косинус угла

Exp. (x)

Real

Real

Экспонента

Frac (x)

Real

Real

Дробная часть числа

Int (x)

Real

Real

Целая часть числа

Ln (x)

Real

Real

Логарифм натуральный

п = 3,1415926

PI

Real

Real

п = 3,1415926

Random

Real

Real

Псевдослучайное число, равномерно распределённое в диапазоне 0…..[1]

Random (X)

Integer

Integer

Псевдослучайное число, равномерно распределённое в диапазоне 0…..[X – 1]

Randomize

Integer

Integer

Инициация генератора псевдослучайных чисел

Sin (X)

Real

Real

Синус угла в радианах

Sqr (X)

Real

Real

Квадрат аргумента

Sqrt (X)

Real

Real

Корень квадратный

Тип дата - время

Тип дата-время определяется идентификатором T Data Time и предназначен для одновременного хранения даты и времени. Во внутреннем представлении он занимает 8 байт и, подобно Currency, представляет собой вещественное число с фиксированной дробной частью. В целой части числа хранится дата, в дробной – время.

Booleanлогический порядковый тип, переменные этого типа принимают только два значения: False (Ложь) и True (истина).

Char символьный тип. Переменные этого типа принимают значения равные символам. Всего компьютер распознает 256 символов от символа с кодом 0 до символа с кодом 255.

Целые типы

Название

Длина, байт

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

Byte

1

0…255

ShortInt

1

-128…+127

SmallInt

2

-32 768 … +32 767

Word

2

0 … 65 535

Integer

4

- 2 147 483 648 … +2 147 483 647

LongInt

4

- 2 147 483 648 … +2 147 483 647

Cardinal

4

0 … 4 294 967 295

тип-диапазон

Что такое тип-диапазон? Легко показать на примере. Пусть нам необходимо иметь переменную, которая принимает целые значения от 0 до 9, тогда нам нужно будет записать:

Type

single_digit = 0..9;

Таким образом мы определим тип-диапазон.

Например, если записать следующее:

Type

vector = array [1..15] of integer;

matrix = array [1..15,1..7] of extended;

то, определив следующие переменные:

Var

a : vector;

b : matrix;

мы получим вектор столбец а и матрицу b. Обратиться к любому из элементов массива можно следующим образом: a[2], b[2,4], b[12,6].