- Организационный момент
Деятельность учителя: Приветствие, проверка готовности к уроку, объявление темы и задачи урока.
Деятельность учащихся: Настраиваются на работу, слушают цель урока.
Мотивация: "Умение обрабатывать последовательности - основа для решения реальных задач анализа данных, которые встречаются в аналитике, машинном обучении и научных исследованиях"
Цель урока: Научиться применять различные циклические структуры для решения практических задач на компьютере.
Задачи урока:
- Образовательные:
- Закрепить и расширить знания о циклах (с предусловием, постусловием, счётчиком).
- Сформировать умение выбирать подходящий тип цикла для конкретной задачи.
- Научить создавать и отлаживать программы с циклами для решения практических задач.
- Развивающие:
- Развивать логическое и алгоритмическое мышление через анализ и решение задач.
- Развивать умение самостоятельно находить и исправлять ошибки в коде.
- Формировать навыки структурирования информации и принятия решений.
- Личностные:
- Повысить интерес к программированию через практическую работу.
- Воспитывать ответственность и самостоятельность при выполнении заданий.
- Актуализация знаний
Учитель: Что означает термин «цикл»? Можете ли вы привести примеры из повседневной жизни использования циклических алгоритмов? Какие две основные формы циклов мы изучали на прошлых уроках?
Учащиеся: после просмотра приводят определение циклического вычислительного процесса, приводят примеры алгоритмов.
Цикл в программировании — это набор команд, которая заставляет компьютер повторять один и тот же блок кода несколько раз, пока выполняется какое-то условие или какое-то количество раз. Вместо того чтобы писать один и тот же код много раз, мы пишем его всего один раз, но «заворачиваем» в цикл.
Примеры из жизни:
Чтение книги: Вы повторяете одно и то же действие — «перелистнуть страницу и прочитать» — пока не дойдете до последней страницы.
Прием пищи: Действие «поднести ложку ко рту» повторяется, пока тарелка не станет пустой.
Подъем по лестнице: Вы повторяете шаг, пока не подниметесь на нужный этаж.
На прошлых уроках мы изучали два самых главных цикла:
for — Это цикл со счетчиком. Мы используем его, когда заранее знаем, сколько раз нужно выполнить действия.
Пример: «Цикл for с range — это когда мы говорим компьютеру: "Сделай это дело столько-то раз".».
while — Это цикл с условием. Он выполняется, пока какое-то условие остается правдой (True).
Пример: «Пока на тарелке есть еда, продолжать есть»
Цикл for - когда известно количество повторений
for i in range(n): # повторить n раз
Пример: ввод 5 чисел
for i in range(5):
x = int(input())
Цикл while – выполняется пока истинна
while условие: # пока условие истинно
Пример: Ввод чисел до тех пор, пока не введут 0
while True:
x = int(input())
if x == 0: break
- Объяснение условий и кратности
Учитель: Как ты думаешь, почему алгоритмы, в которых программа может пойти разными путями в зависимости от ситуации, как называют такие алгоритмы? Какие существуют два вида условий?
Учащиеся:
Алгоритм с ветвлением – это алгоритм, в котором вычислительный процесс осуществляется либо по одной, либо по другой ветви, в зависимости от выполнения некоторого условия.
Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий - простые и составные.
Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:
|
Строгие |
Нестрогие |
|
< - меньше, чем... > - больше, чем... = - равно |
>= - больше или равно (не меньше) <= - меньше или равно (не больше) != - не равно
|
В программах разветвляющейся структуры в Питоне используют условный оператор вида
if <условие>:
3.1. Проверка кратности чисел
x = 10
# Проверка кратности 5
if x % 5 == 0: print("Число кратно 5")
# Проверка четности (кратность 2)
if x % 2 == 0: print("Число четное")
# Проверка нечетности
if x % 2 != 0: print("Число нечетное")
# Комбинированные условия
if x % 2 != 0 and x % 3 == 0: print("Нечетное и кратно 3")
3.2. Счетчики и аккумуляторы
count = 0
if условие: count += 1
Накопление суммы
s = 0
s += x # добавить x к сумме
Максимальный элемент:
max_num = -1 # начальное значение для положительных
if x > max_num:
max_num = x # обновить максимум
- Решение задачи for
Задача 1: Максимальное число, кратное 5
Напишите программу, которая из n натуральных чисел определяет максимальное число, кратное 5.
4.1. Разбор условия
Известно количество чисел → используем цикл for
Нужно найти максимальное число, кратное 5
4.2. Пошаговое решение с комментариями
n = int(input()) # количество чисел
max_num = 0 # начинаем с 0, т.к. числа натуральные
for i in range(n): # цикл для n
x = int(input()) # ввод чисел
if x % 5 == 0 and x > max_num: # если число кратно 5 И больше текущего максимума
max_num = x # обновляем максимум
print(max_num) # вывод результата
- Решение задачи while
Задача 2: Количество нечетных чисел, кратных 3
Напишите программу, которая в последовательности целых чисел до нуля определяет количество нечетных чисел, кратных 3.
5.1. Разбор условия
Количество чисел неизвестно → используем цикл while
Признак конца ввода - число 0
5.2. Пошаговое решение с комментариями
count = 0
while True: # цикл будет продолжаться, пока не встретится break
n = int(input()) # ввод очередного числа
if n == 0: break # выход из цикла
if n % 2 != 0 and n % 3 == 0: # число нечетное (остаток от деления на 2 не равен 0) и число кратно 3 (остаток от деления на 3 равен 0) прибавляем +1
count += 1
print(count)
- Рефлексия
Вопросы для рефлексии:
6.1 Какой цикл использовать когда известно количество повторений?
6.2 Как проверить кратность числа?
6.3 Как работает счетчик?
6.4 В чем разница между циклом for и while?
Учащиеся:
6.1 for i in range(n):
6.2 Кратность — значит, что одно число делится на другое без остатка.В программировании это проверяется с помощью операции «остаток от деления».Мы используем оператор %, который возвращает остаток от деления. ( if число % делитель == 0: )
6.3 Счетчик — это обычная переменная, значение которой мы целенаправленно изменяем на определенное число каждый раз, когда происходит нужное нам событие.
Создание — даем переменной начальное значение (обычно 0)
Изменение — увеличиваем значение, когда что-то происходит через условие
6.4 Цикл for — используем, когда ЗАРАНЕЕ ЗНАЕМ (или можем вычислить) количество повторов. Цикл while — используем, когда НЕ ЗНАЕМ сколько будет повторов, но знаем УСЛОВИЕ, при котором нужно продолжать.
- Домашнее задание:
Задание 1: Модифицировать задачу for: найти из n чисел минимальное число, кратное 7
Задание 2: Модифицировать задачу while: посчитать сумму положительных чисел до нуля, оканчивающихся на 5
