Слайд 2
Цель:
научить применять еще один оператор ветвления –
структуру «выбор»
Слайд 3
Что делать, если в задаче необходимо проверить множество
условий?
В этом случае, кроме оператора if в языке
программирования Паскаль, предусмотрен оператор ветвления по ряду условий - case. Данный оператор используется реже из-за существующих ограничений для него.
Слайд 4
Оператор case служит для выбора одного из возможных
вариантов в ситуации, которая может иметь несколько (более двух)
возможных исходов.
В зависимости от значения переменой (селектора) выполняется оператор, помеченный соответствующей константой.
Если же ни одна константа не подходит, выполняется оператор, записанный после else.
Слайд 5
Оператор case имеет вид:
Case порядковая_переменная of
константа_1:
оператор_1;
константа_2: оператор_2;
константа n: оператор n;
Else оператор;
End;
Слайд 6
Возможно использование сокращенной формы оператора case, в которой
строка else отсутствует. В этом случае, если ни одна
константа не совпадает со значением порядковой переменой, управление передается оператору, следующему за end. Например:
Case n of
1: writeln ('кpacный');
2: writeln ('зеленый');
3: writeln ('белый');
End;
Слайд 7
Запись типа 'a'...'z' включает диапазон значений от символа
'а' до символа 'z' включительно. Для решения задач на
эту тему нам понадобится еще один тип переменных:
char — простой тип данных, предназначенный для хранения одного символа в определенной кодировке.
Слайд 8
Практическая работа
Задание 1.
Напишите программу,
по которой выводится
название школьного звена в зависимости от класса.
Слайд 9
Решение:
var
n: integer;
begin
write('Введите класс школы:
');
readln(n);
case n of
1..4: writeln('Младшие классы.');
5..8: writeln('Средняя школа.');
9,11: writeln('
Cтаршие классы. Выпускной.');
10: writeln('Старшие классы.');
else writeln(‘Error’);
end;
end.
Слайд 10
Задание 2.
С помощью конструкции case сравните значение переменной
ch с различными диапазонами значений. В случае совпадения выводится
соответствующая надпись (цифра, английская буква, русская буква).
Слайд 11
Решение:
Var ch: char;
begin
write('Введите символ:');
readln (ch);
case ch
of
'0'..'9': write('Это число');
'a'..'z','A'..'Z': write('Это английская буква');
'а'..'я','А'..'Я': write('Это русская буква')
end;
end.
Примечание.
Символы перечисления помещаются в апострофы.
Слайд 12
Задание 3.
В зависимости от введенного символа L,
S, V, пpoграмма должна вычислять длину окружности; площадь круга;
объем цилиндра.
Слайд 13
Решение:
Var L, S, V, r, h: real; n:
char;
begin
write('Задайте радиус круга'); readln(r);
write('Высоту цилиндра'); readln(h);
write('Введите символ:'); readln(n);
case
ch of
L: write('Длина окружности L=', 2*3.14*r);
S: write('Плoщaдь круга S=', 3.14*sqr(r));
V: write('Объем цилиндра V=’, 3.14*sqr(r)*h);
end;
end.
Слайд 14
Задание 4.
Напишите программу преобразования цифр в слова
Слайд 15
Решение:
Program Number4;
Var a: integer;
Begin
Writeln (‘Введите цифру’);
readln(a);
case
a of
0: writeln('ноль');
1: writeln('один');
2: writeln('двa');
3: writeln('три');
4: writeln('четыре');
5: writeln('пять');
6: writeln('шесть');
7: writeln('ceмь');
8: writeln('вoceмь');
9: writeln('девять')
else writeln('Это число не является цифрой');
end;
End.
Слайд 16
Вывод
Как применяется оператор выбора?
Когда он особенно необходим?
Слайд 17
Домашнее задание
1. По номеру дня недели вывести его
название.
2. Написать программу, которая по введенному числу из промежутка
[0,24] выдает время суток.
Слайд 18
Ответы:
Var a: integer;
Begin
writeln('Введите номер дня недели');
readln(a);
case a
of
1: writeln ('понедельник');
2: writeln ('вторник');
3: writeln('cpeда');
4:
writeln('четверг');
5: writeln('пятница');
6: writeln ('суббота');
7: writeln ('воскресенье');
else writeln ('Это число не является номером дня недели');
end;
End.