Главная
страница 1
Тема: «Перечисляемый тип данных»
Этот тип данных получил название перечисляемого, потому что он задается в виде перечисления некоторых значений. Эти значения образуют упорядоченное мно­жество и являются константами. Для объявления пере­менной список возможных значений, разделенных за­пятой, указывается в круглых скобках. Например,
Var month: (January, February, March, April, May, June, July, August, September, October, November, December);
Порядок элементов перечисляемого типа определяет­ся порядком их следования в описании. Левый имеет минимальное значение (значение функции Ord для него равно 0), а правый — максимальное.
Задание
Вычислить значения:

a) Ord(august);

b) Ord(succ(September));

c) Pred(Pred(december)).


К переменным перечисляемого типа можно приме­нять операции сравнения. Так, например, february < november.

. Использование перечисляемого типа данных повы­шает читабельность программы. Однако в языке Пас­каль нельзя вводить и выводить элементы перечисляе­мого типа. Этот недостаток легко преодолевается, так как всегда можно ввести число, являющееся порядко­вым номером элемента перечисляемого типа, и вывести на экран значение переменной перечисляемого типа, используя, например, оператор выбора Case.


Задание
Написать фрагмент программы, формирующий зна­чения переменной month, используя перечисляемый тип данных, внести соответствующие изменения в решение

примера 1.


Решение задач

1. Имеются описания:

Var x, y:(winter, spring, summer, autumn);

t:(cold, warm) ;

a) Допустимы ли присваивания:

x: = spring; t:=warm; t:=hot; у:=х; у:=t;

b) Вычислить, значения выражений:
spring < summer;

autumn < winter ;

Succ(spring);

Pred(autumn);

Ord(spring);

Winter <= summer ;

Spring <> warm;

Pred(spring);

Pred(cold);

Pred(autumn) + Ord(cold) ;

c) Допустим ли оператор цикла с заголовком
For х: = spring To autumn Do ?

2. Напишите программу, которая по заданной дате определяет время года. Программа должна проверять корректность введенной даты.

3. Даны описания следующих переменных:
Var m, ml: (January, February, march, April, may, June, July, august, September, October, November, December);

k: 1..maxint; n: 1..12;

Присвоить переменной ml:


  1. название месяца, следующего за месяцем m;

  2. название к-го месяца после месяца n.




  1. В старояпонском календаре был принят 60-летний цикл, состоящий из пяти 12-летних подциклов. Подциклы обозначались названием цвета: зеленый, красный, желтый, белый и черный. Внутри каждого подцикла годы носили названия животных: крысы, коровы, титра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Напишите программу, которая по номеру года определяет его название по старояпонскому календарю (1984-й — год Зеленой Крысы).

  2. Дано неотрицательное число k, не превышающее десяти тысяч. Напечатать фразу "k ворон", подставив вместо k соответствующее числительное. (Пример: при k=23 должно быть напечатано "двадцать три вороны"; при k=3651 — "три тысячи шестьсот пятьдесят одна ворона".)

  3. Имеются описания:

Var d:'0'..'9'; k:0..9; n: Integer;

a) Какие значения может принимать переменная d? Каков ее базовый тип? Допустимы ли присваивания: d: = 7; d: = 'a'; d:= 7?

b) Какие значения может принимать переменная k? Каков ее базовый тип? Допустимы ли присваивания: k:=5; k:=10; k:=-0; k:='5'?

c) Есть ли ошибки в операторе:

If k+n>7*k Then k:=abs(n) mod 10

Else d:=chr(k+Ord('0')?

7. Имеются описания переменных:
Var kl, k2; (north, east, south, west);

pr: (forward, right, back, left) ;



Корабль сначала шел по курсу kl, а затем его курс был изменен согласно приказу pr. Определить k2 — новый курс корабля.


Смотрите также:
«Перечисляемый тип данных»
30.03kb.
1 стр.
Правила чтения гласных букв в разных типах слогов буквы I тип II тип III тип IV тип a [ei] n a me
310.33kb.
2 стр.
Тип множества Кроме типов array и record в средствах структурирования данных Стандарта языка предусмотрена еще одна структура – множество или тип set который иногда называют множественным типом. Конструкция, определяющая тип set, имеет вид: < тип set
730.11kb.
5 стр.
Intermec Терминал сбора данных Intermec cn30 Тип: Терминалы сбора данных Производитель
52.07kb.
1 стр.
Занятие 1 Основные типы данных Операции с переменными Цикл for Условный оператор if
41.86kb.
1 стр.
Тесты для самопроверки по теме "access"
35.37kb.
1 стр.
1. Тип данных real
94.11kb.
1 стр.
Б. Нойес Привязка данных в Windows Forms Книга охватывает все аспекты привязки данных в Windows Forms. Описываются средства, обеспечивающие связь с базой данных, такие, как типизированные наборы данных и адапт
69.76kb.
1 стр.
3. Документальные бд
71.77kb.
1 стр.
Тест по дисциплине «Базы данных». Вариант База данных – это
65.02kb.
1 стр.
Лабораторная работа Разработка под Windows Phone 8: новые возможности
343.62kb.
1 стр.
Поиск информации в базе данных
62.37kb.
1 стр.