- •Вопросы для проверки усвоенных знаний.
- •Урок №2.
- •Оператор ввода переменных с клавиатуры.
- •Вопросы для проверки усвоенных знаний.
- •Урок №3.
- •Урок №4.
- •Урок №5.
- •Урок №6.
- •Урок №7. Оператор множественного выбора Case of.
- •Урок №8.
- •Урок №9.
- •Конструкция:
- •Знаний. Урок №10.
- •Урок №11.
- •Урок №12.
- •Урок №13.
- •Урок №14.
- •Вопрос: что измениться в задаче, если надо будет найти сумму не всех элементов, а только с №3 по №5.
- •Вопрос: какого типа в таком случае должна быть переменная.Sum?
- •Урок №15.
- •Урок №16. Тема: Поиск минимального (максимального) элементов массива. Замена переменных.
- •Урок №17.
- •Урок №18.
- •Урок № 19.
Урок №7. Оператор множественного выбора Case of.
Цель: Познакомиться с оператором множественного выбора, привести примеры использования и указать на отличия от условного оператора. Определить задачи, в которых удобнее использовать оператор множественного выбора.
Иногда приходится решать задачи, когда использовать условный оператор If Then Else не удобно. Например, в зависимости от введенной цифры (от 1 до 7) вывести на экран соответствующий день недели. Тогда, при помощи оператора If решение будет выглядеть следующим образом.
Program z1;
Var
r : Integer;
Begin
ReadLn (r);
If r = 1 Then WriteLn ('понедельник')
Else If r = 2 Then WriteLn ('вторник')
Else If k = 3 Then WriteLn ('среда')... и т. д.
… …
End.
Это не удобно - очень много вложенных друг в друга условных операторов. Оператор Cаse - оператор выбора используется он следующим образом.
Case k of
символ1 : Begin <операторы1> End;
символ2 : Begin <операторы2> End;
символ3 : Begin <операторы3> End;
символ4 : Begin <операторы4> End;
.......
Else Begin <операторы> End;
End;
Где вместо символа стоит переменная перечисляемого типа (символьный - переменные этого типа содержат только один символ или типа Integer) а после : набор операторов, которые надо выполнить.
Обратите внимание. Что вместе с оператором Case of всегда используется окончание оператора – End. Часть после Else не обязательна, как и для оператора If Then Else.
Для нашего примера:
Program z1;
Var
t : Integer;
Begin
ReadLn(t);
Case t of
1 : WriteLn ('понедельник');
2 : WriteLn ('вторник');
3 : WriteLn ('среда');
4 : WriteLn ('четверг');
........
Else WriteLn ('такого дня недели нет');
End;
End.
Как видно из примера, оператор Case удобен, когда надо выбрать значение переменной из конечного набора каких-либо значений.
В случае если нужно указать не один символ, а несколько, их указывают через запятую.
Например: магазин работает в понедельник, среду и пятницу. В зависимости от введенного цифрой дня недели определить, рабочий день или выходной.
Program z1;
Var
w : Integer;
Begin
ReadLn(w);
Case w of
1, 3, 5 : WriteLn ('Рабочий день ');
2, 4, 6, 7 : WriteLn ('Выходной день ');
Else WriteLn ('такого дня недели нет');
End;
Задачи на урок:
Ввести номер месяца, на экран вывести, сколько дней в этом месяце.
Блок-схема |
Программа |
Напечатать расписание уроков на введенный Вами день.
Блок-схема |
Программа |
Домашнее задание.
Определите при помощи какого оператора ветвления удобнее решать задачи и решите их.
Известно, что доктор принимает пациентов в первой половине дня по четным числам месяца и во второй половине дня по нечетным числам месяца. Ввести с клавиатуры число и определить принимает ли сегодня доктор.
Ввести с клавиатуры дату, используя при этом 3 переменные: например 28.01.1997 (вводите в переменные a, b, c без точек!) Напишите программу вывода даты с написанием месяца прописью. Для нашего примера выведется: 28 января 1997 года.
1 |
2 |