Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Задача на массивы [D7, XP]


Страницы:   1 2 3

Shell ©   (2006-11-22 19:16:00) 

Здравствуйте, подскажите пожалуйста как решить вот такую задачу:
Многочлен степени N задан своими коэффициентами an, an-1,  an-2, …, a2, a1, a0 (коэффициент ai стоит при x в степени i):
Вот формула многочлена: P{x}=AnXn+An-1Xn-1+...+A2X2+AX+A(Xn-степень, An-номер многочлена)
Помогите написать программу для вычисления P(x): число N, все коэффициенты и x вводятся с клавиатуры, N <= 20. Коэффициенты и x - вещественные числа.

Зарание благодарен Вам за помошь.


inkvizitor   (2006-11-28 14:03:00) [1]


> Shell   (26.11.06 12:50) [37]

рекурентную формулу найди сначала.
там проще будет.


Jeer   (2006-11-28 13:34:00) [2]


> Shell   (27.11.06 11:56) [46]
>
> >Схема Горнера и есть. Зря помогли. :(
> Cхема Горнера Нужна для нахождения X а не для суммы многочлена,
>  так что она не причём


Схема Горнера - это метод вычисления многочленов.
Pn(x) = ((((..  + A2)*x + A1)*x + A0

К методам же относятся метод произведений, интерполяционная схема Ньютона, методы Мотцкина - Белаги - Пана.


Думкин   (2006-11-28 13:23:00) [3]

> palva ©   (28.11.06 13:10) [49]

Тогда я просто упустил немного, а затем исправился. Впрочем, пустое.
Главное, что автору просто надо знать альнертнативную запись многочлена и эта запись известна как схема Горнера. По крайней мере мне. :)

Но тут уже говорят, что с ее помощью ищется некий странный Х, а вовсе не частное или произведение, а уже тем более не сумма многочлена. :)


palva   (2006-11-28 13:10:00) [4]


> Думкин ©   (23.11.06 11:18) [19]
> Как же соотносятся  с сабжем ваши слова - не понимаю.

Не заглядывал в ветку, поэтому не видел вашего вопроса. Когда я прочитал ваше [14], что схема Горнера не причем, я полез в Яндекс и увидел, что почти везде схема Горнера определяется как способ деления многочлена f(x) на одночлен x - a. Я подумал что вас (и многих, наверное, тоже) ввело в заблуждение именно это, поэтому привел соображение, которое оказалось формулировкой теоремы Безу.


Думкин   (2006-11-28 12:24:00) [5]


> Shell   (27.11.06 11:56) [46]

Что такое сумма многочлена?


TUser   (2006-11-28 12:18:00) [6]


> Shell   (27.11.06 11:56) [46]

Просто с вики ошибка Ж)


Shell   (2006-11-27 11:56:00) [7]

>Схема Горнера и есть. Зря помогли. :(
Cхема Горнера Нужна для нахождения X а не для суммы многочлена, так что она не причём


Sania   (2006-11-27 09:01:00) [8]

Если вводятся сперва X, а потом многочлен, то можно на ходу считать,
тогда для любого к-ва иксов прога будет считать "мгновенно" :)
Вроде так:
Program MN;
uses CRT;
var Res,x,C:Real;
i,count:integer;
Begin
WriteLN("X=");
// Можно массив иксов
ReadLN(x);
WriteLN("Введите степень");
ReadLN(Count);
WriteLN("Введите 1 коэф");
ReadLN(C);
RES=c;
for i=count-1 to downto 0 do
Begin
WriteLN("Введите ",i," коэф");
ReadLN(C);
// Можно массив X обрабатывать
Res:=Res*X+C;
End;
// Выводим
WriteLN(res);
ReadKey;
End.


Думкин   (2006-11-27 06:26:00) [9]

Схема Горнера и есть. Зря помогли. :(


TUser   (2006-11-27 05:44:00) [10]

result := A[n];
for i := n-1 downto 0 do begin
result = result * X
result = result + A[i]
end;


SergP   (2006-11-26 22:16:00) [11]


> [41] ShellX   (26.11.06 18:43)
> Не ну серьёзно помогите, я не думаю что эта задача очень
> сложная для Вас, а для меня она покачто не из лёгких.


Ну а думать тогда кто будеть?

Ладно... Скажем так: возведение в степень тебе нафик не нужно...
Так как такой код:

...
for i:=1 to num+1 do
begin
an=a[i];
p:=p+an*x^(i-1);
end;
...


Можно заменить таким:

...
k:=1;
for i:=1 to num+1 do
begin
an=a[i];
p:=p+an*k;
k:=k*x;
end;
...


ShellX   (2006-11-26 18:43:00) [12]

Не ну серьёзно помогите, я не думаю что эта задача очень сложная для Вас, а для меня она покачто не из лёгких.


Palladin   (2006-11-26 18:36:00) [13]

:) Умри достойно, как мужчина!


ShellX   (2006-11-26 17:58:00) [14]

Я всё таки не могу понятькак правильно будет выглядит прога, пожалуйста мастера помогите, мне очень нужна эта программа.Задание нужно сдать к среде, времени мало, пожалуйста помогите!


Anatoly Podgoretsky   (2006-11-26 16:55:00) [15]

> Shell  (26.11.2006 12:50:37)  [37]

Это си, первое умножение, а второе сложение.


Shell   (2006-11-26 12:50:00) [16]

result *= X
result += Ai
Я что то не пойму что значат знак + и *
И как это работает


Anatoly Podgoretsky   (2006-11-26 12:35:00) [17]

> Shell  (26.11.2006 12:29:35)  [35]

Это и есть пример, две последнии строчки перевести в Паскалевскую форму.


Shell   (2006-11-26 12:29:00) [18]

TUser ©
Можно чуть по подробнее а то я не могу понять.
Если можно то покажите пример,а то очень нужно сделать программу.


Shell   (2006-11-26 12:27:00) [19]

TUser ©
Можно чуть по подробнее а то я не могу понять.
Если можно то покажите пример


TUser   (2006-11-24 19:13:00) [20]

Алгоритм кого-то есть для этого.

result := An;
for i := n-1 downto 0 do
 result *= X
 result += Ai


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо