- •Федеральное государственное бюджетное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-Бруевича"
- •По лабораторной работе №2
- •Постановка задачи
- •Определённый тип уравнения
- •1. Задание структуры данных и предикатов
- •2. Загрузка входных данных
- •3. Определение типа уравнения и ветвление логики
- •4. Вычисление корней уравнения
- •5. Получение результатов
- •Перечень предикатов (функций)
- •1. Предикаты ввода-вывода и управления
- •2. Предикаты определения типа уравнения и выбора метода
- •Блок-схемы
- •Проверка функционала программы
- •Код программы
Федеральное государственное бюджетное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-Бруевича"
Отчёт
По лабораторной работе №2
“Разработка программы решения уравнения четвертой степени”
Дисциплина: «Разработка приложений искусственного интеллекта в киберфизических системах»
Выполнил:
Студент 3 курса группы ИКПИ - 32
Андреев Артур Алексеевич
___________________
(подпись)
Проверил:
Ерофеев С.А.
___________________
(подпись)
г. Санкт-Петербург, 2025 г.
Постановка задачи
Целью
работы является разработка программы
на языке Turbo
Prolog 2.0 для
решения уравнения четвёртой степени
с
автоматическим выбором метода в
зависимости от значений коэффициентов
и считыванием этих коэффициентов из
файла.
Для достижения данной цели необходимо выполнить следующие задачи:
Определить домены и предикаты, необходимые для решения уравнения: - домены для действительных чисел и файлов; - предикаты для чтения коэффициентов, вычисления значения полинома, реализации метода хорд, схемы Горнера, схемы Кардано, а также для вывода найденных корней и сообщений.
Реализовать считывание коэффициентов уравнения из файла в формате: a, b, c, d, k где коэффициенты представлены вещественными числами вида 1.0, 1.2, 5.0, 6.0, 0.0.
Разработать ветвление для обработки различных случаев в зависимости от коэффициентов: - при
-
решать полное уравнение четвёртой
степени:
• найти первый корень
методом хорд;
• понизить степень
полинома по схеме Горнера и найти
оставшиеся корни;
- при
-
решать кубическое уравнение по схеме
Кардано;
- при
-
решать квадратное уравнение по
формуле
;
-
при
-
решать линейное уравнение по формуле
;
-
при
-выводить
сообщение «Решений нет»;
- при
-выводить
сообщение «Любое число».Реализовать алгоритмы численного решения: - метод хорд для нахождения первого корня уравнения четвёртой степени; - понижение степени полинома по схеме Горнера с последующим поиском оставшихся корней; - схему Кардано для решения кубического уравнения; - аналитические формулы для квадратного и линейного случаев; - обработку ситуаций, когда вещественных корней нет.
Входные данные:
Файл "coeffs.txt", содержащий коэффициенты уравнения четвертой степени.
Выходные данные:
После запуска предиката go программа выводит:
Считанные коэффициенты
.Определённый тип уравнения
Вычисленные корни уравнения: - один корень методом хорд + остальные по Горнеру (если ); - три корня по Кардано (если кубическое); - два корня квадратного уравнения; - один корень линейного уравнения; - либо сообщение: • «Решений нет» • «Любое число».
Суть алгоритма заключается в следующем
Алгоритм
работы программы представляет собой
последовательность шагов по анализу
коэффициентов уравнения четвёртой
степени, считанных из файла. Программа
определяет тип уравнения (четвёртое,
третье, второе или первое) и в зависимости
от этого выбирает соответствующий метод
решения. При
находится
первый корень методом хорд, затем степень
полинома понижается по схеме Горнера
и вычисляются остальные корни.
При
выполняется
пошаговая проверка коэффициентов
и
используются: схема Кардано для
кубического уравнения, квадратная
формула, линейная формула или вывод
соответствующих сообщений при вырожденных
случаях.
