Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
Пермский национальный исследовательский политехнический университет
Лысьвенский филиал
Курсовая работа
по дисциплине ПРОГРАММИРОВАНИЕ
тема: Действия с многочленами с целыми коэффициентами
Студентки Головковой Е.В. ___________
(подпись)
Группа ИВТ-11-1
Шифр 11-03
Преподаватель: Шестаков А.П.
г. Лысьва, 2012
Оглавление
Оглавление 2
Введение
Как известно, многочлены – хорошо изученная тема в математике. Напомню, какое выражение называется многочленом. В математике многочлены (или полиномы) от одной переменной − это выражения вида c0+c1x+c2x2∙∙∙+cnxn, где ci − фиксированные коэффициенты, аx – переменная.
Над многочленами можно выполнять следующие действия:
сложение и вычитание многочленов
умножение одночлена на многочлен
умножение многочленов
разложение многочлена на множители.
Мне была поставлена следующая задача:
Реализовать в виде класса набор подпрограмм для выполнения операций с многочленами от одной переменной (первый многочлен степени m, второй - степени n):
сложение;
вычитание;
умножение;
деление с остатком;
операции отношения (равно, не равно);
возведение в натуральную степень k;
вычисление производной от многочлена;
вычисление значения в точке x0.
Данная работа состоит из двух глав. В первой главе описаны основные сведения из теории многочленов, краткие теоретические сведения о классах и перегрузке операций, а во второй главе даётся описание методики решения поставленной задачи в среде программирования С++.
Глава I. Предварительные сведения
§ 1.1. Из теории многочленов
В этом параграфе рассмотрим операции с многочленами, которые будут использоваться нами в дальнейшем для реализации подпрограмм.
Сложение (вычитание) многочленов. Для того чтобы сложить (вычесть) два многочлена, надо соединить их знаком + или −, используя правило раскрытия скобок, привести подобные члены.
Пример 1. (3x2+3x−2)+(7x2−6x+5)=3x2+3x−2+7x2−6x+5=10x2−3x+3
Пример 2. (3x2+3x−2)−(7x2−6x+5)=3x2+3x−2−7x2+6x−5=−4x2+9x−7
Умножение одночлена на многочлен. Для того чтобы умножить одночлен на многочлен, надо каждый член многочлена умножить на этот одночлен и полученные одночлены сложить.
Пример 3. (3x5+2x4−4x3+5x)∙ (2x)=6x6+4x5−8x4+10x2
Умножение многочлена на многочлен. Для того чтобы умножить многочлен на многочлен, надо каждый член одного многочлена умножить каждый член другого многочлена и полученные одночлены сложить.
Пример 4. (2−3x)∙ (2x−3)=4x−6−6x2+9x=−6x2+13x−6
Деление многочлена на многочлен с остатком. В алгебре деление многочленов столбиком — алгоритм деления многочлена f(x) на многочлен g(x) , степень которого меньше или равна степени многочлена f(x). Алгоритм представляет собой обобщенную форму деления чисел столбиком, легко реализуемую вручную.
Для любых многочленов f(x) и g(x), g(x)≠0, существуют единственные полиномы q(x) и r(x), такие что
причем r(x)имеет более низкую степень, чем g(x) .
Целью алгоритма деления многочленов в столбик является нахождение частного q(x) и остатка r(x) для заданных делимого f(x) и ненулевого делителя g(x).
Покажем, что
Частное и остаток от деления могут быть найдены в ходе выполнения следующих шагов:
1. Делим первый элемент делимого на старший элемент делителя, помещаем результат под чертой .
2. Умножаем делитель на полученный выше результат деления (на первый элемент частного). Записываем результат под первыми двумя элементами делимого .
3. Вычитаем полученный после умножения многочлен из делимого, записываем результат под чертой.
4. Повторяем предыдущие шаги, используя в качестве делимого многочлен, записанный под чертой.
5. Повторяем шаг 4.
6. Конец алгоритма.
Таким образом, многочлен q(x) = — частное деления, аr(x)=— остаток.