Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика_Delphi.doc
Скачиваний:
11
Добавлен:
25.08.2019
Размер:
2.92 Mб
Скачать

Тема 5. Типи даних. Введення та виведення числових даних. Функції перетворення. Математичні функції

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

Delphi характеризується розгалудженою структурою типів даних. В мові передбачений механізм створення нових типів, тому загальна кількість використаних в програмі типів може бути скільки завгодно великою.

Прості типи

До простих типів відносяться порядкові та дійсні типи, а також дата-час.

Порядковий тип відрізняється тим, що кожний із них має кінцеву кількість можливих значень. Ці значення можна певним чином впорядковувати і відповідно з кожним із них можна співставляти деяке ціле число – порядковий номер значення.

Дійсний тип теж має кінцеве кількість значень. Тип дата-час призначений для зберігання дати та часу.

Порядкові типи

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

Цілі типи

Назва

Довжина, байтів

Діапазон значень

Byte

1

0..255

ShortInt

1

-128..127

SmallInt

2

-32768..32767

Word

2

0..65535

Integer

4

-2 147 483 648.. 2 147 483 647

Longint

4

-2 147 483 648.. 2 147 483 647

LongWord

4

0.. 4 294 967 295

Int64

8

-9*1018 .. -9*1018

Cardinal

4

0 .. 2 147 483 647

Перелік процедур та функцій, які можна примінити до цілочисельних типів

Звернення

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

Дія

abs(x)

x

Повертає модуль х

chr(b)

char

Повертає символ по його коду

dec(vx[,i])

-

Зменшує значення vx на і, а при відсутності і - 1

inc(vx[,i])

-

Збільшує значення vx на і, а при відсутності і - 1

Hi(w)

byte

Повертає старший байт аргументу

Hi(I)

byte

Повертає третій по рахунку байт

Lo(i)

byte

Повертає молодший байт аргументу

Lo(w)

byte

Той же

Odd(i)

Boolean

Повертає True, якщо аргумент – непарне число

Random(w)

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

Повертає псевдо випадкове число, рівномірно розподілене в діапазоні 0..( w-1)

Sqr(x0

x

Повертає квадрат аргумента

Swap(i)

Integer

Міняє місцями байти в слові

Swap(w)

Word

Те ж

Логічні типи. До логічних типів відносяться типи: Boolean, Bytebool, Wordbool i LongBool.

Значеннями логічного типу може бути одна із попередньо оголошених констант False (істина) або True (хибно).

Символьний тип. Значеннями символьного типу є множина всіх символів клавіатури комп»ютера. Кожному символу приписується ціле число з діапазону 0..255. Ці числа є кодами внутрішнього представлення символів, їх повертає функція ORD.

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

Наприклад:

Type

Colors=(red, write, blue);

Type

Typemonth=(jan,feb,mar,may,jun,jul aug, sep, oct,nov,dec);

Var

Month: TypeMonth;

Тип-діапазон. Тип-діапазон є підмножина свого базового типу, в якості якого може виступати любий порядковий тип, крім типу-діапазону.

Тип-діапазон задається межами своїх значень

Наприклад:

Type

Digit=’0’..’9’;

Dig2=48..57;

Тип-діапазон необов’язково описувати в розділі Type, його можна вказувати безпосередньо при оголошенні змінної.

Наприклад:

Var

Date:1..31;

Month;1..12;

Lchr:’a’..’z’;

Дійсні типи

Довжина, байтів

Назва

Кількість значущих цифр

Діапазон значень

8

Real

15..16

5.0*10-324..1.7*10308

4

Singl

6..8

1.5*10-45..3.4*1038

8

Double

15..16

5.0*10-324..1.7*10308

10

Extended

19..20

3.4*10-4951..1.7*104932

8

Comp

19..20

-263..263

8

Currency

19..20

±922 337 203 685 477.5807

Стандартні математичні функції для дійсного типу

Звернення

Тип

параметра

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

Прмітка

Abs(x)

Real, Integer

Real

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

ArcTan(x)

Real

Real

Арктангенс(значення в радіанах

Cos(x)

Real

Real

Косинус, кут в радіанах

Exp(x)

Real

Real

Експонента

Frac(x)

Real

Real

Дробова частина числа

Int(x)

Real

Real

Ціла частина числа

Ln(x)

Real

Real

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

pi

-

Real

3,141592653…

Random

-

Real

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

Random(x)

Integer

Integer

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

Randomize

-

-

Ініціалізація генератора псевдо випадкових чисел

Sin(x)

Real

Real

Сінус, кут в радіанах

Sqr(x)

Real

Real

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

Sqrt(x)

Real

Real

Корінь квадратний

Тип дата-час. Тип дата-час визначається стандартним ідентифікатором TDataTime і призначений для одночасного зберігання і дати, і часу. Над даними типу TDataTime визначені тіж операції, що й над дійсними числами, а в виразах цього типу можуть приймати участь константи та змінні цілого та дійсного типів. Для роботи з датою і часом використовуються підпрограми. Наприклад:

Підпрограма

Опис

Function Date: TDateTime;

Повертає поточну дату

Function DateToStr(D: TDateTime):string;

Перетворює дату в рядок символів

Function DateTimeToSrt (D: TDateTime):string;

Перетворює дату і час в рядок символів

Function FormatDateTime(Format: String; Value: TdateTime):String;

Перетворює дату і час із параметра в рядок символів в відповідності з специфікаторами параметра

Function Now: TDateTime;

Повертає поточну дату та час

Function Time: TDateTime;

Повертає поточний час

Function TimeToStr(T:TDateTime); String;

Перетворює час в рядок