Слайд 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.