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