Урок 4 - Основы логики и логические операции

1. Теоретическая часть: Основы логики и логические операции


1.1. Что такое логика?

  • Логика — это наука о правильном мышлении, которая изучает законы и правила рассуждений.

  • В информатике логика используется для создания алгоритмов, написания программ и работы с данными.


1.2. Логические высказывания

  • Логическое высказывание — это утверждение, которое может быть либо истинным (True), либо ложным (False).

  • Примеры:

    • "2 + 2 = 4" — истинное высказывание.

    • "Солнце вращается вокруг Земли" — ложное высказывание.

    • "5 > 10" — ложное высказывание.


1.3. Логические операции

Логические операции позволяют объединять или изменять логические высказывания.

  1. Операция И (конъюнкция):

    • Обозначается как И или AND в программировании.

    • Результат истинный только тогда, когда оба высказывания истинны.

    • Таблица истинности:

    A
    B
    A И B

    True

    True

    True

    True

    False

    False

    False

    True

    False

    False

    False

    False

    Пример:

    • "Сегодня выходной И хорошая погода."

    • Истинно, если и выходной, и погода хорошая.


  1. Операция ИЛИ (дизъюнкция):

    • Обозначается как ИЛИ или OR в программировании.

    • Результат истинный, если хотя бы одно из высказываний истинно.

    • Таблица истинности:

    A
    B
    A ИЛИ B

    True

    True

    True

    True

    False

    True

    False

    True

    True

    False

    False

    False

    Пример:

    • "Я пойду гулять ИЛИ посмотрю фильм."

    • Истинно, если выполняется хотя бы одно из условий.


  1. Операция НЕ (отрицание):

    • Обозначается как НЕ или NOT в программировании.

    • Меняет значение высказывания на противоположное.

    • Таблица истинности:

    A
    НЕ A

    True

    False

    False

    True

    Пример:

    • "НЕ люблю морковь" — значит, что человек не любит морковь.


1.4. Примеры использования логики

  • Принятие решений:

    • "Если идёт дождь И нет зонта, то я не пойду на улицу."

    • "Если сейчас утро ИЛИ вечер, то я дома."

  • Логика в технике:

    • Датчики движения (включение света при движении).

    • Контроль работы систем безопасности.


2. Практическая часть: Логические выражения в Python


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

  1. and — логическое "И":

    • Возвращает True, если оба условия истинны.

    • Пример:

      a = 5
      b = 10
      print(a > 0 and b > 5)  # True, так как оба условия истинны
      print(a > 0 and b < 5)  # False, так как второе условие ложно
  2. or — логическое "ИЛИ":

    • Возвращает True, если хотя бы одно условие истинно.

    • Пример:

      a = 5
      b = -10
      print(a > 0 or b > 0)  # True, так как первое условие истинно
      print(a < 0 or b < 0)  # True, так как второе условие истинно
  3. not — логическое "НЕ":

    • Инвертирует значение логического выражения.

    • Пример:

      is_sunny = True
      print(not is_sunny)  # False, так как было True
      print(not False)     # True

2.2. Практические задания

  1. Задача 1: Написать программу, которая:

    • Запрашивает возраст пользователя.

    • Проверяет, является ли пользователь подростком (возраст от 13 до 19 лет).

    Пример кода:

    age = int(input("Введите свой возраст: "))
    is_teen = age >= 13 and age <= 19
    print("Вы подросток:", is_teen)

  1. Задача 2: Написать программу, которая:

    • Запрашивает два числа у пользователя.

    • Проверяет:

      • Оба числа положительные.

      • Хотя бы одно из чисел отрицательное.

    Пример кода:

    a = int(input("Введите первое число: "))
    b = int(input("Введите второе число: "))
    print("Оба числа положительные:", a > 0 and b > 0)
    print("Хотя бы одно число отрицательное:", a < 0 or b < 0)

  1. Задача 3: Написать программу, которая:

    • Запрашивает у пользователя, идёт ли дождь (да/нет).

    • Если идёт дождь, выводит "Возьми зонт".

    • Если не идёт дождь, выводит "Зонт не нужен".

    Пример кода:

    rain = input("Идёт дождь? (да/нет): ").lower()  # Приводим к нижнему регистру
    if rain == "да":
        print("Возьми зонт")
    else:
        print("Зонт не нужен")

  1. Дополнительное задание:

    • Написать программу, которая проверяет, является ли введённое число чётным и положительным.

    Пример кода:

    number = int(input("Введите число: "))
    is_even_and_positive = number % 2 == 0 and number > 0
    print("Число чётное и положительное:", is_even_and_positive)

Домашнее задание

  1. Теория:

    • Нарисуйте таблицы истинности для операций "И", "ИЛИ", "НЕ" самостоятельно.

    • Приведите примеры из жизни, где используется логика.

  2. Python:

    • Напишите программу, которая:

      • Запрашивает три числа у пользователя.

      • Проверяет, все ли числа положительные.

      • Проверяет, хотя бы одно из чисел отрицательное.

      • Выводит соответствующие результаты.

Last updated