☰ Содержание · Информатика

Практика логических выражений и оператор if…else

Уроки 36–37 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
37

Программирование разветвляющихся алгоритмов: оператор if…else

Учебник: с. 76–78
ЦельЗнает разветвляющиеся алгоритмы и структуру операторов if и if…else и пишет, соблюдая правило отступов, программу, выбирающую один из двух путей по одному условию.
Новые слова
разветвляющийся алгоритм: выбор того, какие команды выполнять, зависит от условия · tarmoqlanuvchi algoritmif: выполняет свой блок только если условие равно True · ifelse: блок, который выполняется, когда условие if равно False · elseблок: строки под if или else, записанные с отступом в четыре пробела · blok
Объяснение

В разветвляющемся алгоритме проверяется условие, и в зависимости от результата выполняется та или иная группа команд. В Python это записывается как if условие: с двоеточием после условия, а выполняемые строки пишутся на следующей строке с отступом в 4 пробела – это называется блоком if. Если условие равно True, блок выполняется; иначе он пропускается. Дополнительный блок задаётся с помощью else:, который выполняется, когда условие равно False; у else нет собственного условия, и он стоит на одном уровне с if, то есть с таким же отступом. Отступ здесь – правило языка: если его забыть, появится IndentationError. В блок-схеме условие – это ромб с двумя стрелками, помеченными «да» и «нет». После двух путей они снова соединяются, и программа продолжается с общей части.

Примеры
Положительное или нет: n = int(input()) ⏎ if n > 0: ⏎     print("musbat") ⏎ else: ⏎     print("musbat emas") Если набрать -3, условие ложно, поэтому срабатывает блок else и выводится musbat emas.
Чётное или нечётное: n = int(input()) ⏎ if n % 2 == 0: ⏎     print("juft") ⏎ else: ⏎     print("toq") 7 % 2 = 1, условие ложно, поэтому выводится toq. Со скидкой: s = int(input()) ⏎ if s >= 100000: ⏎     s = s - s // 10 ⏎ print(s) если сумма равна 100000 или больше, вычитается десятая часть; для 150000 результат 135000.
Работа в классе

«Живая программа»: класс делится на две половины; одна половина держит карточки «условий» (возраст >= 14, число чётное), другая идёт по путям «да» или «нет» и разыгрывает блок-схему вживую.

Упражнения
1
Какая ошибка появится, если print(x) написать без отступа после if x > 3:?
2
Вводится сумма счёта s. Если s достигает 100000, даётся скидка 10%. Напишите программу (135000 для 150000).
3
Чему равно y после выполнения этой программы? x = 4 ⏎ if x % 2 == 0: ⏎     y = x // 2 ⏎ else: ⏎     y = 3 * x + 1
4
Почему после else не пишется условие?