3.77M
Категория: ПрограммированиеПрограммирование

Условный оператор

1.

Условный оператор
Ссылка на методичку

2.

Условный оператор
Обсуждение:
Программирование
умных рекомендаций

3.

Умные рекомендации
Добрый день, младшие разработчики!
Обсуждение
рабочих задач
В ProTeam поступил заказ от кондитерской «Сладкие
истории». Её директор хочет настроить на сайте умные
рекомендации товаров.
Это сложная, но интересная задача. Готовы
попробовать?
Алёна,
менеджер проектов

4.

Умные рекомендации
Упрощенная задача.
Программа знает две рекомендации: леденцы и пирожные. Пользователь
вводит предпочтение: конфеты. Как настроить умные рекомендации?
?
Вывод рекомендации:
леденцы
Вывод рекомендации:
пирожные
По правилу порядка тут должна быть какая-то команда. Какая?
Обсуждение
рабочих задач
Ввод предпочтения
покупателем

5.

Умные рекомендации
Упрощенная задача.
Программа знает две рекомендации: леденцы и пирожные. Пользователь
вводит предпочтение: конфеты. Как настроить умные рекомендации?
Анализ предпочтения
и выбор рекомендации
Вывод рекомендации:
леденцы
Вывод рекомендации:
пирожные
Обсуждение
рабочих задач
Ввод предпочтения
покупателем

6.

Умные рекомендации
Упрощенная задача.
Программа знает две рекомендации: леденцы и пирожные. Пользователь
вводит предпочтение: конфеты. Как настроить умные рекомендации?
Да
Вывод рекомендации:
леденцы
Предпочтение —
конфеты?
Нет
Вывод рекомендации:
пирожные
Обсуждение
рабочих задач
Ввод предпочтения
покупателем

7.

Умные рекомендации
Упрощенная задача.
Программа знает две рекомендации: леденцы и пирожные. Пользователь
вводит предпочтение: конфеты. Как настроить умные рекомендации?
Да
Вывод рекомендации:
леденцы
Предпочтение —
конфеты?
Нет
Такая
конструкция нам
неизвестна...
Вывод рекомендации:
пирожные
Обсуждение
рабочих задач
Ввод предпочтения
покупателем

8.

Умные рекомендации
Упрощенная задача.
Программа знает две рекомендации: леденцы и пирожные. Пользователь
вводит предпочтение: конфеты. Как настроить умные рекомендации?
Да
Вывод рекомендации:
леденцы
Предпочтение —
конфеты?
Нет
Вывод рекомендации:
пирожные
Что нужно узнать, чтобы запрограммировать такую конструкцию?
Обсуждение
рабочих задач
Ввод предпочтения
покупателем

9.

Умные рекомендации
Упрощенная задача.
Какие конструкции
задают выбор?
Да
Вывод рекомендации:
леденцы
Ввод предпочтения
покупателем
Предпочтение конфеты?
Нет
Как задать
условие
выбора?
Вывод рекомендации:
пирожные
Обсуждение
рабочих задач
Программа знает две рекомендации: леденцы и пирожные. Пользователь
вводит предпочтение: конфеты. Как настроить умные рекомендации?

10.

Цель рабочего дня —
настроить умные рекомендации для кондитерской.
Сегодня вы:
● узнаете, что условный оператор — это
конструкция, анализирующая условие
и выбирающая команду для исполнения;
● узнаете, как запрограммировать условие
с помощью нового типа данных;
● справитесь с первым рабочим проектом.
Обсуждение
рабочих задач
Заказчик хочет, чтобы программа предлагала клиентам
товары по их предпочтениям.

11.

Условный оператор
«Мозговой штурм»:
Логический
тип данных

12.

Как запрограммировать условие?
В прошлой задаче мы рассматривали условие, как некоторое
предложение, которое может быть или истинным, или ложным.
Это истина
True
Предпочтение —
конфеты
Нет
Это ложь
«Мозговой
штурм»
Да
False
Костя,
старший разработчик

13.

