Концепція типів даних в Паскалі

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

Тип даних називається порядковим, якщо він складається з рахункового кількості значень, які можна пронумерувати. Звідси випливає, що на цій множині значень існують поняття «наступний» і «попередній».

У стандартному Паскалі Вірта відсутній строковий тип. Він був внесений до Турбо Паскаль. Крім того, в Турбо Паскалі цілі і речові – це групи типів. У старших версіях Турбо Паскаля з’явився процедурний тип і тип «об’єкт».

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

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

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

Туре <ім’я типу> = (<список значень>)

Певне таким чином ім’я типу потім використовується для опису змінних. Наприклад:

Type Gaz = (С, о, N, F);

Metal = (Fe, З, Na, Сі, Zn); Var Gl, G2, G3: Gaz;

Metl, Met2: Metall;

Day: (Sun, Mon, Tue, Wed, Thu, Fri, Sat);

Тут Gaz і Metal – імена перелічуваних типів, які ставляться у відповідність змінним Gl, G2, GS і Metl, Met2. Змінної Day призначається перелічувальний тип, якому не присвоєно імені.

Значення, що входять до перелічувальний тип, є константами. Дії над ними підкоряються правилам, застосовним до констант. Кожне значення в перелічуваних типі займає в пам’яті 2 байта, тому число значень цього типу не повинна перевищувати 65 535.

Перечіслімий тип – впорядкована множина. Його елементи пронумеровані, починаючи з 0 в порядку проходження в описі.

У програмі, в якій присутній дане вище опис змінної Day, можливий такий фрагмент: if Day = Sun then Write (‘Ура! Сьогодні вихідний!’);

Обмежений тип задається як упорядковане обмежена підмножина деякого порядкового типу: Сконстанта 1> .. <константа 2>

Порядковий номер першої константи не повинен перевищувати номера друга константи у відповідному базовому типі.

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

Структурні типи. Особливістю Паскаля є те, що в ньому структури даних розглядаються як типи – структурні типи даних. Одна величина простого типу має одне значення: ціле число, дійсне число, символ та ін. Одна величина структурного типу – це сукупність безлічі значень елементів структури даного типу. Приклади: числовий масив, символьний рядок і ін.

Посилання на основну публікацію