Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi -Мет по лабраб_ Часть_2.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

П2. Простые типы данных языка object pascal

П2.1. .Целые типы

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

Название

Длина, байт

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

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... 2147483647

К целочисленным типам применимы следующие процедуры и функции:

Обращение

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

Действие

abs (х)

х

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

chr (Byte)

Char

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

dec(x[,i])

—

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

inc(x[,i])

—

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

Hi (word)

Byte

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

Hi(integer)

Byte

Возвращает третий по счету байт

Lo(integer)

Byte

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

Lo (word)

Byte

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

Odd(Longlnt)

Boolean

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

Random(word)

—

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

sqr (х)

x

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

swap (integer)

Integer

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

swap(word)

Word

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

П2.2. .Логические типы

К логическим относятся типы Boolean, ByteBool, Bool, WordBool и LongBool. В стандартном Паскале определен только тип Boolean, остальные логические типы введены в Object Pascal для совместимости с Windows: типы Boolean и ByteBool занимают по 1 байту каждый, Bool и WordBool - по 2 байта, LongBool - 4 байта. Значениями логического типа может быть одна из предварительно объявленных констант: False (ложь) или True (истина). Для них справедливы правила:

0rd( False) = 0;

Ord(True) <> 0;

Succ(False) = True;

Pred(True) = False.

П2.3. Символьный тип данных

Символьные типы предназначены для хранения одного символа. Ниже приведена таблица символьных типов.

Тип

Размер в байтах

Что может хранить

ANSIChar

1

Один символ ANSI

WideChar

2

Один символ Unicode

Char

2

Сейчас эквивалентен ANSIChar. В будущих версияхDelphi может быть эквивалентен WideChar

Наличие двух разных типов – ANSIChar и WideChar связано с двумя различными множествами символов: ANSI, каждый символ которого занимает 1 байт, и Unicode, каждый символ которого занимает 2 байта. Первые 256 символов в этих множествах одинаковые и соответствуют символам ASCII от 0 до 255.

Для кодировки в Windows используется код. Первая половина символов с кодами 0...127 постоянна и содержит в себе служебные коды и латинский алфавит. Вторая половина символов с кодами 128...255 меняется для различных шрифтов. Символы с кодами 0...31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами.

Родовым (т.е. обеспечивающим максимальную производительность) является тип Char, который в настоящее время эквивалентен типу ANSIChart. К типу Char применимы операции отношения, а также встроенные функции.

П2.4. Перечисляемый тип

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

Функции, поддерживающие работу с типами-диапазонами:

High (X) - возвращает максимальное значение типа-диапазона, к котором принадлежит переменная X; Low (X) - возвращает минимальное значение типа-диапазона.

П2.5. Вещественные типы

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

Название

Длина, байт

Кол-во значащих цифр

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

Примечание

Real

6

11...12

2,9*10-39...1,7*1039

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

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

±922337203685477,5807

Длина дробной части 4 десятичных разряда

Для работы с вещественными типами имеются стандартные функции:

Обращение

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

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

Примечание

Abs(x)

Вещественный, целый

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

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

АгсТаn(х)

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

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

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

Cos(x)

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

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

Косинус (в радианах)

Ехр(х)

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

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

Экспонента

Frac(x)

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

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

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

lnt(x)

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

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

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

Ln(x)

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

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

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

Pi

---

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

=3.141592653...

Random

—

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

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

Random(x)

Целый

Целый

Псевдослучайное целое число, равномерно распределенное в диапазоне 0. ..x

Randomize

—

—

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

Sin (x)

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

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

Синус (в радианах)

Sqr(x)

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

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

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

Sqrt(x)

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

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

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

П2.6. Тип Дата-Время

Тип дата - время определяется идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Над данными типа TDateTime определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов.

Приложение 3