Федеральне агентство з освіти
Реферат
В«ТИПИ ДАНИХ У ПаскальВ»
2008
1. Типи даних
Будь-які дані, тобто константи, змінні, властивості, значення функцій або вираження характеризуються своїми типами. Тип визначає безліч допустимих значень, які може мати той чи інший об'єкт, а також безліч допустимих операцій, які застосовні до нього. Крім того, тип визначає також і формат внутрішнього представлення даних в пам'яті ПК.
Взагалі мову Object Pascal характеризується розгалуженою структурою типів даних (рис. 1.1). У мові передбачений механізм створення нових типів, завдяки чому загальна кількість використовуваних в програмі типів може бути скільки завгодно великим.
Оброблювані в програмі дані підрозділяються на змінні, константи і літерали:
Константи являють собою дані, значення яких встановлені в розділі оголошення констант і не змінюються в процесі виконання програми.
Змінні оголошуються в розділі оголошення змінних, але на відміну від констант отримують свої значення уже в процесі виконання програми, причому допускається зміна цих значень. До константам і змінним можна звертатися по іменах.
Літерал не має ідентифікатора і представляється в тексті програми безпосередньо значенням.
Тип визначає множину значень, які можуть приймати елементи даних, і сукупність допустимих над ними операцій.
У цій та чотирьох наступних главах приводиться докладний опис всіх типів.
1.1 Прості типи
До простих типів відносяться порядкові, речові типи і тип дата-час.
Порядкові типи відрізняються тим, що кожен з них має кінцеве кількість можливих значень. Ці значення можна певним чином упорядкувати (звідси - Назва типів) і, отже, з кожним з них можна зіставити деяке ціле число - порядковий номер значення.
Речові типи , строго кажучи, теж мають кінцеве число значень, яке визначається форматом внутрішнього подання дійсного числа. Однак кількість можливих значень речових типів настільки велике, що зіставити з кожним з них ціле число (його номер) не представляється можливим.
Тип дата-час призначений для зберігання дати та часу. Фактично для цих цілей він використовує речовинний формат.
1.1.1 Порядкові типи
До порядковим типами відносяться (див. рис. 1.1) цілі, логічні, символьний, перераховується і тип-діапазон. До будь-якого з них застосовна функція Ord (x), яка повертає порядковий номер значення виразу X.
Рис. 1.1 - Структура типів даних
Для цілих типів функція ord (x) повертає саме значення х, тобто Ord (X) = х для х, що належить будь цілого типу. Застосування Ord (x) до логічному , символьному і не перераховувати типам дає позитивне ціле число в діапазоні від 0 до 1 ( логічний тип ), від 0 до 255 ( символьний ), від 0 до 65535 ( перелічуваний ). Тип-діапазон зберігає всі властивості базового порядкового типу, тому результат застосування до нього функції ord (х) залежить від властивостей цього типу.
До порядковим типами можна також застосовувати функції:
pred (x) - повертає попереднє значення порядкового типу (значення, яке відповідає порядковому номеру ord (х) -1, тобто оrd (рred (х)) = оrd (х) - 1;
succ (х) - повертає таке значення порядкового типу, яке відповідає порядковому номеру ord (х) +1, тобто оrd (Succ (х)) = оrd (х) + 1.
Наприклад, якщо в програмі визначена змінна
var
з: Char;
begin
з: = '5 ';
end;
то функція PRED (с) поверне символ '4 ', а функція SUCC (с) - символ '6'.
Якщо уявити собі будь-який порядковий тип як впорядкована множина значень, зростаючих зліва направо і займають на числовій осі деякий відрізок, то функція pred (x) не визначена для лівого, a succ (х) - для правого кінця цього відрізка.
Цілі типи . Діапазон можливих значень цілих типів залежить від їх внутрішнього уявлення, яке може займати один, два, чотири або вісім байтів. У табл. 1.1 наводяться назви цілих типів, довжина їх внутрішнього подання в байтах і діапазон можливих значень.
Таблиця 1.1 - Цілі типи
Назва
Довжина, байт
Діапазон значень
Cardinal
4
0. .. 2147 483 647
Byte
1
0 ... 255
Shortint
1
-128 ... +127
Smallint
2
-32 768 ... +32 +767
Word
2
0 ... 65535
Integer
4
-2147483 648 ... +2 147 483 647
Longint
4
-2147483 648 ... +2 147 483 647
Int64
8
-9 * 1018 ... +9 * 1018
LongWord
4
0. . .4 294 967 295
Типи LongWord і Int64 вперше введені у версії 4, а типи Smallint і Cardinal відсутні в Delphi 1. Тип integer для цієї версії займає 2 байти і має діапазон значень від -32768 до 32767, тобто збігається з Smallint .
При використанні процедур і функцій з цілочисельними параметрами слід керуватися "вкладеністю" типів, тобто скрізь, де може використовуватися word , допускається використання Byte (але не навпаки), в Longint "Входить" Smallint , який, у свою чергу, включає в себе Shortint .
Перелік процедур і функцій, застосовних до цілочисловим типам, наведено в табл. 1.2. Літерами b, s, w, i, l позначені вирази відповідно типу Byte , Shortint, Word, Integer і Longint ,
х - вираз будь-якого з цих типів; літери vb, vs, vw, vi, vl, vx позначають змінні відповідних типів. У квадратних дужках вказується необов'язковий параметр.
Таблиця 1.2 - Стандартні процедури і функції, застосовні до цілих типів
Звернення
Тип результату
Дія
abs (x)
x
Повертає модуль x
chr (b)
Char
Повертає символ за його кодом
dec (vx [, i])
-
Зменшує значення vx на i, а при відсутності i - на 1
inc (vx [, i])
-
Збільшує значення vx на i, а при відсутності i-на 1
Hi (w)
Byte
<...