7.4.3.7 использовать оператор выбора при решении задач
Цели урока:
научить учащихся применять оператор выбора switch в языке C++ для решения практических задач, выбирая нужное действие в зависимости от заданного значения.
Учащиеся:
Различать случаи, когда целесообразно применять switch вместо if...else.
Составлять алгоритм выбора действий в зависимости от значения переменной.
Использовать ключевые элементы switch (case, break, default) правильно.
Отлаживать и тестировать программы с оператором выбора.
1. Что такое оператор выбора?
Оператор выбора — это конструкция в языке программирования, которая позволяет программе выбрать и выполнить один из нескольких возможных блоков команд в зависимости от значения выражения или переменной.
В языке C++ оператор выбора switch позволяет программе выбрать один из нескольких возможных вариантов действий в зависимости от значения переменной.
Графическое представление демонстрирует, что на каждый случай выбора значения N выполняется отдельная ветка команд.
Это похоже на меню в столовой: ты выбираешь номер блюда N — и получаешь конкретное блюдо.
В C++ оператор выбора реализуется с помощью ключевого слова switch, где каждое возможное значение проверяется через case (случай), а необработанные варианты можно обработать с помощью default. Оператор break используется для окончания выполнения оператора выбора, т.е. если решение найдено, то нужно выйти из просмотра других значений.
Общий вид оператора выбора:
switch (x) { case 1: cout << "Один"; break; // действие происходит при x равном 1 case 2: cout << "Два"; break; // действие происходит при х равном 2 default: cout << "Другое число"; // действие происходит, если ни одно значение х не найдено
}
Объяснение ключевых элементов:
switch — команда выбора;
case — один из вариантов (ветка выбора);
break — завершает выполнение оператора switch;
default — срабатывает, если ни один case не подошёл.
2. Пример использования оператора выбора
Задача: определить день недели по его номеру. Дни недели: 1 - Понедельник, 2 - Вторник и т.д.
#include <iostream>
using namespace std;
int main() {
int day;
cout << "Введите номер дня недели (1-7): ";
cin >> day; switch (day) { case 1:
cout << "Понедельник"; break; case 2:
cout << "Вторник"; break; // допишите программу самостоятельно default:
cout << "Ошибка: введите число от 1 до 7"; }
return 0;
}
3. Когда использовать switch, а не if?
if
switch
Когда условия сложные (например, x > 10)
Когда сравниваем с конкретными значениями (x == 1, x == 2)
Подходит для диапазонов
Подходит для простого выбора по значению
Можно использовать логические операторы
Работает только с целыми, символьными, enum типами
4. Важно помнить!
Используй отступы для читаемости кода.
Не забудь ставить break, иначе программа продолжит выполнять все следующие case. default — не обязателен, но лучше добавлять его для обработки ошибок или неожиданных значений.
Вывод по теме:
Оператор switch позволяет организовать выбор из нескольких вариантов, делая программу читаемой, структурированной и понятной. Он часто применяется в меню, настройках, выборе действий по коду команды и других задачах.
Вопросы:
Что такое оператор выбора и для чего он используется в C++?
Какова структура (синтаксис) оператора switch и назначение элементов case, break, default?
В каких случаях лучше использовать switch, а не if...else? Приведи примеры.
Что произойдет, если в операторе switch пропустить команду break после блока case?
Какие типы данных можно использовать в выражении оператора switch в C++?
Упражнения:
Упр 1. Сопоставь ключевые слова и их описания.
Упр 2. Расположи элементы конструкции switch в правильном порядке.
Упр 3. Заполни пропуски в программе.
Задачи:
Задача 1. Математика: Определение четверти координат.
Пользователь вводит номер четверти (1–4). Программа выводит, в каком диапазоне находятся координаты точки в этой четверти относительно осей X и Y.
Задача 2. Физика: Единицы измерения времени.
Пользователь вводит число секунд и код перевода:
1 — минуты, 2 — часы. Программа выполняет соответствующий пересчет.
Задача 3. Биология: Тип питания животных.
Пользователь вводит цифру:
1 — травоядное, 2 — плотоядное, 3 — всеядное.
Программа выводит пример животного. (Примеры животных нужно найти самостоятельно).
Задача 4. География: Материки.
Пользователь вводит номер материка:
1 — Евразия, 2 — Африка, 3 — Северная Америка, 4 — Южная Америка, 5 — Австралия, 6 — Антарктида.
Программа выводит площадь материка в млн км². (Площади материков нужно найти самостоятельно).
Задача 5. История: Век по году.
Пользователь вводит год. Программа определяет век (с 17 по 21) и выводит краткое историческое событие того времени. Если год вне диапазона — сообщение об ошибке. (Год выводить римскими числами, исторические события нужно найти самостоятельно).