Оператор варианта (выбора) CASE

advertisement
ДОМАШНЕЕ ЗАДАНИЕ
Оператор варианта (выбора) CASE
Оператор варианта необходим в тех случаях, когда в зависимости от значения какой-либо
переменной нужно выполнить те или иные операторы (простые или составные). Если
вариантов всего два, то можно обойтись и оператором IF. Но если их, например, десять? В
этом случае оптимален оператор варианта CASE.
Синтаксис оператора CASE:
CASE СЕЛЕКТОР ВЫБОРА OF
НаборЗначений1 : Оператор1;
НаборЗначений2 : Оператор2;
НаборЗначений3 : Оператор3;
...
НаборЗначенийN : ОператорN
ELSE ОператорN+1
END;
Между служебными словами CASE и OF должна стоять переменная или выражение (оно
вычисляется при исполнении оператора CASE) целочисленного или любого порядкового
типа (целый, символьный, логический, диапазон, перечисление, но не вещественный
Real!).
Набор значений (КОНСТАНТЫ, МЕТКИ) – это конкретные значения управляющей
переменной или выражения, при которых необходимо выполнить соответствующий
оператор, игнорируя остальные варианты. Если в наборе несколько значений, то они
разделяются между собой запятой. Можно указывать диапазоны значений, например,
0..9 – все значения от нуля до девяти. Наборы значений и диапазоны можно
комбинировать.
Между набором значений и соответствующим ему оператором обязательно ставится
символ «:». Значения в каждом наборе должны быть уникальными, т.е. они могут
появиться только в одном варианте. Пересечение наборов значений для разных вариантов
является ошибкой, и она будет замечена компилятором.
Если ни одна из меток (набора значений) не совпала со значениями селектора, то
выполняется оператор после слова ELSE (ПОЛНОЕ ВЕТВЛЕНИЕ). Возможно
использование и НЕПОЛНОГО ветвления (без ELSE). Оператор (Оператор1, Оператор2,
…) в конкретном варианте может быть как простым, так и составным. Составной
оператор состоит из нескольких операторов заключенных в операторные скобки BEGIN и
END.
НАЧАЛО
Пример 1. Дано число от 1 до 5.
Выведите наименование оценки.
PROGRAM Example_CASE_1;
VAR A : integer;
BEGIN
Write(’Введите оценку: ’ ); Read(A);
CASE A OF
2 : Write(’неудовлетворительно’);
3 : Write(’удовлетворительно’);
4 : Write(’хорошо’);
5 : Write(’отлично’)
ELSE Write(’Ошибка!’)
END;
END.
Наличие варианта ELSE
обеспечивает вывод
сообщения об ошибке в случае,
когда введено число вне интервала 2..5.
А
А=2
+
НЕУД
–
А=3
+
УД
–
А=4
+
ХОР
–
А=5
–
ОТЛ
КОНЕЦ
+
ОТЛ
Пример 2. Выведите название времени суток по введенному часу (0..24).
PROGRAM Example_CASE_2;
VAR Hour : integer;
BEGIN
Read( Hour );
CASE Hour OF
0, 24 : Write(’Полночь’);
1..4 : Write(’Ночь’);
5..7 : Write(’Раннее утро’);
8..11 : Write(’ Утро’);
12 : Write(’Полдень’);
13..17 : Write(’День’);
18..23 : Write(’Вечер’)
ELSE Write(’ Введено число вне диапазона 0..24!’)
END;
END.
При использовании оператора CASE должны выполняться следующие правила:
1. Значение выражения селектора должны принадлежать дискретному (простому
порядковому) типу.
2. Все константы выбора должны иметь тип совместимый с типом селектора
3. Все константы выбора должны быть уникальны в пределах оператора CASE (то
есть не должно быть повтора и пересечения диапазонов)
Пример 3 Дана неправильная программа. Найдите ошибки.
VAR A: BYTE; X: REAL;
Begin
readln(A,X);
CASE A/2 OF
1 .. 10: X:= 5;
15, 21: X:=15;
7, 17:
X:=X+1;
98, 105: X:= X/2;
56, 156, 256: X:= X-6;
ELSE X:=0;
WRITELN(X)
END.
Ошибки:
ДОМАШНЕЕ ЗАДАНИЕ
Перепишите лекцию в тетрадь и выучите.
Решите 1-2 задачи своего варианта практической работы.
Практическая работа № 5
Оператор выбора
Вариант 1
1. Дана дата (день месяц год.). Выдать дату предыдущего дня (1 2 2008 — 31 1
2008 , 28 1 3 2008 — 28 2 2008 , 1 1 2009 — 31 12 2008 ).
2. Составить программу, которая запрашивает оценку по информатике и в случае,
если ученик получил соответствующую оценку, выводится следующее:
1,2 – «Кошмар».
3 – «Неважно».
4 – «Неплохо».
5 – «Молодец».
При вводе несуществующей оценки вывести «Таких отметок не бывает».
3. Дано число К. Вывести фразу «Мы собрали К яблок» (1 - «1 яблоко», 12 – «12
яблок», 22- «22 яблока»).
Вариант 2
1. По номеру дня недели и номеру урока вывести предмет (составить на понедельник,
вторник, среду).
2. Составить программу, определяющую животное, соответствующее году по
китайскому гороскопу.
3. Дано число К. Вывести фразу «Мы выучили К стихотворений» (1 - «1
стихотворение», 12 – «12 стихотворений», 22- «22 стихотворения»).
Вариант 3
1. По номеру этажа и кабинета выдать наименование изучаемого предмета в данном
кабинете (1 1 – физика, 2 1- труды).
1 этаж 1 – физика
2 этаж 1 – математика
3 этаж 1 – музыка
2 – медкабинет
2 – завучи
2 – география
3 – директор
3 – информатика
3 – русский язык
4 – башкирский
4 – спортзал
4 – химия
2. Составить программу, которая в зависимости от числа, выводит фразу:
123 рубля, 121 рубль, 125 рублей и т.д. т.е. меняет окончание.
3. По номеру варианта выдать фамилию учащегося вашей группы.
Вариант 4
1. Дано число меньше 1000. Выдать число прописью. (21 - двадцать один, 2 – два, 212
двести двенадцать)
2. Написать программу, выводящую на экран название времени года. Переменная
month содержит номер месяца.
3. Дано число К. Вывести фразу «Мы купили К учебников» (1 - «1 учебник», 12 – «12
учебников», 22- «22 учебника»).
Вариант 5
1. Дано количество тетрадей (меньше 100). Выдать количество тетрадей прописью с
подписью слова «тетрадей» (одна тетрадь, тринадцать тетрадей, двадцать две
тетради).
2. В зависимости от введённого числа k вывести на экран фразу:
«Мне 12 лет», или
«Мне 21 год», или
«Мне 2 года» т.е. менять окончание.
3. По номеру выдать название падежей в русском языке. Например: 1 – именительный,
4 – дательный.
Вариант 6
1. Дана сумма рублей. Выдать правильную запись слова «рублей» (1 рубль, 1211
рублей, 22 рубля).
2. Дано целое число k. Вывести на экран:
«Белый», если в разряде единиц данного числа стоит 1 или 6.
«Жёлтый», если 2 или 7.
«Зелёный», если 3 или 8.
«Синий», если 4 или 9.
«Красный», если 5.
«Чёрный», в остальных случаях.
3. Создать программу, которая по номеру неизвестного элемента для прямоугольного
треугольника, запрашивает необходимые элементы и выдает результат.
На экран «Введите номер неизвестного элемента»
«1- катет а, 2 – Гипотенуза с, 3 – Периметр Р, 4 – Площадь S».
Если 1, то запрашивает длины катета b, гипотенузы с;
если 2, то запрашивает длины катетов а и b;
если 3, то запрашивает длины катетов а и b;
если 4, то запрашивает длины катета b, гипотенузы с.
Вариант 7
1. Пусть элементами равностороннего треугольника являются: 1) сторона а; 2)
площадь S; 3) высота h; 4) радиус описанной окружности R; 5) радиус вписанной
окружности r. Составить программу, которая по заданному номеру и значению
соответствующего элемента вычисляла бы значения всех остальных элементов
треугольника.
2. Составить программу для вычисления числа дней в месяце, если даны: номер
месяца N – целое число от 1 до 12, целое число А, равное 1 для високосного года и
0 в противном случае.
3. Дано число К. Вывести фразу «Мы купили К тетрадей» (1 - «1 тетрадь», 12 – «12
тетрадей», 22- «22 тетради»).
Вариант 8
1. Дана дата (день месяц год.). Выдать дату следующего дня (31 1 2008 – 1 2 2008,
28 2 2008 – 1 3 2008, 31 12 2008 – 1 1 2009).
2. Составить программу, сопоставляющую номеру буквы в слове «компьютер» эту
букву.
Например: Ввод: «4».
Вывод: «п».
3. Дано число К. Вывести фразу «Мы решили К задач» (1 - «1 задачу», 12 – «12 задач»,
22- «22 задачи»).
Вариант 9
1. По номеру дня недели и номеру урока вывести предмет (составить на понедельник,
вторник, среду).
2. Составить программу, которая находит назначение (название) кабинета на II этаже
школы №114, если дан его номер.
3. Дано число К. Вывести фразу «Мы выучили К правил» (1 - «1 правило», 12 – «12
правил», 22- «22 правила»).
Вариант 10
1. По номеру этажа и кабинета выдать наименование изучаемого предмета в данном
кабинете (1 1 – физика, 2 1- труды).
1 этаж 1 – физика
2 этаж 1 – математика
3 этаж 1 – музыка
2 – медкабинет
2 – завучи
2 – география
3 – директор
3 – информатика
3 – русский язык
4 – башкирский
4 – спортзал
4 – химия
2. В зависимости от номера n вывести фамилию ученика, стоящего в журнале под
соответствующим номером, также вывести, в какой подгруппе по информатике он
находится.
3. Дано число К. Вывести фразу «Мы отмыли К тарелок» (1 - «1 тарелку», 12 – «12
тарелок», 22- «22 тарелки»).
Вариант 11
1. Дано число меньше 1000. Выдать число прописью. (21 - двадцать один, 2 – два, 212
двести двенадцать).
2. Составить программу, которая в зависимости от введённого числа n выводит
название многоугольника с n углами. 2<n<7. Например:
Ввод: «3».
Вывод: «Треугольник».
3. Дано число К. Вывести фразу «Мы выучили К правил» (1 - «1 правило», 12 – «12
правил», 22- «22 правила»).
Вариант 12
1. Дана сумма рублей. Выдать правильную запись слова «рублей» (1 рубль, 1211
рублей, 22 рубля).
2. Составить программу, которая запрашивает число n и если
1. n<4 выводит «недолёт».
2. n>4 выводит «перелёт».
3. n=4 выводит «попал».
3. Дано число К < 20. Вывести фразу «У нас К детей» (1 - «У нас один ребенок», 12 –
«У нас 12 детей», 2 - « у нас 2 ребенка»).
Вариант 13
1. Дано количество тетрадей (меньше 100). Выдать количество тетрадей прописью с
подписью слова «тетрадей» (одна тетрадь, тринадцать тетрадей, двадцать две
тетради).
2. Составить программу, которая в зависимости от n изменяет окончание слова
«компьютер» в соответствии с падежами (1 – именительный, 2 – родительный, и
т.д.). Например:
Ввод: «2».
Вывод: «Компьютера».
3. Дано число К. Вывести на каком этаже находится кабинет с этим номером (1 - «1
этаж», 22 – «2 этаж», 33- «3 этаж»). На 1 этаже 1-13, 41, 42; на 2 этаже – 15-29; на 3
этаже: 32 – 40.
Вариант 14
1. Пусть элементами равностороннего треугольника являются: 1) сторона а; 2)
площадь S; 3) высота h; 4) радиус описанной окружности R; 5) радиус вписанной
окружности r. Составить программу, которая по заданному номеру и значению
соответствующего элемента вычисляла бы значения всех остальных элементов
треугольника.
2. В зависимости от числа n – числа ног некоторого животного, вывести его
характеристику. Например, 4 ноги – млекопитающее или ящерица, 2 ноги – птица
или человек, 0 ног – рыба, 6 ног – насекомое и т.д. Если введено 1 или что-нибудь
некорректное, вывести на экран «Неизвестное животное».
3. Дано число К – номер члена вашей семьи. Вывести имена и отчества его
родителей. Например, 1 - семья папа Юрий Иванович, 2 – мама Елена Васильевна,
3 – сын Вася, 4 – дочь Катя.
На экране 1 – папа, 2 – мама, 3 – сын Вася, 4 – дочь Катя.
Вывести: 1 – «Иван Иванович и Наталья Владимировна»; 2 – «Василий Иванович и
Ольга Петровна».
Вариант 15
1. По номеру дня недели и номеру урока вывести предмет (составить на понедельник,
вторник, среду).
2. В зависимости от номера n вывести фамилию ученика, стоящего в журнале под
соответствующим номером, также вывести, в какой подгруппе по информатике он
находит ся. Дано число К. Вывести фразу «Мы выучили К правил» (1 - «1
правило», 12 – «12 правил», 22- «22 правила»).
3. Дано число К < 1000. Вывести фразу «Мы выучили К песен» (1 - «1 песню», 12 –
«12 песен», 22- «22 песни»).
10 А класс
10 Б класс
№
варианта
Фамилия Имя
1
2
3
4
5
6
7
8
9
10
11
12
Вафин Тагир
Горобец Екатерина
Исламова Алина
Меркурьев Егор
Мурзабаева Эвелина
Мухаметзянова Эльвина
Петров Илья
Позолотин Владислав
Пономарева Дарья
Решетников Владимир
Ситникова Анастасия
Тагиров Айрат
№ варианта
1
2
3
4
5
6
7
8
9
10
11
12
13
Фамилия Имя
Валиев Шамиль
Галлямов Герман
Гизатуллина Алина
Исмагилов Ильнур
Каклюгин Тимур
Матюха Дарья
Мусин Артур
Нигматзянов Ренат
Пахомов Станислав
Рахманова Гульназ
Сафин Руслан
Топилина Дарья
Шафеева Эллина
Группы Атановой Татьяны Григорьевны
1
2
3
4
5
6
7
8
9
10
11
12
13
Гулиева Эльвина
Дуняк Ярослав
Дьякова Олеся
Зайцев Андрей
Зубайдуллина Камелия
Ивина Алевтина
Лукманов Герман
Пенкин Дмитрий
Пименова Наталия
Растумханова Алина
Собинов Владислав
Филиппович Влада
Ханова Эльвина
1
2
3
4
5
6
7
8
9
10
11
12
Брагинский Артем
Бычковская Екатерина
Заплатина Василиса
Исламова Юлия
Крымова Карина
Кучин Егор
Никульченко Максим
Одегов Анатолий
Сиразетдинов Анвар
Тоносова Евгения
Федоришин Евгений
Хромец Денис
Download