Тема урока "Решение задач с использованием условного оператора IF и оператора выбора select case"
Сегодня на уроке вы:
вспомните, что такое условный оператор if и оператор выбора select case, как они записываются на Паскале;
закрепите умения составлять программы на языке Паскаль, используя условный оператор и оператор выбора.
В начале урока давайте вспомним изученное
Оператор множественного выбора CASE
Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).
Если вариантов всего два, то можно обойтись и условным оператором IF, с которым вы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию if then else в Pascal становится совсем нецелесообразно. В этом случае оптимален оператор CASE варианта.
Пример:
Case N of
1, 2, 3 : writeln (‘Первый квартал‘);
4, 5, 6 : writeln (‘Второй квартал‘);
7..9 : writeln (‘Третий квартал‘);
10..12 : writeln (‘Четвёртый квартал‘);
else writeln (‘Ошибка ввода данных – число должно быть от 1 до 12’);
end;
Оператор выбора имеет следующую форму записи:
Case селектор of
константа 1: оператор 1;
константа 2: оператор 2;
...........................................
константа n: оператор n;
else оператор;
end;
В заголовке оператора case вместо логического выражения - переменная, называемая селектором. До этого ей присваивается или вводится какое-либо значение.
По ходу выполнения оператора case, значение переменной-селектора сравнивается с различными, описанными в нем вариантами (константами). Только совпадение будет найдено, выполняется блок кода при данной константе и происходит выход в основную ветку программы.
Если такой константы выбора или такого диапазона выбора не существует, то выполняется оператор, следующий за ключевым словом else. Если ветвь else отсутствует, то не выполняется никакой оператор.
Чтобы задать диапазон выбора, используется один из двух вариантов:
Перечисление через запятую:
case x of:
1,2,3,4,5: writeln('от одного до пяти');
Использование .. для промежутка:
case x of:
1..5: writeln('от одного до пяти');
Рассмотрим примеры
в презентации или по ссылке Примеры решения задач из книги М. Э. Абрамян “1000 Задач по программированию.” If (чтобы увидеть решение, под условием задачи выберите язык программирования)
Рассмотрим использование оператора выбора CASE в языке Паскаль на конкретном примере
Пример: Программа, спрашивающая у ученика его отметку по информатике и выводящая эту отметку в виде текста.
Результат выполнения с использованием условного оператора if:
var otmetka:integer;
begin
writeln('Отметка?');
readln(otmetka);
if (otmetka=1) or (otmetka=2) then
writeln ('кошмар!')
else if otmetka=3 then
writeln('плохо')
else if otmetka=4 then
writeln('неплохо')
else if otmetka=5 then
writeln('отлично!')
else writeln('таких отметок не бывает');
end.
Данный пример демонстрирует нерациональную работу программиста и слишком запутанный код.
Результат выполнения с использованием оператора выбора case:
var otmetka:integer;
begin
writeln('отметка?');
readln(otmetka);
case otmetka of
1,2 : writeln ('кошмар!');
3: writeln('плохо');
4: writeln('неплохо');
5: writeln('отлично!');
else writeln('таких отметок не бывает');
end
end.
Гораздо лаконичнее выглядит код при использовании оператора выбора.
Перейдите по ссылке, чтобы посмотреть Примеры решения задач из книги М. Э. Абрамян “1000 Задач по программированию.” Case (чтобы увидеть решение, под условием задачи выберите язык программирования).
Выполни задания
Повтори § 18-19, уроки 40-43.
1.Написать программу нахождения суммы большего и меньшего из 3 чисел (используй ветвление).
2.Дан номер масти m ( 1 <= m <= 4 ), определить название масти. Масти нумеруются: "пики" - 1, "трефы" - 2, "бубны" - 3, "червы" - 4 (используй оператор выбора case).
3.Дан порядковый номер месяца, вывести на экран количество месяцев, оставшихся до конца года (используй оператор выбора case).
Итоги урока.
Сегодня вы расширили представление об организации условного оператора и оператора выбора на языке программирования Pascal, рассмотрели примеры использования оператора множественного выбор case и оператора if при решении задач.