Динамические переменные. Free Pascal
Помогите, пожалуйста, создать программу.
Многочлен P(x) = a0 + a1 x + a2 x2 + ... + an xn с целыми коэффициентами представьте в динамической памяти. При этом, если ai=0, то соответствующий член не включать в память. Создайте подходящий тип данных и определите следующие процедуры и функции для работы с такими многочленами: процедуру PRINT(P, S), которая выводит P как многочлен от переменной, равной коду символьной переменной S. |
у тип памяти мне кажется уместно будет использовать byte, т.к. работаем с памятью.
Ну у меня наклевывается 2 варианта, даже 3. хотя даже 4 арифметическая прогрессия геометрическая прогрессия факториал (либо двойной факториал) Из выш.мата. - Ряды... Двойной факториал числа n обозначается n!! и определяется как произведение всех натуральных чисел в отрезке [1,n], имеющих ту же чётность что и n. Таким образом, (2k)!! = 2*4*6*8 и т.п. (2k+1)!! = 1*3*5*7 и т.п. По определению полагают 0!! = 1. |
Нашла на просторах интернета похожую задачу:
Многочлен P(x) = a0 + a1 x + a2 x2 + ... + an xn. Q(x)=b0 + b1 x + b2 x2 + ... + bn xn с целыми коэффициентами представьте в динамической памяти. При этом, если ai=0, bi=0 то соответствующий член не включать в память. процедуру RAZ(P, Q, R), которая строит многочлен R, как разность многочленов Q и P. Код:
program din; |
Цитата:
Для коэффициентов определим тип массива целочисленный Integer, он допускает как положительные, так и отрицательные и нулевые значения. Для хранения членов многочлена используем тип longint, он позволяет использовать достаточно большие значения при вычислениях. Цитата:
|
Начало можно взять из найденного вами листинга, удалив из него лишние многочлены
Цитата:
Код:
program din; |
Я что-то тут намудрила, исправьте пожалуйста.
Код:
program din; |
Мда, действительно, намудрила :))
|
Цитата:
Ну а вот что я "намудрил". Хотя честно предупреждал - в динамических размещениях я, по большому счету "не копенгаген" :D. А потому вот это требование: "При этом, если ai=0, то соответствующий член не включать в память" выше моего разумения - тут надо вводить "обратные связи", перелопачивать адресацию и пр. Нет уж, увольте. Ну а так, без этого, вроде работает: Код:
{$R-} |
Спасибо!!!
|
Владимир, я все-таки думаю, что моя расшифровка задачи не вполне корректна, скорее всего надо вывести не результат вычисления полинома, а его самого, естественно, со всеми коэффициентами, а в качестве аргумента надо выводить символ, хранящийся в переменной S.
|
Часовой пояс GMT +4, время: 04:11. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.