Контрольная работа: Виконання символьних операцій з многочленами
* procedure suma (a, b:poli; var c:poli); (знаходження суми двох многочленів)
* procedure nsuma (a:maspoli; n:integer; var c:poli); (знаходження суми n многочленів)
* procedure dobchy (a:poli; r:real; var c:poli); (добуток многочлена на скаляр)
* procedure pidvst (a:poli; n:integer; var c:poli); (підвищення степеня многочлена на n одиниць)
* procedure dobutok (a, b:poli; var c:poli); (знаходження добутку двох многочленів)
* procedure ndobutok (a:maspoli; n:integer; var c:poli); (знаходження добутку n многочленів)
* procedure mpoli (a:poli; m:integer; var c:poli); (знаходження m‑го степеня многочлена)
* procedure polipoli (a, b:poli; var c:poli); (знаходження многочлена від многочлена)
* procedure dilen (a, b:poli; var c, c1:poli); (знаходження частки і остачі від ділення двох многочленів)
* procedure dyfer (a:poli; var b:poli); (знаходження похідної від многочлена)
* procedure integ (a:poli; var b:poli); (знаходження невизначеного інтеграла від многочлена)
Тексти процедур та функцій містяться в розділі IMPLEMENTATION.
Головним файлом пакету є файл kurs.pas. Його текст приведений в додатку 1.
В цьому файлі конструюються вже описані змінні zero i od. Тут же реалізований інтерфейс користувача, який розроблений у вигляді меню. Управління роботою пакету здійснюється через ввід числа, яке відповідає одному із запропонованих режимів роботи. До складу файлу входить директива компілятора $M, яка збільшує розмір стеку до максимально можливого.
5. Виконання контрольного прикладу
Додавання многочленiв
Доданки
4.00x^ 2+ 3.00x
2.00x^ 4–1.00x^ 3+ 3.00x^ 2+ 4.50x+ 5.00
4.00x^ 3–1.00x^ 2+ 0.40x
Результат
2.00x^ 4+ 3.00x^ 3+ 6.00x^ 2+ 7.90x+ 5.00
Множення многочленiв
Множники
2.00x^ 3–1.00x^ 2+ 2.00x+ 1.00
1.00x^ 2+ 1.00
-1.00x^ 2+ 0.50x+ 0.50
Результат
-2.00x^ 7+ 2.00x^ 6–3.50x^ 5+ 1.50x^ 4+ 1.50x+ 0.50
пiднесення многочлена до степеня