Основы программирования на C++, PASCAL
а сумма длин каждой пары сторон треугольника должна быть больше длины третьей стороны (аналогичную программу на Паскале см. в разд. 3.10, пример 1).
Пример 4.
Оператор выбора (переключатель). Формат оператора выбора:
switch (целочисленное выражение) { case константа!: список_операторов;
case константа2: список_операторов;
default: список операторов;
}
Последняя строка (default) может отсутствовать. Выполнение оператора происходит в следующем порядке:
1. Вычисляется выражение.
2. Полученное значение последовательно сравнивается с константами, помещенными после служебного слова case; при первом совпадении значений выполняются операторы, стоящие после двоеточия.
3. Если ни с одной из констант совпадения не произошло, то выполнятся операторы после слова default.
Для того чтобы «обойти» выполнение операторов на последующих ветвях, нужно принять специальные меры, используя операторы выхода или перехода.
Рассмотрим фрагмент программы, который переводит числовую оценку знаний ученика в ее словесный эквивалент. Согласно вузовской системе: 5 — «отлично», 4 — «хорошо», 3 — «удовлетворительно», 2 — «неудовлетворительно».
Пример 5.
Здесь используется еще один новый для нас оператор break — оператор выхода. Его исполнение завершает работу оператора выбора, т.е. происходит «обход» других ветвей. Вот два варианта результатов выполнения этой программы:
Введите оценку: 3 Это удовлетворительно!
Введите оценку: 7 Нет такой оценки!
Если на всех ветвях убрать оператор break, то результат может выглядеть следующим образом:
Введите оценку: 3 Это удовлетворительно!
Это хорошо!
Это отлично!
Нет такой оценки!
В этом случае выполнились операторы на всех ветвях, начиная с той, которая помечена константой 3.
Возможны задачи, в которых такой порядок выполнения ветвей оператора выбора может оказаться полезным. В следующем фрагменте программы происходит возведение вещественного числа х в целую степень п, где п изменяется в диапазоне от 1 до 5.
Упражнения
1. Составить программу упорядочения по возрастанию значений в трех переменных.
2. Составить программу, которая выводит на экран меню:
1. Первое
2. Второе
3. Третье
и в зависимости от выбранного пункта выдает одну из надписей: «Получите суп», «Получите картошку», «Получите компот», «Оставайтесь голодным». Написать два варианта программы: с использованием условного оператора if и с использованием переключателя.
3. Составить программу решения квадратного уравнения ах2 + bx + с = 0, учитывающую все возможные варианты исходных данных:
1) а = 0, b = 0, с = 0;
2) a = 0, b = 0, с ≠ 0;
3) а = 0, b ≠ 0;
4) а ≠ 0, D ≥ 0 (D — дискриминант);
5) а ≠ 0, D < 0.
В каждом случае должно выводиться соответствующее решение или сообщение.