Файл: Задача изменить порядок действий в зависимости от выполнения некоторого условия.pptx
Добавлен: 12.01.2024
Просмотров: 643
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Программирование на языке Python
Структура полного условного оператора
<Действия 1-го варианта (1-я серия инструкций)>
<Действия 2-го варианта (2-я серия инструкций)>
Выбор наибольшего из двух чисел
Выбор наибольшего из двух чисел-2
В других языках программирования
Задание 1. Написать программу по данному алгоритму.
Задачи (без функций min и max!)
Программирование на языке Python
Ветвления
Задача: изменить порядок действий в зависимости от выполнения некоторого условия. Условный оператор – оператор, который реализует «ветвление», т.е. изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия.Структура полного условного оператора
if <условие>:
<Действия 1-го варианта (1-я серия инструкций)>
else:
<Действия 2-го варианта (2-я серия инструкций)>
Выбор наибольшего из двух чисел
Задача: изменить порядок действий в зависимости от выполнения некоторого условия.M = aa > b?M = bданетвывод Mполная форма ветвленияЕсли a = b??if a > b: M = a else: M = bотступыВариант 1. Программа
print("Введите два целых числа")a = int(input())b = int(input()) if a > b: else: print("Наибольшее число", M)M = aM = bполная форма условного оператораM = max(a, b)Решение в стиле Python:M = a if a > b else bВыбор наибольшего из двух чисел-2
неполная форма ветвленияначалоM = aввод a,bM = bконецданетb > a?вывод MВариант 2. Программа
print("Введите два целых числа")a = int(input())b = int(input())M = a if b > a: print("Наибольшее число", M)M = bнеполная форма условного оператораПримеры
if a < b: M = a if b < a: M = b Что плохо??Когда работает неверно??Поиск минимального:Примеры
if a < b: c = a a = b b = cЧто делает эта программа??В чём отличие??if a < b: c = a a = bb = c46?464ab321ca, b = b, aРешение в стиле Python:В других языках программирования
if a < b then begin c:= a; a:= b; b:= c;end;Паскаль:С:if (a < b) { c = a; a = b; b = c; }
Знаки отношений
><>=<===!=больше, меньшебольше или равноменьше или равноравноне равноПример. Даны два вещественных числа а и b. Если первое больше второго, то увеличить каждое число в 2 раза, иначе – уменьшить в два раза.Соответствующая программа:a = float(input('a = ')) b = float(input('b = '))if a > b: a = a * 2 b = b * 2 else: a = a/2 b = b/2 print('a =', a)print('b =', b)Вложенные условные операторы
if a > b: print("Андрей старше") else:if a == b: print("Одного возраста")else: print("Борис старше") вложенный условный операторЗачем нужен??Задача: в переменных a и b записаны возрасты Андрея и Бориса. Кто из них старше?Сколько вариантов??Каскадное ветвление
if a > b: print("Андрей старше") elif a == b: print("Одного возраста")else: print("Борис старше")elif = else if!Каскадное ветвление
cost = 1500if cost < 1000: print ( "Скидок нет." )elif cost < 2000: print ( "Скидка 2%." )elif cost < 5000: print ( "Скидка 5%." )else: print ( "Скидка 10%." )Что выведет??первое сработавшее условиеСкидка 2%.Задание 1. Написать программу по данному алгоритму.
Соответствующая программа:a = int(input('a = ')) b = int(input('b = '))if a == b: a = b - aeilf a > b: a = a - b else:b = b - a print('a =', a)print('b =', b)Задачи (без функций min и max!)
«3»: Ввести два целых числа, найти наибольшее и наименьшее из них. Пример:Введите два целых числа:1 5Наибольшее число 5Наименьшее число 1«4»: Ввести четыре целых числа, найти наибольшее из них. Пример:Введите четыре целых числа:1 5 4 3Наибольшее число 5Задачи
'5': Ввести пять чисел и найти наибольшее из них. Пример: Введите пять чисел: 4 15 9 56 4 Наибольшее число 56Задачи
«6»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример:Возраст Антона: 15 Возраст Бориса: 17 Возраст Виктора: 16 Ответ: Борис старше всех.Пример:Возраст Антона: 17 Возраст Бориса: 17 Возраст Виктора: 16 Ответ: Антон и Борис старше Виктора.
Сложные условия
Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит").Особенность: надо проверить, выполняются ли два условия одновременно: возраст 25 возраст 40Можно ли решить известными методами??Плохое решение
print("Введите ваш возраст")x = int(input())if x >= 25: if x <= 40: print("Подходит!") else: print("Не подходит.")else: print("Не подходит.")вложенный условный операторХорошее решение (операция «И»)
if : print("подходит")else: print("не подходит")andv >= 25 and v <= 40сложное условие«И»: одновременное выполнение всех условий! Задача: набор сотрудников в возрасте 25-40 лет (включительно).Примеры
Задача. Вывести "Да", если число в переменной a – двузначное.if 10 <= a and a <= 99: print("Да")Задача. Вывести "Да", если число в переменной a – двузначное и делится на 7.if 10 <= a and a <= 99 and (a % 7)==0: print("Да")Сложные условия: «ИЛИ»
Задача. Самолёт летает по понедельникам и четвергам. Ввести номер дня недели и определить, летает ли в этот день самолёт.Особенность: надо проверить, выполняется ли одно из двух условий: день = 1 день = 4if d == 1 or d == 4 : print("Летает")else: print("Не летает")сложное условиеd == 1 or d == 4 or«ИЛИ»: выполнение хотя бы одного из двух условий!Ещё пример
Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит"). Использовать «ИЛИ».if : print("не подходит")else: print("подходит")v < 25 or v > 40Сложные условия: «НЕ»
if not(a < b):print("Cтарт!")not«НЕ»: если выполняется обратное условиеif a >= b: print("Cтарт!")Как без «НЕ»??
Простые и сложные условия
Простые условия (отношения) < <= > >= == <>Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:- and – одновременное выполнение условий
- or – выполнение хотя бы одного из условий
- not – отрицание, обратное условие
x >= 25 and x <= 40
x <= 25 or x >= 40
not (x > 25) ???
Порядок выполнения операций
- выражения в скобках
- <, <=, >, >=, =, <>
- not
- and
- or