1: АЛГОРИТМЫ СО СТРУКТУРОЙ ВЫБОР УРОК 31
2: Цель: научить применять еще один оператор ветвления – структуру «выбор»
3: Что делать, если в задаче необходимо проверить множество условий? В этом случае, кроме оператора if в языке программирования Паскаль, предусмотрен оператор ветвления по ряду условий - case. Данный оператор используется реже из-за существующих ограничений для него.
4: Оператор case служит для выбора одного из возможных вариантов в ситуации, которая может иметь несколько (более двух) возможных исходов. Оператор case служит для выбора одного из возможных вариантов в ситуации, которая может иметь несколько (более двух) возможных исходов. В зависимости от значения переменой (селектора) выполняется оператор, помеченный соответствующей константой. Если же ни одна константа не подходит, выполняется оператор, записанный после else.
5: Оператор case имеет вид: Оператор case имеет вид: Case порядковаяпеременная of константа1: оператор1; константа2: оператор2; константа n: оператор n; Else оператор; End;
6: Возможно использование сокращенной формы оператора case, в которой строка else отсутствует. В этом случае, если ни одна константа не совпадает со значением порядковой переменой, управление передается оператору, следующему за end. Например: Возможно использование сокращенной формы оператора case, в которой строка else отсутствует. В этом случае, если ни одна константа не совпадает со значением порядковой переменой, управление передается оператору, следующему за end. Например: Case n of 1: writeln (кpacный); 2: writeln (зеленый); 3: writeln (белый); End;
7: Запись типа a. . . z включает диапазон значений от символа а до символа z включительно. Для решения задач на эту тему нам понадобится еще один тип переменных: Запись типа 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, 23. 14r); S: write(Плoщaдь круга S, 3. 14sqr(r)); V: write(Объем цилиндра V, 3. 14sqr(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.
19: 2. Var a: real; 2. Var a: real; Begin writeln(Введите время суток); readln(a); case a of 8,01. . 12,00: writeln (Утро); 12,01-17,00: writeln(День); 17,01. . 23,00: writeln (Вечер); 23,01. . 24,00: writeln(Hoчь); 1,00-8,00: writeln (Hoчь); else writeln(Это число выходит за пределы интервала 0,24); end; End.