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.

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


 

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

32765. Работа, совершаемая идеальным газом в различных процессах 32 KB
  Работа совершенная идеальным газом в изотермическом процессе равна где число частиц газа температура и объём газа в начале и конце процесса постоянная Больцмана. Работа совершаемая газом при адиабатическом расширении численно равная площади под кривой меньше чем при изотермическом процессе. Работа совершаемая газом при изобарном процессе при расширении или сжатии газа равна = PΔV. Работа совершаемая при изохорном процессе равна нулю т.
32766. Адиабатный процесс. Уравнение Пуассона для адиабатного процесса 28 KB
  Уравнение Пуассона для адиабатного процесса. Уравнение адиабаты уравнение Пуассона.18 после соответствующих преобразований получим уравнение адиабаты: TVg1 = const или pVg = const.20 Уравнение 13.
32767. Политропический процесс. Теплоёмкость газа в политропическом процессе 28.5 KB
  Политропический процесс. Теплоёмкость газа в политропическом процессе. Рассмотренные выше изохорический изобарический изотермический и адиабатический процессы обладают одним общим свойством имеют постоянную теплоемкость. Термодинамические процессы при которых теплоемкость остается постоянной называются политропными.
32768. Закон Максвелла для распределения молекул идеального газа по скоростям и энергиям 26.5 KB
  Закон Максвелла для распределения молекул идеального газа по скоростям и энергиям. Закон распределения молекул идеального газа по скоростям закон Максвелла определяет вероятное количество dN молекул из полного их числа N число Авогадро в данной массе газа которые имеют при данной температуре Т скорости заключенные в интервале от V до V dV: dN N=FVdV FV функция распределения вероятности молекул газа по скоростям определяется по формуле; FV=4πM 2πRT3 2 V2 expMV2 2RT где V модуль скорости молекул м с; абсолютная...
32769. Барометрическая формула. Закон Больцмана для распределения частиц во внешнем потенциальном поле 56.5 KB
  Барометрическая формула зависимость давления или плотности газа от высоты в поле тяжести. Для идеального газа имеющего постоянную температуру T и находящегося в однородном поле тяжести во всех точках его объёма ускорение свободного падения g одинаково барометрическая формула имеет следующий вид: где p давление газа в слое расположенном на высоте h p0 давление на нулевом уровне h = h0 M молярная масса газа R газовая постоянная T абсолютная температура. Из барометрической формулы следует что концентрация молекул n или...
32770. Среднее число столкновений и средняя длина свободного пробега молекул. Их связь с концентрацией и размером молекул 56.5 KB
  Среднее число столкновений и средняя длина свободного пробега молекул. Их связь с концентрацией и размером молекул. Средние скорости молекул газа очень велики порядка сотен метров в секунду при обычных условиях. Однако процесс выравнивая неоднородности в газе вследствие молекулярного движения протекает весьма медленно.
32771. Понятие о разрежённых газах. Вакуум и методы его получения 41 KB
  Вакуум и методы его получения. Такое состояние газа называется вакуумом. Разреженный газ Вакуум среда содержащая газ при давлениях значительно ниже атмосферного. Вакуум характеризуется соотношением между длиной свободного пробега молекул газа λ и характерным размером процесса d.
32772. Обратимые и необратимые процессы. Круговой процесс (цикл). Тепловые двигатели и холодильные машины. Термический КПД 52.5 KB
  производит положительную работу за счёт своей внутренней энергии и количеств теплоты Qn полученных от внешних источников а на др. системой или над системой работа А равна алгебраической сумме количеств теплоты Q полученных или отданных на каждом участке К. Отношение А Qn совершённой системой работы к количеству полученной ею теплоты называется коэффициентом полезного действия кпд К. называется прямым если его результатом является совершение работы над внешними телами и переход определённого количества теплоты от более нагретого...
32773. Цикл Карно и его КПД для идеального газа. Второе начало термодинамики. Независимость КПД цикла Карно от рабочего вещества. Лемма Карно 47 KB
  Второе начало термодинамики. Следовательно согласно I началу термодинамики работа совершаемая двигателем равна =Q1Q2 Коэффициентом полезного действия КПД теплового двигателя называется отношение работы совершаемой двигателем к количеству теплоты полученному от нагревателя η=Q1Q2 Q1 КПД тепловой машины всегда меньше единицы η=1Q2 Q1 Следовательно невозможно всю теплоту превратить в работу. Отсюда Q2 T2≥Q1 T1 На основании этого неравенства можно прийти к понятию энтропия и второму началу термодинамики. Второе начало термодинамики ...