Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prosti_tipi_danikh_KURSOVA.docx
Скачиваний:
2
Добавлен:
08.05.2019
Размер:
80.03 Кб
Скачать

2. Булевський (логічний) тип

До логічним відносяться типи Boolean, ByteBool, Bool, wordBool і LongBool. У стандартному Паскалі визначений тільки тип Boolean, інші логічні типи введені в Object Pascal для сумісності з Windows: типи Boolean та ByteBool займають по одному байту кожен, Bool і WordBool - по 2 байти, LongBool - 4 байти.

Є два значення булевского типу, що представляють логічні істінностние значення (істина / неправда). Ці значення позначаються за допомогою стандартних ідентифікаторів:

true (істина)

false (брехня).

3. Символьний тип

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

Фізичні типи - AnsiChar - однобайтові символи, WideChar - символи об'ємом в слово (2 байти). Символи, об'ємом в подвійне слово, відсутні.

Логічні символьні типи називаються Char. В класичній мові Pascal Char - єдиний символьний тип. В Delphi Char зазвичай відповідає фізичному символьному типу AnsiChar.

Значеннями символьного типу є символи з безлічі ASCII (AmericanStandardCodeforInformationInterchange - американськийстандартний код для обміну інформацією). Це безліч складається з 256 різних символів, впорядкованих певним чином, і містить символи великих і малих літер, цифр і різних інших символів, включаючи спеціальні керуючі символи. Допускаються деякі відхилення від стандарту ASCII, зокрема, за наявності відповідної системної підтримки це множина може містити літери російського алфавіту.

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

'*' 'A' 'X' ':'''''

Для представлення самого апострофа його зображення подвоюється.

Якщо символ, який потрібно зобразити, не має графічного представлення, то можна скористатися наступною еквівалентною формою запису, що складається з символу '#' (грати, дієз) і цілочисельного коду символу (від 0 до 255):

# 10 # $ A

4. Перелічувані

Скалярні типи, введені раніше, в цілому не виходять за рамки інтуїтивно зрозумілою трактування типу як безлічі традиційних (цілих, дійсних або символьних) значень з певного діапазону. Перелічувані вводять певна просте узагальнення такого трактування вигляді абстрагування від "фізичної" природи значень.

Іншими словами, можна визначити новий тип шляхом явного перерахування всіх можливих його значень, причому кожне таке значення буде визначатися тільки ім'ям.

Наприклад: Нехай необхідно розробити програму управління вуличним світлофором. Ясно, що програма буде моделювати світлофор за допомогою зазначення його поточного стану, тобто включеного в даний момент світла. Таким чином, змінна програми, що представляє світлофор, може приймати одне з трьох значень, що відповідають червоному, жовтому і зеленому кольорам. Можна було б запровадити для цього змінну цілого типу та встановити, що, наприклад, значення 1, 2, 3 відповідають зазначеним квітам. Однак очевидно, що числа, які кодують кольору, не мають прямого відношення до розв'язуваної задачі і, отже, ускладнюють програму і затемнюють її сенс. Тому найбільш природним рішенням у даному випадку буде введення перечислимого типу з трьох значень, що позначаються іменами Red, Yellow, Green, і змінної цього типу.

Синтаксис визначення перечислимого типу:

(Ідентифікатор 1, ідентифікатор 2 ,..., ідентифікатор N)

Приклади перелічуваних типів:

(Red, Yellow, Green)

(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)

(On, Off)

(Left, Up, Right, Down)

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

Monday .. Friday

Left .. Up

Імена зі списку перечислимого типу вважаються константами відповідного перечислимого типу. Ці ідентифікатори повинні бути унікальні в межах блоку; неприпустимі описи двох і більше перелічуваних типів з збігаються константами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]