Логический тип данных
Такие предложения играют важную роль в программировании.
Для них был придуман логический тип данных.
Целочисленный
Логический
Величины
-100, 5, 512
True, False
Переменные
days = 31
is_correct = True
Простые
выражения
daily_money * days
5 > 2
price - sale
name != 'Иван'
«Мозговой
штурм»
Тип данных

14.

Переменные и простые выражения
Переменные и выражения могут принимать значение
True или False.
checked = True
is_sent = False
print(checked)
«Мозговой
штурм»
print(is_sent)

15.

Переменные и простые выражения
Переменные и выражения могут принимать значение
True или False.
checked = True
is_sent = False
print(checked)
amount_shop = int(input('Наличие:'))
booked = int(input('Куплено:'))
ok = amount_shop > booked
print(ok)
«Мозговой
штурм»
print(is_sent)

16.

Переменные и простые выражения
Переменные и выражения могут принимать значение
True или False.
checked = True
is_sent = False
print(checked)
amount_shop = int(input('Наличие:'))
booked = int(input('Куплено:'))
ok = amount_shop > booked
print(ok)
Логическа
я операция
Логическое
выражение
«Мозговой
штурм»
print(is_sent)

17.

Простое логическое выражение:
операторы сравнения
При составлении логических выражений могут использоваться
операторы сравнения.
*
/
%
//
+
-
Умножение
Деление
Остаток от
деления
Целая часть
от деления
Сложение
Вычитание
«Мозговой
штурм»
Целочисленный тип

18.

Простое логическое выражение:
операторы сравнения
При составлении логических выражений могут использоваться
операторы сравнения.
*
/
%
//
+
-
Умножение
Деление
Остаток от
деления
Целая часть
от деления
Сложение
Вычитание
Логический тип
>
<
==
!=
<=
>=
Больше
Меньше
Равно
Не равно
Меньше
или равно
Больше
или равно
«Мозговой
штурм»
Целочисленный/вещественный тип

19.

Простое логическое выражение:
операторы сравнения
Возможно, необходимость доставки конфет можно задать с помощью
логического выражения.
«Мозговой
штурм»
Задача. Написать программу, запрашивающую остаток шоколадных
конфет на складе и определяющую, нужно ли пополнить хранилище.
Минимально допустимое количество конфет на складе — 50 кг.

20.

Простое логическое выражение:
операторы сравнения
Задача. Написать программу, запрашивающую остаток шоколадных
конфет на складе и определяющую, нужно ли пополнить хранилище.
Минимально допустимое количество конфет на складе — 50 кг.
amount_store = int(input('Наличие:'))
amount_min = 50
print('Нужна доставка:', delivery)
«Мозговой
штурм»
delivery = amount_store < amount_min

21.

Составное логическое выражение
Название
Используется когда нужно:
and
Логическое И
Потребовать выполнения двух
простых условий одновременно
or
Логическое ИЛИ
Потребовать выполнения хотя бы
одного из двух простых условий
*Сначала выполняются части выражения, связанные логическим И,
а потом — логическим ИЛИ.
«Мозговой
штурм»
Оператор
порядок выполнения
Составное логическое выражение можно создать из простых,
связав их с помощью логических операторов:

22.

Составное логическое выражение
Задача. Написать программу, оповещающую об ошибке хранения
в хранилище шоколадных конфет.
Попробуй запрограммировать ошибку хранения с помощью
составного логического выражения.
«Мозговой
штурм»
Ошибка хранения возникает, когда хранилище почти опустело
(меньше 50 кг) или когда оно переполнено (больше 300 кг).

23.

Составное логическое выражение
Задача. Написать программу, оповещающую об ошибке хранения
в хранилище шоколадных конфет.
Ошибка хранения возникает, когда хранилище почти опустело
(меньше 50 кг) или когда оно переполнено (больше 300 кг).
amount_store = int(input('Наличие:'))
error = amount_store < 50 or amount_store > 300
«Мозговой
штурм»
print('Ошибка хранения:', error)

24.

