69747

Перелічуваний тип

Домашняя работа

Информатика, кибернетика и программирование

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

Украинкский

2014-10-09

30.5 KB

0 чел.

Самостійне вивчення

Тема 2: Перелічуваний тип

Стандартні типи змінних, як відомо, мають значення, що є елементами з підмножини цілих, дійсних чисел, логічних значень (true або false) або множини символів обчислювальної системи (наприклад ASCII). Проте часто доводиться стикатися з поняттями, які можуть набувати специфічних значень, що не є елементами названих підмножин. Наприклад, поняття місяць (року) об'єднує часткові випадки з іменами "січень", "лютий", "березень",..., "грудень"; день тижня - це Пн, Вт, Ср,...,Сб, Нд. Для кожного з цих понять часткові випадки можна закодувати, наприклад, дні тижня - від 1 до 7, місяці року - від 1 до 12 тощо. Однак працювати з такими кодами незручно, оскільки треба постійно пам'ятати їхню відповідність конкретному поняттю. Наприклад, вираз b=9 не дає змоги зрозуміти, що порівнюється: ціле число, чи код місяця в році. Якщо це код місяця, то значно зручніше було б записати умову

b=september

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

type <ім'я типу>=(<перелік можливих значень>) Наприклад, задано тип:

type

odynycia=(dujm, fut, metr, myla);

var

masstab:odynycia.

Таким чином змінній masstab приписують тип odynycia, тобто ця змінна може мати одне із значень dujm, fut, metr, mylia. Обидва описи можна об'єднати в один, описавши тип під час опису змінних:

var

masstab: (metr, fut, dujm, mylia).

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

Імена, перелічені в дужках, називають сталими іменами. Ще один приклад описання типів такий:

type

color=(black, white, red, orange, green, blue);

var x, y, z: color.

Значення змінної не може належати більш ніж до одного типу. Наприклад, запис

type

robden=(pn, vt, sr, ct, pt, sb);

vychden=(sb, nd);

є неправильним.

Категорично заборонено різним іменам типів надавати однакові описи.

Зазначимо, що булів тип є фактично стандартним перелічуваним типом, його можна описати так:

type

boolean=(false, true);

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

type

T=(W1,W2.....,Wn);

тоді Wi<>Wj, якщо i<>j - ознака відмінності, Wi<Wj, якщо i<j, -ознака впорядкованості.

Для визначених типів вираз white<black буде false; true>false - true;

Упорядкованість змінних перелічуваного типу дає змогу виконувати з ними функції pred і succ:

succ(blue)=white.

Перший елемент списку не має попереднього, а останній

- наступного значення, тобто pred(red) і succ(green) є невизначені.

Функція ord теж має аргументом змінну перелічуваного типу і видає ціле число, що є порядковим номером значення змінної у списку визначення. Причому перше значення у цьому списку має порядковий номер нуль, друге - 1 і т.д. Тобто

ord(pn)=0; ord(sr)=2; ord(black)=1.

Щодо процедур уведення і виведення, то, на жаль, вводити і виводити на зовнішні пристрої значення перелічуваних типів не дозволено.


 

А также другие работы, которые могут Вас заинтересовать

51684. Урок биологии 66 KB
  Основой для планирования учебно-воспитательного процесса по биологии является анализ существующих нормативных требований, программ, учебных и дидактических пособий, опыта работы учителя.
51685. Сонячна система. Рух планет навколо Сонця 66 KB
  Рух планет навколо Сонця. Що таке Всесвіт З чого складається Всесвіт Що більше за розмірами Всесвіт чи Галактика Чому До якої системи належить планета Земля Чому систему називають Сонячною Які небесні тіла утворюють Сонячну систему До яких небесних тіл належить Сонце Чому Чи може людина потрапити на поверхню Сонця Чому Які небесні тіла називають астероїдами Чим особливі комети Яку комету ви знаєте Чому вона так називається Чим відрізняються між собою небесні тіла метеори та метеорити Що таке кратери...
51686. Дії з натуральними числами 102.5 KB
  Учитель: «Дітки, Ви любите гратися? А математику? Тоді давайте займатися математикою, граючись. Сьогодні ми з Вами вирушаємо у незвичайну подорож. А оскільки наше місто розміщене на перехресті залізничних шляхів мало не з усієї
51687. Прислів’я і приказки як різновид фразеологізмів. Антонімічні та синонімічні пари фразеологізмів. Встановлення відповідностей між українськими та російськими формами фразеологізмів 231 KB
  Антонімічні та синонімічні пари фразеологізмів. Встановлення відповідностей між українськими та російськими формами фразеологізмів. Завдання: навчити учнів добирати антонімічні та синонімічні пари фразеологізмів встановлювати відповідність між українськими та російськими формами фразеологізмів; розвивати вміння розкривати значення фразеологізмів творчо підходити до виконання завдань;...
51689. Техника торможения плугом и полуплугом 54.5 KB
  Выполняется одной лыжей для небольшого снижения скорости. Вначале переносится масса тела на идущую по направлению движения лыжу. Пятка второй лыжи отводится в сторону, ставит лыжу под углом и закантовывает её на внутреннее ребро, что тормозит продвижение.
51690. Редактор материалов в 3D Studio Max 1010.5 KB
  Создание материалов тема необъятная поскольку слишком велик список свойств и зависимостей всех параметров влияющих на внешний вид получаемого материала и рассмотреть все нюансы в рамках одной статьи просто невозможно. Поэтому мы ограничимся лишь основными приемами и правилами работы с материалами; эти способы позволят получить общее представление о применении материалов и начать собственные эксперименты. Все эти операции проводятся в редакторе материалов Mteril Editor который можно вызвать при помощи команды Rendering= Mteril Editor...
51692. Моделирование проблемных, развивающих личностно ориентированных образовательных ситуаций 131.5 KB
  Ситуации творчества: сущность виды формы: ситуации соревнования заботы игры исследования. Ситуации выбора: выбора деятельности общения позиции социальной роли. Ситуации успеха: сущность алгоритм создания позиция педагога. Соотношение проблемной ситуации задачи вопроса.