Контрольная работа: Виконання символьних операцій з многочленами
В даній роботі реалізована задача виконання символьних операцій з многочленами. Був здійснений математичний опис задачі, розроблені алгоритми її реалізації та здійснена сама реалізація на одній з версій алгоритмічної мови Pascal. Правильність роботи програми перевірена на контрольному прикладі. Здійснювалося також тестування програми на екстремальних вхідних даних (піднесення многочлена до нульового степеня, множення на нуль, ділення многочлена на самого себе і т. д.).
При виконанні роботи використовувався структурний метод програмування, що дало змогу зробити програму короткою, легко модифікованою. Оскільки всі розроблені процедури поміщені в модуль, відкомпільований у tpu‑файл, їх легко використати при написанні програм, які реалізують близькі за темою задачі.
Вибрана алгоритмічна мова TurboPascal повністю забезпечує структурний стиль програмування, оскільки це структурована мова високого рівня, на якій можна написати програму практично необмеженого розміру і довільного призначення.
1. Постановка задачі
В представленій роботі реалізується така задача.
Створити тип даних, які б найкраще відповідали означенню многочлена, описати і створити змінні, які б відповідали нулю та одиниці кільця многочленів, передбачити ввід та вивід многочленів згідно із загальноприйнятими стандартами.
Забезпечити реалізацію таких операцій з многочленами:
* додавання n многочленів
* множення n многочленів
* піднесення многочлена до довільного степеня
* знаходження многочлена від многочлена
* ділення многочленів
* знаходження похідної довільного порядку від многочлена
* знаходження невизначеного інтегралу довільного порядку від многочлена
Операції визначені у розділі 1 представленої роботи.
Інтерфейс користувача створити у вигляді меню.
При створенні програмного забезпечення дотримуватися структурного стилю програмування. Створене програмне забезпечення перевірити на контрольному прикладі. Опис контрольного прикладу приведений у розділі 3 представленої роботи.
2 . Математичний опис задачі
Многочленом (поліномом) над полем A називається вираз виду
an xn +an-1 xn-1 + … +a0 (1)
де ai – елементи поля A , n – натуральне число. n‑максимальне число таке, що коефіцієнт при xn відмінний від 0. n називається степенем многочлена. В даній роботі розглядаються многочлени над полем дійсних чисел.
Загалом многочлени можна трактувати як масиви чисел (елементів поля)
Довільний елемент поля (скаляр) може трактуватися як многочлен нульового степеня.
На множині многочленів введено відношення рівності та операції додавання і множення.
Два многочлени будуть вважатися рівними , якщо рівні їх коефіцієнти ai при однакових степенях невідомого.
Многочлени над довільним полем утворюють кільце . Роль нуля відіграє многочлен (0,0,0,…), роль одиниці – многочлен (1,0,0,…). У представленому у даній роботі програмному забезпеченні вони фігурують під іменами відповідно zero, od.
Операцію множення зручно представити як композицію трьох операцій:
множення на скаляр t
(a0 , a1 , a2 …an ,0,0…) Þ(t*a0 , t*a1 , t*a2 …t*an ,0,0…) (3)
і множення на многочлен xm (підвищення степеня многочлена на m)
(a0 , a1 , a2 …an ,0,0…) Þ(0,0..am , am+1 , an+m ,0,0.) (4)
--> ЧИТАТЬ ПОЛНОСТЬЮ <--