Составное логическое выражение
Задача. Написать программу, оповещающую об ошибке хранения
в хранилище шоколадных конфет.
Ошибка хранения возникает, когда хранилище почти опустело
(меньше 50 кг) или когда оно переполнено (больше 300 кг).
error = amount_store < 50 or amount_store > 300
print('Ошибка хранения:', error)
Сначала вычисляются
значения простых
выражений, затем —
составного выражения.
«Мозговой
штурм»
amount_store = int(input('Наличие:'))

25.

Выводы:
1. Логический тип данных — это тип для
программирования предложений, которые могут быть
истинными или ложными.
1. Составные логические выражения можно создать
из простых логических выражений и логических
операторов.
«Мозговой
штурм»
2. Простые логические выражения можно создать
с помощью операторов сравнения.

26.

Условный оператор
Кондитерская:
Условия

27.

Выполните задания на платформе
«Кондитерская: условия»
Кондитерская:
условия
learn.algoritmika.org

28.

Перерыв

29.

Условный оператор
«Мозговой штурм»:
Условный оператор

30.

Как запрограммировать выбор?
Мы узнали, как запрограммировать условие — предложение, которое
может быть истинным или ложным.
Теперь освоим конструкцию, осуществляющую выбор команды для
выполнения, в зависимости от истинности условия.
Вывод рекомендации:
леденцы
Предпочтение —
конфеты?
Нет
Вывод рекомендации:
пирожные
«Мозговой
штурм»
Да

31.

Запись алгоритма в виде блок-схемы
Здесь и далее при разборе алгоритмических конструкций мы будем
использовать блок-схемы.
Это универсальный способ записи алгоритма, который известен каждому
программисту.
Ввод или вывод
данных
Одна команда
(действие)
Логическое
выражение
(условие)
Виды блоков
«Мозговой
штурм»
Начало или конец
алгоритма

32.

Условный оператор
— это команда, выполняющая или не выполняющая
действие в зависимости от значения логического
выражения.
Пример использования:
выполнение некоторого действия только если выражение
истинно.
Выполнить действие
Логическое
выражение
истинно?
Нет
«Мозговой
штурм»
Да

33.

Условный оператор
— это команда, выполняющая или не выполняющая
действие в зависимости от значения логического
выражения.
Пример использования:
выполнение действия А если выражение истинно и действия Б — если ложно.
Выполнить действие А
Логическое
выражение
истинно?
Нет
Выполнить действие Б
«Мозговой
штурм»
Да

34.

Условный оператор
Задача 1. Составить алгоритм, проверяющий возможность покупки по карте.
«Мозговой
штурм»
Если стоимость товаров больше, чем сумма на карте, то вывести:
“Недостаточно средств”.

35.

Условный оператор
Задача 1. Составить алгоритм, проверяющий возможность покупки по карте.
Если стоимость товаров больше, чем сумма на карте, то вывести:
«Недостаточно средств».
Начало
Да
Сумма к оплате
больше остатка
на карте?
Вывод:
«Недостаточно средств»
Конец
Нет
«Мозговой
штурм»
Ввод суммы к оплате,
остатка на карте

36.

Условный оператор
Задача 2. Составить алгоритм проверяющий возможность покупки по карте.
«Мозговой
штурм»
Если стоимость товаров больше, чем сумма на карте, то вывести:
«Недостаточно средств». Иначе — вывести «Покупка одобрена».

37.

Условный оператор
Задача 2. Составить алгоритм проверяющий возможность покупки по карте.
Если стоимость товаров больше, чем сумма на карте, то вывести:
«Недостаточно средств». Иначе — вывести «Покупка одобрена».
Начало
Да
Сумма к оплате
больше остатка
на карте?
Вывод:
«Недостаточно средств»
Нет
Вывод:
«Покупка одобрена»
Конец
«Мозговой
штурм»
Ввод суммы к оплате,
остатка на карте

38.

Условный оператор
Для программирования условного оператора используются команды:
if (в англ. — «если»);
«Мозговой
штурм»
else (в англ. — «иначе»).

39.

Условный оператор
Для программирования условного оператора используются команды:
if (в англ. — «если»);
else (в англ. — «иначе»).
Выражение истинно
:
if
Выражение истинно
Выполнить действие 1
Выполнить действие 2
Выполнить действие 3
:
Выполнить действие 1
else :
Выполнить действие 2
«Мозговой
штурм»
if

