Правила записи и использованиеоператора множественного

advertisement
Правила записи и использованиеоператора множественного
выбора CASE.
Иногда приходится решать задачи, когда использовать условный оператор
IfThenElseне удобно.
Пример: В зависимости от введенной цифры (от 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 не обязательна, как и для
оператора IfThenElse.
Для нашего примера:
Programz1;
Var t : Integer ;
Begin
ReadLn(t);
Case
t
of
1 : WriteLn ('понедельник');
2 : WriteLn ('вторник');
3 : WriteLn ('среда');
4 : WriteLn ('четверг');
........
Else WriteLn ('такого дня недели нет');
End;
End.
Вид списка
Список, состоящий из одного значения
‘a’8
Список, содержащий перечисление значений
1, 4, 5
Список, содержащий интервалы значений
1..5, 20..30‘a’ ..’z’
Список, содержащий смешанную форму представления значений
‘a’, ‘b’,’*’,’@’
1 .. 5, 15, 55
‘a’ ..’z’, ’A’, ’B’
Как видно из примера, оператор Case удобен, когда надо выбрать значение
переменной из конечного набора каких-либо значений.
В случае если нужно указать не один символ, а несколько, их указывают
через запятую.
Задача 1: заменить числовую отметку ее текстовой формой («отлично»,
«хорошо», «удовлетворительно», «неудовлетворительно»)
Program PCASE1;
var otmetka : 2..5;
begin
write(‘Введитеоценку '); readln(otmetka);
case otmetka of
2 : writeln('неудовлетворительно');
3 : writeln('удовлетворительно');
4 : writeln('хорошо');
5 : writeln('отлично');
end;end.
Домашнее задание: выучить конспект.
Составить программу, которая по номеру месяца, введенного с клавиатуры,
выводит количество дней в нем. В программе учесть количество дней в
феврале для високосного и не високосного годов.
Related documents
Download