Семинар: условия и циклы
программированиепрактика
что было
оглавление
оглавление
Практическое занятие по использованию условного оператора if-else, switch и циклов для решения прикладных задач (нахождение максимума, проверки делимости).
Практическое применение условных конструкций и циклов позволяет реализовать сложную логику, включая фильтрацию значений и досрочное завершение вычислений.
Условные конструкции в задачах
На семинаре рассматривалось применение оператора `if-else` для проверок (например, проверка четности числа или нахождение наибольшего из трех чисел).
Также обсуждался оператор `switch` для выбора одного из множества вариантов (например, вывод дня недели по его номеру). Важно не забывать оператор `break` в каждом блоке `case`.
конструкция | подходит для | важная деталь |
|---|---|---|
if-else | условий и диапазонов | порядок ветвей |
switch | фиксированных значений | break после case |
цикл + if | фильтрации последовательности | continue пропускает итерацию |
Практика с циклами
Пример задачи на `for`: вывод кубов чисел от 1 до 10.
Пример использования `break` и `continue`: написан цикл для вывода всех чисел, кроме тех, которые делятся на 3 без остатка (используя `continue`).
Разобран пример с `do-while` для создания меню, где программа запрашивает у пользователя символ (Y/N) и продолжает работу, пока пользователь отвечает 'Y' или 'y'.
Сборка решения
Сначала формулируют условие остановки, затем действие на каждой итерации и только после этого добавляют досрочный выход.
Суммирование с ограничением
условие: Складывать числа от 1 до 100, но остановиться после превышения заданного предела.
ход решения
Инициализировать сумму нулём.
Прибавлять очередное число внутри `for`.
После сложения сравнивать сумму с пределом и выполнять `break`.
ответ: Цикл завершается на первой сумме, которая превысила предел.
проверка: Проверка расположена после прибавления очередного значения.
что запомнить
В switch обязательно использовать break для предотвращения проваливания (fallthrough).
Циклы легко комбинируются с if для фильтрации.
do-while идеально подходит для консольных меню.
самопроверка
Для чего нужен break внутри блока case?
Как пропустить числа, кратные 3, в цикле от 1 до 100?
Где в задаче на сумму должно проверяться условие досрочного выхода?
источники
редакционная сверка: Рабочий проект стандарта C++: операторы цикла — https://eel.is/c++draft/stmt.iter
что сделать
Реализовать программу, которая вычисляет сумму всех цифр от 1 до 100, но прерывает работу, когда сумма превысит заданный максимум.
благодарность
Ученик ЭМФ-1-34