Содержание
-
АЛГОРИТМЫ СО СТРУКТУРОЙ ВЫБОР
УРОК 31
-
Цель:
научить применять еще один оператор ветвления – структуру «выбор»
-
Что делать, если в задаче необходимо проверить множество условий?
В этом случае, кроме оператора if в языке программирования Паскаль, предусмотрен оператор ветвления по ряду условий - case. Данный оператор используется реже из-за существующих ограничений для него.
-
Оператор case служит для выбора одного из возможных вариантов в ситуации, которая может иметь несколько (более двух) возможных исходов. В зависимости от значения переменой (селектора) выполняется оператор, помеченный соответствующей константой. Если же ни одна константа не подходит, выполняется оператор, записанный после else.
-
Оператор case имеет вид: Caseпорядковая_переменнаяof константа_1: оператор_1; константа_2: оператор_2; константа n: оператор n; Else оператор; End;
-
Возможно использование сокращенной формы оператора case, в которой строка else отсутствует. В этом случае, если ни одна константа не совпадает со значением порядковой переменой, управление передается оператору, следующему за end. Например: Case n of 1: writeln('кpacный'); 2: writeln('зеленый'); 3: writeln('белый'); End;
-
Запись типа 'a'...'z' включает диапазон значений от символа 'а' до символа 'z' включительно. Для решения задач на эту тему нам понадобится еще один тип переменных: char — простой тип данных, предназначенный для хранения одного символа в определенной кодировке.
-
Практическая работа
Задание 1. Напишите программу, по которой выводится название школьного звена в зависимости от класса.
-
Решение: 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.
-
Задание 2.
С помощью конструкции case сравните значение переменной ch с различными диапазонами значений. В случае совпадения выводится соответствующая надпись (цифра, английская буква, русская буква).
-
Решение: Varch: char; begin write('Введите символ:'); readln (ch); case ch of '0'..'9': write('Это число'); 'a'..'z','A'..'Z': write('Это английская буква'); 'а'..'я','А'..'Я': write('Это русская буква') end; end. Примечание. Символы перечисления помещаются в апострофы.
-
Задание 3.
В зависимости от введенного символа L, S, V, пpoграмма должна вычислять длину окружности; площадь круга; объем цилиндра.
-
Решение: 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.
-
Задание 4.
Напишите программу преобразования цифр в слова
-
Решение: 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('девять') elsewriteln('Это число не является цифрой'); end; End.
-
Вывод
Как применяется оператор выбора? Когда он особенно необходим?
-
Домашнее задание
1. По номеру дня недели вывести его название. 2. Написать программу, которая по введенному числу из промежутка [0,24] выдает время суток.
-
Ответы: 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 ('воскресенье'); elsewriteln ('Это число не является номером дня недели'); end; End.
-
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чь'); elsewriteln('Это число выходит за пределы интервала [0,24]'); end; End.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.