Главная страница
Навигация по странице:

  • Пример: Введите число: 165 Ответ: да. Пример: Введите число: 1651 Ответ: нет. Задачи

  • Пример: Введите число: 165 Ответ: нет. Пример: Введите число: 656 Ответ: да. Задачи

  • Пример: Введите число: 161 Ответ: нет. Пример: Введите число: 555 Ответ: да. Экспертная система

  • База знаний

  • Программирование экспертной системы

  • вариант 1

  • Отказ

  • Пример отладки программы

  • Питон хард. 8-3py_Хард. 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов


    Скачать 5.26 Mb.
    Название 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов
    АнкорПитон хард
    Дата15.04.2023
    Размер5.26 Mb.
    Формат файлаppt
    Имя файла8-3py_Хард.ppt
    ТипДокументы
    #1063848
    страница9 из 18
    1   ...   5   6   7   8   9   10   11   12   ...   18

    Задачи





    «A»: Напишите программу, которая получает с клавиатуры целое число и записывает в логическую переменную значение «да» (True), если это число трёхзначное. После этого на экран выводится ответ на вопрос: «Верно ли, что было получено трёхзначное число?».
    Пример:
    Введите число: 165
    Ответ: да.
    Пример:
    Введите число: 1651
    Ответ: нет.

    Задачи





    «B»: Напишите программу, которая получает с клавиатуры трёхзначное число и записывает в логическую переменную значение «да» (True), если это число – палиндром, то есть читается одинаково слева направо и справа налево. После этого на экран выводится ответ на вопрос: «Верно ли, что введённое число – палиндром?».
    Пример:
    Введите число: 165
    Ответ: нет.
    Пример:
    Введите число: 656
    Ответ: да.

    Задачи





    «С»: Напишите программу, которая получает с клавиатуры трёхзначное число и записывает в логическую переменную значение «да» (True), если это все его цифры одинаковы. После этого на экран выводится ответ на вопрос: «Верно ли, что все цифры введённого числа одинаковы?»
    Пример:
    Введите число: 161
    Ответ: нет.
    Пример:
    Введите число: 555
    Ответ: да.

    Экспертная система





    Экспертная система — это компьютерная программа, задача которой — заменить человека-эксперта при принятии решений в сложной ситуации.


    База знаний = факты + правила вывода:


    если у животного есть перья, то это птица;
    если животное кормит детенышей молоком, то это — млекопитающее;
    если животное — млекопитающее и ест мясо, то это — хищник.


    Диалог:
    Это животное кормит детей молоком? Нет
    Это животное имеет перья? Да
    Это птица.

    Дерево решений





    хищник


    ?


    птица


    да


    да


    нет


    нет


    млекопитающее


    Кормит детей молоком?


    Имеет перья?


    Ест мясо?


    ?


    да


    нет

    Программирование экспертной системы





    Ответы пользователя: да и нет – символьные строки.


      ans = input("Кормит детей молоком? ")
      if ans == "да":
      ... # вариант 1
      else:
      ... # вариант 2


      # вариант 1
      print("Млекопитающее.")
      ans = input("Ест мясо? ")
      if ans == "да":
      print("Хищник.")
      else:
      print("Не знаю.")

    Заглавные и строчные буквы





      if ans == "да":
      ...


    не сработает на "Да"


    Как исправить?


    ?


      if ans == "да" or ans == "Да":
      ...


      if ans.lower() == "да":
      ...


    Ещё лучше:


    преобразовать все заглавные в строчные


      if ans.upper() == "ДА":
      ...


    § 23. Отладка программ




    Виды ошибок





    Синтаксические ошибки – нарушение правил записи операторов языка программирования.


    Обнаруживаются транслятором.


    Логические ошибки – неверно составленный алгоритм.


    Отказ (ошибка времени выполнения) – аварийная ситуация во время выполнения программы.


    Отладка – поиск и исправление ошибок в программе.

    Пример отладки программы





      from math import sqrt
      print("Введите a, b, c: ")
      a = float(input())
      b = float(input())
      c = float(input())
      D = b*b - 4*a*a
      x1 = (-b+sqrt(D))/2*a
      x2 = (-b-sqrt(D))/2*a
      print("x1=", x1, " x2=", x2, sep="")


    Программа решения квадратного уравнения


    float – преобразовать в вещественное число

    1   ...   5   6   7   8   9   10   11   12   ...   18


    написать администратору сайта