Skip to content

GitDefeatedMe/mp2-lab4-polinoms

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ЛР 4. Арифметические операции с полиномами

Цели и задачи

Цель работы: Разработать программу, выполняющую арифметические операции с полиномами трех переменных (x, y и z): сложение, вычитание, умножение на константу, умножение двух полиномов. Считается, что полином составлен из мономов от трех переменных с ограничением на степень каждой переменой от 0 до 9 (Опцианально можно расширить данное ограничение). Коэффициенты полинома - вещественные числа. Работоспособность программы необходимо проверить с помощью Google Test-ов. Кроме того, необходимо разработать пользовательское консольное приложение.

Особенности реализации:

  1. В качестве структуры хранения полинома использовать список мономов с ненулевыми коэффициентами (односвязный или двухсвязный). Односвязный список удобнее реализовать с фиктивной головой. Элементы списка хранить упорядоченными.
  2. Степень полинома хранить в "свернутом" виде, т. е. степень должна быть представлена как трехзначное число, где число сотен – это степень при переменной “x”, число десятков - степень при переменной “y”, число единиц - степень при переменной “z”.
  3. Сложение полиномов осуществлять алгоритмом слияния упорядоченных массивов.
  4. Вычитание полиномов допускается выполнять через сложение с умножением на константу (C = A - B = A + (-1)*B)
  5. При умножении и сложение (вычитание) необходимо следить, чтобы в итоговом полиноме были приведены подобные слагаемые и не хранилось мономов с нулевым коэффициентом.
  6. Если при умножении полиномов полученные степени переменных больше 9, выводить сообщение об ошибке.
  7. Считывание полинома у пользователя допускается в любом удобном для вас виде. Необходимо предоставить пользователю правила ввода данных
  8. Следует учесть, что пользователь может вводить полином, не упорядочив в нем мономы.
  9. Необходимо добавить свои файлы с реализацией программы (см. Общай структура проекта)

Используемые инструменты

  • Система контроля версий Git. Рекомендуется использовать один из следующих клиентов на выбор студента:
  • Фреймворк для написания автоматических тестов Google Test. Не требует установки, идет вместе с проектом-шаблоном.

Общая структура проекта

Структура проекта:

  • gtest — библиотека Google Test.
  • samples — каталог с пользовательским приложением (Необходимо создать собственный файл кода).
  • test — каталог с проектом с модульными тестами (Необходимо создать собственные файлы с тестами).
  • include src - каталоги с основными файлами ЛР (Необходимо создать собственные файлы кода).
  • sln - каталог с файлами с решениями (solution) для Microsoft Visual Studio (Необходимо добавить настроенный проект).
  • README.md — информация о проекте, которую вы сейчас читаете.
  • Служебные файлы
    • .gitignore — перечень расширений файлов, игнорируемых Git при добавлении файлов в репозиторий.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 99.9%
  • CMake 0.1%