ДОМАШНЕЕ ЗАДАНИЕ

Оператор варианта (выбора) 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.

Выведите наименование оценки.

 

 

 

+

 

+

 

+

 
Блок-схема: решение: А=4Блок-схема: данные: ХОРБлок-схема: решение: А=3Блок-схема: данные: УДБлок-схема: данные: НЕУДБлок-схема: решение: А=2PROGRAM 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.

+

 
Блок-схема: данные: ОТЛБлок-схема: решение: А=5Наличие варианта ELSE

обеспечивает вывод

 
сообщения об ошибке в случае,

Блок-схема: знак завершения: КОНЕЦБлок-схема: данные: ОТЛкогда введено число вне интервала 2..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 должны выполняться следующие правила:

Значение выражения селектора должны принадлежать дискретному (простому порядковому) типу. Все константы выбора должны иметь тип совместимый с типом селектора Все константы выбора должны быть уникальны в пределах оператора 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,2 – «Кошмар».

3 – «Неважно».

4 – «Неплохо».

5 – «Молодец».

При вводе несуществующей оценки вывести «Таких отметок не бывает».

3. Дано число К. Вывести фразу «Мы собрали К яблок» (1 - «1 яблоко», 12 – «12 яблок», 22- «22 яблока»).

Вариант 2

По номеру дня недели и номеру урока вывести предмет (составить на понедельник, вторник, среду). Составить программу, определяющую животное, соответствующее году по китайскому гороскопу.

3. Дано число К. Вывести фразу «Мы выучили К стихотворений» (1 - «1 стихотворение», 12 – «12 стихотворений», 22- «22 стихотворения»).

Вариант 3

По номеру этажа и кабинета выдать наименование изучаемого предмета в данном кабинете (1 1 – физика, 2 1- труды).

1 этаж 1 – физика

2 – медкабинет

3 – директор

4 – башкирский

2 этаж 1 – математика

2 – завучи

3 – информатика

4 – спортзал

3 этаж 1 – музыка

2 – география

3 – русский язык

4 – химия

2. Составить программу, которая в зависимости от числа, выводит фразу:

123 рубля, 121 рубль, 125 рублей и т. д. т. е. меняет окончание.

3. По номеру варианта выдать фамилию учащегося вашей группы.

Вариант 4

Дано число меньше 1000. Выдать число прописью. (21 - двадцать один, 2 – два, 212 двести двенадцать) Написать программу, выводящую на экран название времени года. Переменная month содержит номер месяца. Дано число К. Вывести фразу «Мы купили К учебников» (1 - «1 учебник», 12 – «12 учебников», 22- «22 учебника»).

Вариант 5

НЕ нашли? Не то? Что вы ищете?
Дано количество тетрадей (меньше 100). Выдать количество тетрадей прописью с подписью слова «тетрадей» (одна тетрадь, тринадцать тетрадей, двадцать две тетради). В зависимости от введённого числа k вывести на экран фразу:

«Мне 12 лет», или «Мне 21 год», или «Мне 2 года» т. е. менять окончание.

3. По номеру выдать название падежей в русском языке. Например: 1 – именительный, 4 – дательный.

Вариант 6

Дана сумма рублей. Выдать правильную запись слова «рублей» (1 рубль, 1211 рублей, 22 рубля). Дано целое число k. Вывести на экран:

«Белый», если в разряде единиц данного числа стоит 1 или 6.

«Жёлтый», если 2 или 7.

«Зелёный», если 3 или 8.

«Синий», если 4 или 9.

«Красный», если 5.

«Чёрный», в остальных случаях.

Создать программу, которая по номеру неизвестного элемента для прямоугольного треугольника, запрашивает необходимые элементы и выдает результат.

На экран «Введите номер неизвестного элемента»

«1- катет а, 2 – Гипотенуза с, 3 – Периметр Р, 4 – Площадь S».

Если 1, то запрашивает длины катета b, гипотенузы с;

если 2, то запрашивает длины катетов а и b;

если 3, то запрашивает длины катетов а и b;

если 4, то запрашивает длины катета b, гипотенузы с.

Вариант 7

Пусть элементами равностороннего треугольника являются: 1) сторона а; 2) площадь S; 3) высота h; 4) радиус описанной окружности R; 5) радиус вписанной окружности r. Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значения всех остальных элементов треугольника. Составить программу для вычисления числа дней в месяце, если даны: номер месяца N – целое число от 1 до 12, целое число А, равное 1 для високосного года и 0 в противном случае. Дано число К. Вывести фразу «Мы купили К тетрадей» (1 - «1 тетрадь», 12 – «12 тетрадей», 22- «22 тетради»).

Вариант 8

