Конспект урока
Элективный курс: Основы программирования на Python
Уровень: Программирование для начинающих
1. Логического выражения и логический тип данных
Часто в реальной жизни мы соглашаемся или отрицаем то или иное событие, факт и т.д. Например, "Сумма чисел 3 и 5 больше 7" является правдой или истинным выражением, "Сумма чисел 3 и 5 меньше 7" - ложным. Можно заметить, что подобные фразы предполагают только два результата: "Да" (правда) и "Нет" (ложь). Подобное есть и в программировании: если результатом вычисления выражения является "истина" или "ложь", то такое выражение называется логическим.
На прошлом уроке были отмечены три типа данных: целые и дробные числа, а также строки. Также выделяют логический тип данных. У этого типа всего два возможных значения: True (правда) — 1 и False (ложь) — 0. Эти значения и являются результатом логических выражений.
2. Логические операторы
Говоря на естественном языке (например, русском) мы обозначаем сравнение словами "равно", "больше", "меньше" и им подобными. В языках программирования обычно используются специальные знаки, подобные тем, которые используются в математических выражениях: > (больше), < (меньше), >= (больше или равно), <= (меньше или равно).
Новыми для восприятия могут оказаться обозначение равенства: == (два знака "равно"); а также неравенства !=. Часто начинающие программисты ошибаются и вместо двух знаков "=" пишут один. Однако, как вы должны помнить из предыдущего урока, один знак используется в операциях присвоения.
Примеры работы с логическими выражениями на языке программирования Python (после # написаны комментарии-пояснения):
x = 12 – 5 # это не логическая операция, а операция присвоения переменной x результата выражения 12 — 5
x == 4 # x равен 4
x == 7 # x равен 7
x != 7 # x не равен 7
x != 4 # x не равен 4
x > 5 # x больше 5
x < 5 # x меньше 5
x >= 6 # x больше или равен 6
x <= 6 # x меньше или равен 6
Определите устно результаты выполнения операций, приведенных в примере выше. Проверьте правильность ваших предположений, выполнив данные выражения с помощью интерпретатора языка Python.
3. Сложные логические выражения
Выражения типа "skokomnogo >= 1023" является простым. Однако, на практике не редко используются более сложные логические выражения. Может понадобиться получить логический тип ответа ("Да" или "Нет") в зависимости от результата выполнения двух простых выражений. Например, "на улице идет снег или дождь", "переменная new больше 12 и меньше 20" и т.п.
В таких случаях требуются специальные операторы, объединяющие два и более простых логических выражения. Мы рассмотрим два способа объединения: через, так называемые, логические И (and) и ИЛИ (or).
Чтобы получить истину (True) при использовании оператора and, необходимо, чтобы результат обоих простых выражений, которые связывает данный оператор, были истинными. Если хотя бы в одном случае результатом будет False (ложь), то и все сложное выражение будет ложным.
Чтобы получить истину (True) при использовании оператора or, необходимо, чтобы результат хотя бы одного простого выражения, входящего в состав сложного, был истинным. В случае оператора or сложное выражение становится ложным лишь тогда, когда ложны все составляющие его простые выражения.
Примеры работы со сложными логическими выражениями на языке программирования Python (после # написаны комментарии-пояснения):
x = 8
y = 13
x == 8 and y < 15 # x равен 8 и y меньше 15
x > 8 and y < 15 # x больше 8 и y меньше 15
x != 0 or y >15 # x не равен 0 или y меньше 15
x < 0 or y >15 # x меньше 0 или y меньше 15
Определите устно результаты выполнения операций, приведенных в примере выше. Проверьте правильность ваших предположений, выполнив данные выражения с помощью интерпретатора языка Python.
4. Практическая работа
- Присвойте двум переменным любые числовые значения
- Составьте четыре сложных логических выражения с помощью оператора and, два из которых должны давать истину, а два других - ложь.
- Аналогично выполните п. 2, но уже используя оператор or.
- Попробуйте использовать в сложных логических выражениях работу с переменными строкового типа.
5. Примерный результат выполнения задания
Насчет равенства и присвоения
Насчет равенства и присвоения можно сказать так же, что в разных языках они обозначаются по разному, а не говорить, что начинающие программисты путают обозначения (хотя, конечно, путают)
ОШИБКА
В примере в двух последних строках допущены ошибки (по моему мнению). Там где строки:
1) x <= 6 # x больше или равен 6
2) x >= 6 # x меньше или равен 6.
На сколько я знаю знак "<=" читается как "меньше или равное". В первой строке, в коментарии написано не "меньше или равно", а "больше или равно"...
Со второй строкой тоже самое. Спасибо за внимание.
Исправлено
Спасибо. Это была опечатка.