Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Paskal-II_laboratornye_raboty.doc
Скачиваний:
28
Добавлен:
17.04.2015
Размер:
907.78 Кб
Скачать

6. Перечисляемые и ограниченные типы

6.1 type месяц=(янв,фев,мар,апр,май, июн,июл,авг,сен, окт,ноя,дек); день=1..31;

var dl,d2:день; ml, m2:месяц; t:boolean;

Переменой t присвоить значение true, если дата d1, m1 предшествует (в рамках года) дате d2, m2, и значение false – иначе.

6.2. type месяц=(янв,фэв,мар,апр,май,июн,июл,авг,сен, окт,ноя,дек);

var m, m1:месяц; k..maxint; n:1..12;

Присвоить переменной m1 название месяца, следующего за месяцем m.

6.3. type страна=(Австралия, Болгария, Греция, Италия, Норвегия, Франция, ФРГ);

столица=(Вена, София, Афины, Рим, Осло, Париж, Бонн);

var st:страна; cap:столица;

По значению переменной st (названию страны) присвоить переменной cap название столицы этой страны.

6.4. var Р:(ада, бейсик, модула2, лисп, паскаль, пл1, фортран);

A:(ada, basic, modula2, lisp,pascal, pl1, fortran);

По русскому названию языка программирования присвоить переменной А английское название этого языка.

6.5. type название=(ноль, один, два, три, четыре, пять);

var: d: '0'..'5'; n:название;

По литере – цифре d присвоить переменной n название этой цифры.

6.6. type сезон=(зима, весна, лето, осень);

месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек);

var m:месяц; s:сезон;

Определить s - сезон, на который приходится месяц m.

6.7. type страна=(ФРГ, Куба, Лаос, Монако, Непал, Польша);

континент=(Азия,Америка,Европа);

var s:страна; с:континент;

По s - названию страны определить с - название континента.

6.8. type единица=(километр, метр, дециметр, миллиметр, сантиметр); длина=real; var x:длина; р:единица;

Значение переменой х, означающее некоторую длину в единицах р, заменить на величину этой же длины в метрах.

6.9. Для целого числа k от 1 до 99 напечатать фразу "мне k лет", учитывая при этом, что при некоторых значениях k слово "лет" надо заменить на слово "год" или "года".

6.10. type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек); var k:1..366; d:1..31; m:месяц;

Определить d, m – дату k-ro по счету дня високосного года.

6.11. type число=1..31; type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек);

день_недели=(вс, пн, вт, ср, чт, пт, сб);

var d:число; m:месяц; wd1, wd:день_недели; k:0..12;

Считая, что год не високосный, и его 1 января приходится на день недели wd1, определить wd – день недели, на который приходится день с датой d,m.

6.12. Для натурального числа k напечатать фразу "мы нашли k грибов в лесу", согласовав окончание слова "гриб" с числом k.

6.13. type падеж=(им, род, дат, вин, твор, предл);

слово=(степь,боль,тетрадь,дверь);

var w:слово; р:падеж;

Напечатать слово w в падеже р и единственном числе.

6.14. type имя=(Валя, Гена, Женя, Коля, Маша, Нина);

var Пол=array [имя] of (муж, жен);

Рост:array[имя] of 140..200

J:имя; Cp:real;

По массивам Пол и рост определить Ср – средний рост женщин.

6.15. type курс=(С,В,Ю,3);

приказ=(вперед, вправо, назад, влево);

var К1,К2:курс; Рr:приказ;

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

6.16. type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек); var d:28..31; m:месяц;

Переменной d присвоить количество дней в месяце m (год считать невисокосным).

6.17. type государство=(Грузия, Россия, Украина);

город=(Киев, Москва, Одесса, Сочи, Тбилиси, Томск);

var х:array [1..20] of город;

Напечатать названия государства, города которого меньше всего встречаются в массиве х.

6.18. type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек); var у:1901..2000; m:месяц

Переменной t присвоить значение true, если тройка у, m, d образует правильную дату, и значение false иначе.

6.19. type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек); var d, d1:1..31; m, m1:месяц; у, yl:1901..2000;

По дате d, m, y определить d1, ml, yl – дату следующего дня.

6.20. type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек); var k:1..366; d:1..31; m: месяц;

Определить k – порядковый номер того дня високосного года, который имеет дату d, m.

6.21. type число=1..31; type месяц=(янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек);

деньнедели=(вс, пн, вт, ср, чт, пт, сб); var d:число; m:месяц;

wd1, wd:деньнедели; k:0..12;

Считая, что год не високосный, и его 1 января приходится на день недели wd1, определить k – количество понедельников в году, приходящихся на 13-е число.

6.22. type имя=(Валя, Гена, Женя, Коля, Маша, Нина);

var Пол: array [имя] of (муж, жен);

Рост: array [имя] of 140..200;

J:имя; Cp:real;

По массивам Пол и рост определить J - имя самого рослого мужчины.

6.23. type государство=(Грузия,Россия,Украина);

город=(Киев, Москва, Одесса, Сочи, Тбилиси, Томск);

var x: array [1..20] of город;

Напечатать название государства, города которого наиболее часто встречаются в массиве х (считать, что такая страна одна).

6.24. type остров=(Барбадос, Гаити, Гренада, Куба, Мартиника, Ямайка);

месяц=(янв, фев, март, апр, май, июн, июл, авг, сен, окт, ноя, дек);

var t:array [остров, месяц] of real; i;остров; m:месяц;

Элемент t[x,y] означает среднемесячную температуру на острове х в месяце у. Определить, какой месяц (m) и на каком острове (i) самый жаркий.

6.25. type нота=(до, ре, ми, фа, соль, ля, си);

интервал=(секунда, терция, кварта, квинта, секста, септима);

var nl,n2: нота; i:интервал;

Определить i – интервал, образованный нотами nl и n2: секунда - это интервал из двух соседних (по кругу) нот (например ре и ми, си и до), терция – интервал через ноту (например фа и ля, си и ре) и т.д.

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

type сезон=(зима, весна, лето, осень);

var x, y: сезон;

t:(тепло, холодно);

Вычислить значения выражений: весна<лето; зима<= лето; осень< зима; весна <> тепло; succ(весна); pred(весна).

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

type сезон=(зима, весна, лето, осень);

var x, y: сезон;

t:(тепло, холодно);

Вычислить значения выражений: ord(весна); ord(осень) +ord(холодно).

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

6.29. Программа. Пусть значения некоторой функции равно количеству букв в записи числа n русскими словами: f(1)=4 (один), f(3)=3 (три), f(42)=8 (сорок два) и т. д. Напечатать все натуральные числа n, меньше 100, для которых f(n)=n.

6.30. type цвет=(черный, серый, белый);

var с: цвет;

Напечатать значение переменной с.

6.31. var k: 1..9;

Напечатать значения переменной k римскими цифрами.

6.32. type letter=(a, b, c, d);

var x: letter;

Ввести заданное во входном файле значение типа letter (т. е. a, b. c, или d) и присвоить его переменной x.

6.33. type падеж=(им, род, дат, вин, твор, предл);

слово=(пламя, знамя, темя, семя, время);

var w:слово; р:падеж;

Напечатать слово w в падеже р и единственном числе.

6.34. type падеж=(им, род, дат, вин, твор, предл);

слово=(кот, рот, пот, мот, оборот);

var w:слово; р:падеж;

Напечатать слово w в падеже р и единственном числе.

6.35. type падеж=(им, род, дат, вин, твор, предл);

слово=(зверь, сирень, время);

var w:слово; р:падеж;

Напечатать слово w в падеже р и единственном числе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]