Дана дата (день месяц год.). Выдать дату следующего дня – ,– ,– Составить программу, сопоставляющую номеру буквы в слове «компьютер» эту букву.

Например: Ввод: «4».

Вывод: «п».

3. Дано число К. Вывести фразу «Мы решили К задач» (1 - «1 задачу», 12 – «12 задач», 22- «22 задачи»).

Вариант 9

По номеру дня недели и номеру урока вывести предмет (составить на понедельник, вторник, среду). Составить программу, которая находит назначение (название) кабинета на II этаже школы № 000, если дан его номер. Дано число К. Вывести фразу «Мы выучили К правил» (1 - «1 правило», 12 – «12 правил», 22- «22 правила»).

Вариант 10

По номеру этажа и кабинета выдать наименование изучаемого предмета в данном кабинете (1 1 – физика, 2 1- труды).

1 этаж 1 – физика

2 – медкабинет

3 – директор

4 – башкирский

2 этаж 1 – математика

2 – завучи

3 – информатика

4 – спортзал

3 этаж 1 – музыка

2 – география

3 – русский язык

4 – химия


В зависимости от номера n вывести фамилию ученика, стоящего в журнале под соответствующим номером, также вывести, в какой подгруппе по информатике он находится. Дано число К. Вывести фразу «Мы отмыли К тарелок» (1 - «1 тарелку», 12 – «12 тарелок», 22- «22 тарелки»).

Вариант 11

Дано число меньше 1000. Выдать число прописью. (21 - двадцать один, 2 – два, 212 двести двенадцать). Составить программу, которая в зависимости от введённого числа n выводит название многоугольника с n углами. 2<n<7. Например:

Ввод: «3».

Вывод: «Треугольник».

Дано число К. Вывести фразу «Мы выучили К правил» (1 - «1 правило», 12 – «12 правил», 22- «22 правила»).

Вариант 12

Дана сумма рублей. Выдать правильную запись слова «рублей» (1 рубль, 1211 рублей, 22 рубля). Составить программу, которая запрашивает число n и если

1.  n<4 выводит «недолёт».

2.  n>4 выводит «перелёт».

3.  n=4 выводит «попал».

Дано число К < 20. Вывести фразу «У нас К детей» (1 - «У нас один ребенок», 12 – «У нас 12 детей», 2 - « у нас 2 ребенка»).

Вариант 13

Дано количество тетрадей (меньше 100). Выдать количество тетрадей прописью с подписью слова «тетрадей» (одна тетрадь, тринадцать тетрадей, двадцать две тетради). Составить программу, которая в зависимости от 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

По номеру дня недели и номеру урока вывести предмет (составить на понедельник, вторник, среду). В зависимости от номера n вывести фамилию ученика, стоящего в журнале под соответствующим номером, также вывести, в какой подгруппе по информатике он находит ся. Дано число К. Вывести фразу «Мы выучили К правил» (1 - «1 правило», 12 – «12 правил», 22- «22 правила»). Дано число К < 1000. Вывести фразу «Мы выучили К песен» (1 - «1 песню», 12 – «12 песен», 22- «22 песни»).

10 А класс

№ варианта

Фамилия Имя

1

Вафин Тагир

2

Горобец Екатерина

3

Исламова Алина

4

Меркурьев Егор

5

Мурзабаева Эвелина

6

Мухаметзянова Эльвина

7

Петров Илья

8

Позолотин Владислав

9

Пономарева Дарья

10

Решетников Владимир

11

Ситникова Анастасия

12

Тагиров Айрат

10 Б класс

№ варианта

Фамилия Имя

1

Валиев Шамиль

2

Галлямов Герман

3

Гизатуллина Алина

4

Исмагилов Ильнур

5

Каклюгин Тимур

6

Матюха Дарья

7

Мусин Артур

8

Нигматзянов Ренат

9

Пахомов Станислав

10

Рахманова Гульназ

11

Сафин Руслан

12

Топилина Дарья

13

Шафеева Эллина


Группы Атановой Татьяны Григорьевны

1

Гулиева Эльвина

1

Брагинский Артем

2

Дуняк Ярослав

2

Бычковская Екатерина

3

Дьякова Олеся

3

Заплатина Василиса

4

Зайцев Андрей

4

Исламова Юлия

5

Зубайдуллина Камелия

5

Крымова Карина

6

Ивина Алевтина

6

Кучин Егор

7

Лукманов Герман

7

Никульченко Максим

8

Пенкин Дмитрий

8

Одегов Анатолий

9

Пименова Наталия

9

Сиразетдинов Анвар

10

Растумханова Алина

10

Тоносова Евгения

11

Собинов Владислав

11

Федоришин Евгений

12

Филиппович Влада

12

Хромец Денис

13

Ханова Эльвина