![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Задача на массивы [D7, XP]
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 - вещественные числа.
Зарание благодарен Вам за помошь.
Virgo_Style (2006-11-24 17:52:00) [21]Shell (24.11.06 17:28) [31]
код не работает
какой?
Shell (2006-11-24 17:28:00) [22]Пожалуйста люди помогите, код не работает а именно не могу возвести в степень
Shell (2006-11-24 17:28:00) [23]Пожалуйста люди помогите, код не работает а именно не могу возвести в степень
Lazy_Coder (2006-11-23 19:18:00) [24]Да-а... Зря только время потратил, мастера млин.
Не знаете сами, так и говорите сразу.
Lazy_Coder (2006-11-23 15:23:00) [25]
> > Люди, а как насчёт моего вопроса(про DataSet)? Мне всё
> ещё
> > интересно узнать ваше мнение.
>
> А ссылку привести религия не позволяет
А что же так резко-то?
Есть ведь вещи, которые для наших "религий" общие, VCL например.
И Midas, кстати, тоже. Ещё не известно, какая "религия" , была раньше (т.е. на чём вышеуказанные библиотеки написаны.). А может, Delphi -это секта :-)
Кстати, раньше я программировал только на Delphi(Ну, ещё на Basic,Fortan,Asm)- пока не стал изучать С/C++.
Anatoly Podgoretsky (2006-11-23 13:26:00) [26]
> Люди, а как насчёт моего вопроса(про DataSet)? Мне всё ещё
> интересно узнать ваше мнение.
А ссылку привести религия не позволяет.
Lazy_Coder (2006-11-23 13:21:00) [27]В степень можно возвести так:
x^n=exp(n*ln(x));
exp - экспонента
ln - натуральный логарифм
по - моему в они доступны по-умолчанию, если нет - можно нажать <Ctrl+F1>, при этом выделить слово - в справке указан модуль.
Можно и так:
function power(var x:real,var a:integer):real
var ret:real;
begin
ret:=1;
for i:=1 to a do ret:=ret*x;
power:=ret; {Не помню точно, как идет возврат значения... По-моему, так.}
end;
Потом в проге вызываешь
a=x^n как a=power(x,n);
Люди, а как насчёт моего вопроса(про DataSet)? Мне всё ещё интересно узнать ваше мнение.
Jeer (2006-11-23 12:52:00) [28]
> Shell (23.11.06 12:10) [21]
x^2 == x*x
x^3 == x*x*x
...
Anatoly Podgoretsky (2006-11-23 12:42:00) [29]Можно, через логорифмы. Спроси у учителя.
Shell (2006-11-23 12:38:00) [30]В паскале нет math;
Можно ли обойтись без него?
isasa (2006-11-23 12:19:00) [31]^ - это от Бейсика. :)
uses math;
...
power (...)
Shell (2006-11-23 12:10:00) [32]Спасибо за алгоритм, но вот маленькая проблема Паскаль не знает знак степени "^"
p:=p+an*x^(i-1);
Как это исправить?
Lazy_Coder (2006-11-23 11:27:00) [33]На трезвую голову посмотрел, а ведь в программе ошибка. Икс то один на всех !
Таким образом, прога в Паскале будет выглядеть так:
program polynome;
uses crt;
var i,num:integer;
var p,x,an:real;
var a:array of real[1..21];
begin
clrscr;
write("Type maximun power(less or equal 20):");
readln(num);
writeln("Please enter coefficients");
for i:=1 to num+1 do
begin
write("Power :",i-1," >");
readln(an);
a[i]:=an;
end;
write("Type x:");
readln(x);
p:=0
for i:=1 to num+1 do
begin
an=a[i];
p:=p+an*x^(i-1);
end;
writeln("Result:",p);
repeat until keypressed;
end.
Я мог где- нибудь ошибиться, но в целом прога должна работать.
Думкин (2006-11-23 11:18:00) [34]
> palva © (23.11.06 10:24) [16]
Поискал про схему. Я немного иное имел в виду - вычислительную схему Горнера, она как раз коррелирует с сабжем. при чем полностью.
Как же соотносятся с сабжем ваши слова - не понимаю.
Думкин (2006-11-23 11:09:00) [35]Но возник вопрос - как связана схема Горнера и теорема Безу?
Думкин (2006-11-23 11:07:00) [36]
> palva © (23.11.06 10:24) [16]
Я же написал, что согласен. К чему ваш пост? То что вы описали, называется теорема Безу.
palva (2006-11-23 10:24:00) [37]Думкин © (23.11.06 06:23) [15]
Если f делить на (x - a) то остаток и будет равен искомому f(a).
Деление многочленов столбиком, кстати, проходят в школах (возможно, некоторых?). В нашей сельской школе мы проходили. Правда было это давненько.
Думкин (2006-11-23 06:23:00) [38]
> > palva © (23.11.06 00:08) [11]
Извиняюсь, поспешил. Горнер причем. Спутался. :)
Думкин (2006-11-23 06:20:00) [39]
> ProgRAMmer Dimonych © (23.11.06 00:11) [12]
Вы хотели сказать "не возвышать". Не оговаривайтесь так больше.
> palva © (23.11.06 00:08) [11]
Причем тут Горнер? Горнер тут совсем ни при чем.
> Shell (22.11.06 19:16)
Раз проходили, значит это ДЗ. Делай его сам или приставай к учителю.
Anatoly Podgoretsky (2006-11-23 00:17:00) [40]> palva (23.11.2006 0:08:11) [11]
Про многочлены говоришь, тогда тебе в другую ветку :-)