40.

Условный оператор
Для программирования условного оператора используются команды:
if (в англ. — «если»)
else (в англ. — «иначе»)
Выражение истинно
:
if
Выражение истинно
Выполнить действие 1
Выполнить действие 2
Выполнить действие 1
else :
Выполнить действие 3
4 пробела
:
Выполнить действие 2
4 пробела
«Мозговой
штурм»
if
Блок действий
начинается с
двоеточия

41.

Условный оператор
«Мозговой
штурм»
Задача. Написать программу, предлагающую товар по вкусовым
предпочтениям. Программа спрашивает, какой вкус нравится пользователю.
Если ванильный, то рекомендовать чизкейк. Иначе — ореховый торт.

42.

Условный оператор
Задача. Написать программу, предлагающую товар по вкусовым
предпочтениям. Программа спрашивает, какой вкус нравится пользователю.
Если ванильный, то рекомендовать чизкейк. Иначе — ореховый торт.
Начало
Вывод: введите вкус
Да
Вкус —
ванильный?
Нет
Вывод:
Попробуйте ореховый
торт
Вывод:
Попробуйте наш чизкейк
Конец
«Мозговой
штурм»
Ввод: вкус

43.

Условный оператор
Задача. Написать программу, предлагающую товар по вкусовым
предпочтениям. Программа спрашивает, какой вкус нравится пользователю.
Если ванильный, то рекомендовать чизкейк. Иначе — ореховый торт.
taste = input('Введите любимый вкус:')
taste = taste.lower()
print('Попробуйте наш фирменный чизкейк!')
?
else:
print('Попробуйте ореховый торт!')
«Мозговой
штурм»
if taste == 'ванильный':

44.

Условный оператор
Задача. Написать программу, предлагающую товар по вкусовым
предпочтениям. Программа спрашивает, какой вкус нравится пользователю.
Если ванильный, то рекомендовать чизкейк. Иначе — ореховый торт.
taste = input('Введите любимый вкус:')
taste = taste.lower()
if taste == 'ванильный':
else:
print('Попробуйте ореховый торт!')
«Мозговой
штурм»
print('Попробуйте наш фирменный чизкейк!')

45.

Выводы:
1. Условный оператор — это команда, выполняющая
или не выполняющая действие в зависимости от
значения логического выражения.
3. Действия внутри условного оператора
начинаются с двоеточия и пишутся с отступом в 4
пробела.
«Мозговой
штурм»
2. Для программирования условного оператора
используются операторы if и else.

46.

Условный оператор
Кондитерская:
Рекомендации

47.

Выполните задания на платформе
«Кондитерская: рекомендации»
Турфирма:
оптимизация
learn.algoritmika.org

48.

Условный оператор
Завершение
рабочего дня

49.

Для завершения работы
пройдите техническое интервью
1. Что такое логический тип данных? Какие значения
может принимать логическое выражение?
Подведение итогов
рабочего дня
2. Что такое условный оператор? Какими
операторами он задаётся?
3. Где используется логический тип данных
и условный оператор?
Костя,
Алёна,
старший разработчик менеджер проектов

50.

Поздравляем с окончанием
рабочего дня!
1. Узнали тип данных для программирования
предложений, принимающих значения истина
или ложь.
2. Узнали новую алгоритмическую конструкцию —
условный оператор.
3. Научились программировать выбор
исполняемой команды в зависимости
от истинности условия.
Алёна,
менеджер проектов
Подведение итогов
рабочего дня
Сегодня вы:

51.

Оценка эффективности
проделанной работы
Поделитесь с коллегами:
Подведение итогов
рабочего дня
1. Что у вас получилось лучше всего?
2. Что получилось не так, как хотелось?
3. Что нужно сделать, чтобы
в следующий раз избежать неудачи?
Алёна,
менеджер проектов

52.

«Кондитерская
:
доп. задания»
Подведение итогов
рабочего дня
Дополнительные задания
для повышения эффективности
English     Русский Правила