Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бичков - Основи сучасного програмування.doc
Скачиваний:
69
Добавлен:
07.03.2016
Размер:
2.67 Mб
Скачать

4.6. Логічні типи

Логічний тип позначає логічні значення true чи false, необхідні у програмуванні. Його конкретна реалізація здійснюється у різних мовах по-різному. Наприклад, у Pascal він описується за допомогою ключового слова boolean. У деяких С-подібних мовах істинним вважається будь-яке значення, відмінне від нульового, а хибним – нульове (що належить до цілого типу). У новому стандарті С++ є тип bool.

Перелічимо стандартні логічні операції, що зазвичай застосовуються до операндів логічного типу, даючи в результаті логічне значення:

 логічне доповнення;

 логічне "і";

 логічне "або";

 логічне виключне "або".

Операції порівняння <, >, <>, <=, >=, == завжди повертають логічні значення, наприклад, 3  5 повертає значення істина. Операції відношення перевантажені в тому розумінні, що вони можуть застосовуватися до даних різних типів, зокрема до цілих чи дійсних операндів. Операція порівняння ==, застосована до даних логічного типу, реалізує функцію логічної еквівалентності, а операція <> відіграє роль операції виключного "або".

Основне призначення логічного типу полягає в реалізації умов для умовного оператора та операторів циклу. Однак про це далі.

4.7. Символьні типи

Більшість мов програмування містять визначений символьний тип char. Об'єкти типу char можуть містити одне символьне значення, що зображується на машинному рівні цілим в області від 0 до 255 ([–128, 127]). Фактичне зображення кожного символу залежить від набору символів (напр., ASCIІ), що використовується.

У таблиці ASCII-кодів порядковий номер кожного символу відповідає коду ASCII для цього символу.

4.8. Числові типи

Математики виділяють два різних типи чисел: цілі, що зображують нескінченну множину дискретних значень; дійсні, що зображують континуум значень.

Зображення цих двох різних типів чисел на обчислювальній машині породжує деякі проблеми, більшість з яких пов'язані з вимогою машинної незалежності й мобільності. Цілі числа можуть бути точно зображеними на обчислювальній машині, але тільки в скінченній області; дійсні ж числа не завжди допускають точне зображення.

4.9. Структурні типи даних

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

Розгляд способів, якими нам би хотілося структурувати дані, вимагає двох різних механізмів. По-перше, механізм масивів, що дозволяє групувати набір об'єктів ідентичного типу таким чином, що кожен об'єкт вибирається за допомогою індексу чи номера. По-друге, механізм записів (структур), що дозволяє групувати набір об'єктів різних типів таким чином, що вибір кожного окремого об'єкта здійснюється за допомогою імені компоненти. Саме на другому механізмі ґрунтується об'єктно-орієнтоване програмування. Ці два механізми можна комбінувати при побудові структур даних довільної складності.

Крім механізмів масивів і записів, існує механізм множин, що забезпечує специфічні можливості.

Поки ми розглянемо механізми масивів і записів для структурування даних.