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.

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


 

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

37862. ИЗУЧЕНИЕ ТЕПЛОЕМКОСТЕЙ ГАЗОВ 223.5 KB
  Внутренняя энергия системы состоит из кинетической энергии молекул составляющих систему потенциальной энергии их взаимодействия друг с другом внутримолекулярной энергии т. энергии взаимодействия атомов или ионов в молекулах энергии электронных оболочек атомов и ионов внутриядерной энергии и энергии электромагнитного излучения в системе. Система может обладать также и внешней энергией которая представляет собой сумму кинетической энергия движения системы как целого кинетической энергии центра масс системы и потенциальной энергии...
37863. Визначення оптимального асортименту продукції 310.5 KB
  Визначення оптимального асортименту продукції. Підприємство виготовляє два види продукції П1 і П2 яка надходить в оптовий продаж. Витрата сировини на одиницю продукції наведена у таблиці.1 Сировина Витрата сировини на одиницю продукції Запас сировини од.
37864. Основы статистической обработки информации с использованием EXCEL. Определение некоторых числовых характеристик экспериментальных статистических данных 618.5 KB
  Создать массив признаков интервалов и посчитать для них частоту. Для создания массива признаков сначала рассчитывают цену деления c= Rx k. откл 6765655 6821 6162 6168 6819 7062 эксцесс 0057761 ассиметрия 0385736 Для построения гистограммы и полигона частот используется функция Excel ЧАСТОТА массив_данных; массив_интервалов. Эта функция относится к классу статистических и производит операции над массивами.
37865. Распределения непрерывных случайных величин 97 KB
  Цель: познакомиться с распределениями непрерывных случайных величин. Сформировать представления о виде функции и плотности непрерывных распределений.
37866. ДОСЛІДЖЕННЯ ТИПІВ, ЩО ВИЗНАЧАЮТЬСЯ (ПЕРЕЛІЧУВАЛЬНІ, ІНТЕРВАЛЬНІ, МНОЖИННІ ТИПИ) 84 KB
  Теоретичні відомості Визначення типу У мові Pscl користувач може визначити його власні типи використовуючи наперед визначені типи та спеціальні операції визначення. тип що визначається :: =type позначка типу = опис типу позначка типу :: = ідентифікатор опис типу :: = позначка типу опис типу Перелічувальний тип Перечислювальні типи створюються шляхом перелічення ряду значень. Перечислювальні типи є дискретними типами тому їм властива певна кінцева упорядкована множина значень в якій кожне наступне значення типу є більшим за попереднє....
37869. Простейшие средства отладки в среде DELPHI. Программирование циклических алгоритмов 124.5 KB
  Вывод: изучил простейшие средства отладки в среде DELPHI. Научился программировать циклические алгоритмы.
37870. Сравнение репрезентативности случайной, механической и серийной выборок из генеральной совокупности 91.5 KB
  Обычно считается что чтобы иметь право судить о генеральной совокупности по выборке выборка должна быть образована случайно. Это можно достичь различными способами наиболее распространенными: собственнослучайная выборка; механическая; типическая; серийная. Собственнослучайная выборка Существует два подхода к решению данной задачи: Простая случайная выборка с возвращением объект извлекается из генеральной совокупности случайным образом и перед извлечением следующего возвращается обратно Например после отбора деталей на...