Логические выражения. Урок 4

Конспект урока
Элективный курс: Основы программирования на Python
Уровень: Программирование для начинающих

1. Логического выражения и логический тип данных

Часто в реальной жизни мы соглашаемся или отрицаем то или иное событие, факт и т.д. Например, "Сумма чисел 3 и 5 больше 7" является правдой или истинным выражением, "Сумма чисел 3 и 5 меньше 7" - ложным. Можно заметить, что подобные фразы предполагают только два результата: "Да" (правда) и "Нет" (ложь). Подобное есть и в программировании: если результатом вычисления выражения является "истина" или "ложь", то такое выражение называется логическим.

На прошлом уроке были отмечены три типа данных: целые и дробные числа, а также строки. Также выделяют логический тип данных. У этого типа всего два возможных значения: True (правда) — 1 и False (ложь) — 0. Эти значения и являются результатом логических выражений.

2. Логические операторы

Говоря на естественном языке (например, русском) мы обозначаем сравнение словами "равно", "больше", "меньше" и им подобными. В языках программирования обычно используются специальные знаки, подобные тем, которые используются в математических выражениях: > (больше), < (меньше), >= (больше или равно), <= (меньше или равно).

Новыми для восприятия могут оказаться обозначение равенства: == (два знака "равно"); а также неравенства !=. Часто начинающие программисты ошибаются и вместо двух знаков "=" пишут один. Однако, как вы должны помнить из предыдущего урока, один знак используется в операциях присвоения.

Примеры работы с логическими выражениями на языке программирования Python (после # написаны комментарии-пояснения):

x = 125 # это не логическая операция, а операция присвоения переменной 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. Практическая работа

  1. Присвойте двум переменным любые числовые значения
  2. Составьте четыре сложных логических выражения с помощью оператора and, два из которых должны давать истину, а два других - ложь.
  3. Аналогично выполните п. 2, но уже используя оператор or.
  4. Попробуйте использовать в сложных логических выражениях работу с переменными строкового типа.

5. Примерный результат выполнения задания

Работа с логическими выражениями на языке программирования Python в среде IDLE