Уроки 38–39 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
38
Практическое занятие: оператор if…else
Учебник: с. 78
ЦельНа практическом занятии программирует задачи на делимость, нахождение большего числа и изменение значения по условию с помощью оператора if…else.
Новые слова
условие делимости: a % b == 0 означает, что a делится на b без остатка · bo‘linish shartiмаксимум: большее из двух или нескольких чисел · maksimumабсолютная величина (модуль): число без знака · modulусловное присваивание: переменная получает значение в зависимости от условия · shartli o‘zlashtirish
Объяснение
На этом занятии решаются три типовые задачи. Первая – делимость: если a делится на b без остатка, то a % b == 0, иначе остаток не равен нулю. Вторая – нахождение большего из двух чисел: если a > b, то m = a, иначе m = b – на обоих путях m получает значение, поэтому print(m) всегда работает. Третья – нахождение абсолютной величины числа: мы меняем знак только если x отрицательно, поэтому else не нужен. Прежде чем приступить к задаче, нарисуйте блок-схему: каждое условие – это один ромб, а каждый путь – один блок. Проверяйте программу минимум на двух разных значениях: один раз при истинном условии и один раз при ложном. Такая двусторонняя проверка – главный контроль разветвляющихся программ.
Примеры
Проверка делимости: a = int(input()) ⏎ b = int(input()) ⏎ if a % b == 0: ⏎ print("ha") ⏎ else: ⏎ print("yo‘q", a % b) Для 17 и 5 остаток равен 2, поэтому выводится yo‘q 2. Нахождение большего: a = int(input()) ⏎ b = int(input()) ⏎ if a > b: ⏎ m = a ⏎ else: ⏎ m = b ⏎ print(m) Для 8 и 15 выводится 15.
Температура: t = int(input()) ⏎ if t >= 25: ⏎ print("issiq") ⏎ else: ⏎ print("salqin") Для 30 градусов выводится issiq. Абсолютная величина: x = int(input()) ⏎ if x < 0: ⏎ x = -x ⏎ print(x) Если набрать -9, выводится 9; положительное число остаётся без изменений.
Работа в классе
«Двусторонняя проверка»: каждая группа выбирает для своей программы два тестовых значения (одно делает условие истинным, другое – ложным), заранее предсказывает результат, а затем проверяет в IDLE.
Упражнения
1
Что выводит эта программа? a = 12 ⏎ b = 5 ⏎ if a % b == 0: ⏎ print(a // b) ⏎ else: ⏎ print(a % b)
2
2
Напишите программу, которая считывает температуру и выводит «issiq», если она 25 или выше, и «salqin» в противном случае.
t = int(input()) ⏎ if t >= 25: ⏎ print("issiq") ⏎ else: ⏎ print("salqin")
3
Напишите программу, которая находит абсолютную величину числа (9 для -9, 4 для 4).
x = int(input()) ⏎ if x < 0: ⏎ x = -x ⏎ print(x)
4
Почему в задаче об абсолютной величине не нужен else?
Положительное число не меняется; действие выполняется только для отрицательных чисел, а в остальных случаях делать нечего.