Тема урока : Оператор множественного выбора CASE
План урока Решить задачу на множественное ветвление двумя способами. ( саму задачу и два способа ее решения переписать в тетрадь, перечертить блок - схемы ) Записать в тетрадь общий вид оператора выбора и блок - схему ( слайд 8-9) Решить задачу 2, используя оператор выбора. ( Саму задачу и ее решение переписать в тетрадь ) ( слайд 10) Самостоятельно решить задачи 3 и 4, используя оператор выбора ( см. задачу 2)
Сегодня наша задача – познакомиться со способами организации в программах ветвления на три и более рукавов ( или, как еще говорят, ветвей ).
Первый способ В алгоритме вычисления по данной формуле предусмотреть проверку первого условия (и вычисление по первой формуле, если оно истинно); затем проверку второго условия, но только в том случае, если первое ложно; вычисление по второй формуле, если второе условие истинно и по третьей, если ложно. Причем если истинно первое условие, то после вычисления по первой формуле происходит выход из структуры Ветвление. Задача 1
Программа для нашего примера примет вид: Program P1; Var a,x:real; Begin Writeln('Введите x') ; Readln (x); If x<0 then a:=x+1 else If x<10 then a := 2*x else a := 0; Writeln (a); End. В блок-схеме: блоки ввода и вывода должны быть в параллелограммах.
В алгоритме вычисления по данной формуле можно предусмотреть проверку каждого условия (и выполнение серии операторов, если условие истинно). То есть, в отличие от первого способа, после выполнения операторов, соответствующих истинному условию, проверка условий не заканчивается. Задача 1. Второй способ организации ветвления В блок-схеме: блоки ввода и вывода должны быть в параллелограммах.
Программа, реализующая второй способ: Program P2; Var a, x: real; Begin Writeln('Введите x'); Readln (x ); If x<0 then a:=x+1; If (x>=0) and (x<10) then a:=2*x; If x>=10 then a:=0; Writeln(a); End.
Существует еще один способ составления программ с ветвлением на три и более рукава – с использованием оператора выбора: Здесь селектор – проверяемое целое арифметическое, логическое или символьное выражение. Причем оно может принимать значения лишь некоторых типов, общим свойством для которых является то, что их значения известны точно. Поэтому, в частности, тип селектора не может быть вещественного типа (Real), представляют собой перечисления возможных значений выражения селектор. При совпадении значения выражения хотя бы с одним из значений будет выполняться соответствующее и на этом выполнение команды выбора завершается.
Program P3; Var m: Integer; Begin Writeln (Введите номер месяца число от 1 до 12); Readln (m); Case m of 1, 2,12: Writeln(Зима); 3,4,5: Writeln(Весна); 6,7,8: Writeln(Лето); 9,10,11: Writeln (Осень); Else Writeln (Ошибка ввода данных); End; End. Задача 2. Составить программу, которая спрашивает у пользователя номер месяца и выводит соответствующее названия времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение об ошибке «Ошибка ввода данных».
Задача 3. Используя оператор выбора case. Дано целое число в диапазоне от 1 до 5. Вывести словесное описание соответствующей оценки (1 – «плохо», 2 – «неудовлетворительно», 3 – «удовлетворительно», 4 – «хорошо», 5 – «отлично»). Задача 4. Используя оператор выбора case. Дан номер месяца (1 январь, 2 февраль,...). Вывести число дней в этом месяце для невисокосного года.