Вычислить значение многочлена n (энной) степени при заданном значении х.
Написать программу для следующих примеров:
1) Р(х) = 4*х*x*x*x*x – 7*x*x*x*x + 5* x*x*x -2*х + 1;
2) Р(х) = x*x*x*x*x*x – 4*x*x*x*x + x*x*x -2* x*x + 5;
3) Р(х) = x*x*x*x*x + x*x*x*x – 6* x*x*x– 14* x*x – 11*х – 3
При написании программы использовать следующий алгоритм:
Начало
далее
n, а0, а1 …, аn, х
далее
р: = а0
далее
i = 1
далее
i =< n
далее: если - , то p далее конец
если + , то р: = p*x +a[i] далее i : = i + 1 и возврат к i =< n
Вот так чтоли ???
Это для первого многочлена, для остальных просто формулу поменять и все.
Код
uses crt;
var x:extended;
function p(x:extended):extended;
begin
p:=4*exp(5*ln(x))-7*exp(4*ln(x))+5*exp(3*ln(x))-2*x+1;
end;
Begin
clrscr;
readln(x);
writeln(p(x):2:3);
readln;
end.
Цитата(Yaroslav @ 11.01.05 20:45)
Начало
далее
n, а0, а1 …, аn, х
далее
р: = а0
далее
i = 1
далее
i =< n
далее: если - , то p далее конец
если + , то р: = p*x +a[i] далее i : = i + 1 и возврат к i =< n
Вот это ваще не ясно

)
Цитата
Вот так чтоли ???
нет, не так.
Код
exp(5*ln(x))
нельзя это

потому что
Цитата
Задачи на простые циклы, цикл for
т.е. без возведения в степень чтоли надо ?
Даже если и так, то причем тут цикл ?? Ведь нужно просто получить значение монгочлена...
ИЗВИНЯЮСЬ, ступил )) мне просто показалось что тут 2 задания.
Цитата(klem4 @ 11.01.05 21:48)
т.е. без возведения в степень чтоли надо ?
Даже если и так, то причем тут цикл ?? Ведь нужно просто получить значение монгочлена...
Спасибо большое! Но могли бы вы решить эти задачки через переменные, которые даны в алгоритме решения задачи,просто мы ещё не проходили функции!
Yaroslav
То, что задание должно быть решено без помощи функций должно оговариваться заранее
Цитата(Yaroslav @ 11.01.05 20:45)
Начало
далее
n, а0, а1 …, аn, х
далее
р: = а0
далее
i = 1
далее
i =< n
далее: если - , то p далее конец
если + , то р: = p*x +a[i] далее i : = i + 1 и возврат к i =< n
Дословно похоже на это :
Код
uses crt;
var
a : array[0..100] of integer;
i,n : integer;
x,p : extended;
Begin
clrscr;
write('Input x ');readln(x);
write('Input n ');readln(n);
for i:=0 to n do
readln(a[i]);
p:=a[0];
for i:=1 to n do
p:=p*x + a[i];
writeln(p:2:3);
readln;
end.
Объясните пожалуйста, как связано
это
Цитата
1) Р(х) = 4*х*x*x*x*x – 7*x*x*x*x + 5* x*x*x -2*х + 1;
2) Р(х) = x*x*x*x*x*x – 4*x*x*x*x + x*x*x -2* x*x + 5;
3) Р(х) = x*x*x*x*x + x*x*x*x – 6* x*x*x– 14* x*x – 11*х – 3
и это
Цитата
Начало
далее
n, а0, а1 …, аn, х
далее
р: = а0
далее
i = 1
далее
i =< n
далее: если - , то p далее конец
если + , то р: = p*x +a[i] далее i : = i + 1 и возврат к i =< n
Между собой ?
Цитата
первое-уравнения, второе- алгоритм их решения!
Цитата
Цитата
первое-уравнения, второе- алгоритм их решения!
Это вполне понятно из
Цитата
При написании программы использовать следующий алгоритм:
Но как решить эти уравнения с помощью этого алгоритма

? Меня именно это интересует...
то, что названо здесь алгоритмом, не является алгоритмом. Вот ответ на твой вопрос,
klem4.
;)
Алгоритм - последновательность
однозначных команд,
понятных исполнителю.
А то, что здесь:
Цитата
Начало
далее
n, а0, а1 …, аn, х
далее
р: = а0
далее
i = 1
далее
i =< n
далее: если - , то p далее конец
если + , то р: = p*x +a[i] далее i : = i + 1 и возврат к i =< n
явно не алгоритм.... ;)
Цитата(klem4 @ 12.01.05 10:11)
Дословно похоже на это :
Код
uses crt;
var
a : array[0..100] of integer;
i,n : integer;
x,p : extended;
Begin
clrscr;
write('Input x ');readln(x);
write('Input n ');readln(n);
for i:=0 to n do
readln(a[i]);
p:=a[0];
for i:=1 to n do
p:=p*x + a[i];
writeln(p:2:3);
readln;
end.
Извините, а какие данные я должен подставлять под x и y? Помогите, пожалуйста!
Цитата
Вычислить значение многочлена n (энной) степени при заданном значении х.
следовательно x и n вводится.
Цитата
write('Input x ');readln(x);
write('Input n ');readln(n);
Цитата
Извините, а какие данные я должен подставлять под x и y? Помогите, пожалуйста!
Что значит какие? Вот ваше задание:
Цитата
Вычислить значение многочлена n (энной) степени при заданном значении х.
Yaroslav
15.01.2005 20:12
Перерешайте пожалуйста заново эти формулы!Просто программа по данному мной алгоритму не работает! Но когда будете переделывать программу через цикл for, не используйте пожалуйста ln ! Помогите мне пожалуйста!
ок, итак:
Цитата
Написать программу для следующих примеров:
1) Р(х) = 4*х*x*x*x*x – 7*x*x*x*x + 5* x*x*x -2*х + 1;
2) Р(х) = x*x*x*x*x*x – 4*x*x*x*x + x*x*x -2* x*x + 5;
3) Р(х) = x*x*x*x*x + x*x*x*x – 6* x*x*x– 14* x*x – 11*х – 3
Код
uses crt;
var
a : array[0..100] of integer;
i,n : integer;
x,p : extended;
Begin
clrscr;
write('Input x ');readln(x);
write('Input n ');readln(n);
for i:=0 to n do
readln(a[i]);
p:=a[0];
for i:=1 to n do
p:=p*x + a[i];
writeln(p:2:3);
readln;
end.
для первого вводишь x- число X для которого надо вычислить значение многочлена.
и затем в цикле вводятся коээфициенты. ты вводишь для первго примера
Цитата
4
-7
5
-2
1
----------------------
для второго
Цитата
1
-4
1
-2
0
5
ясно??????
N для 1 и 3 равно 4, для
2 - равно 6. это степень многочелна
Oleg_Z
Ничего не получается!
Я делаю так:
на экране появляется input x, я ввожу данное мне в задании число 3.
дальше появляется input n, я ввожу 4 -7 5 -2 1 . После этого ничего не выходит на экран! Что я не так делаю?Пожалуйста помогите!Ответ для 1-ой задачи для x=3 должен быть равен 535.
Yaroslav, не нужно копировать сообщения полностью...
Во первых n не может быть равно (4 -7 5 -2 1), так как n - кол-во итераций цикла - 1. N - это целое неотр. число, например 2 или 45.
Yaroslav Единственное, что приходит в голову для вычисления этой последовательности:
Код
uses crt;
var
i,j,n, x,p,s : longint;
begin
clrscr;
write('Input x ');readln(x);
write('Input n ');readln(n);
for i:=n downto 0 do
begin
writeln('input a[', i, ']');
readln(p); j := i;
while j > 0 do
begin
p := p * x; dec(j)
end;
s := s + p
end;
writeln(s);
readln;
end.
Вводим (для первого задания):
Цитата
x=3; n=5;
a[5]=4; a[4]=-7; a[3]=5; a[2]=0; a[1]=-2; a[0]=1
Не забываем, что вводить надо ВСЕ коэффициенты последовательности (если соответствующего члена нет, то коэфф = 0)
Oleg_Z :P
Я написал программу как сделал Volvo. Но когда на экране было написано input a[i], я ввёл снизу вот так:
a[5]=4; a[4]=-7; a[3]=5; a[2]=0; a[1]=-2; a[0]=1
Но после того как я ввёл эту строку и нажал Enter, программа "вылетела" и на экране появилась надпись об ошибке: Invalid numeric format
Распишите мне пожалуйста как после запуска программы мне вводить все переменные!
Я написал программу как показал Volvo, всё было нормально пока я не дошел до input a[i]! Я ввёл их так в строку:
a[5]=4; a[4]=-7; a[3]=5; a[2]=0; a[1]=-2; a[0]=1
После этого я нажал Enter и программа "вылетела"! На экране появилось уведомление об ошибке :Invalid numeric format!
Cкажите пожалуйста как мне вводить все эти переменные!Каким образом??
ты что-то не то ввел.
вот скриншот экрана, смотри как я и что вводил:
Извините я-дурак!!! Я не ввёл запятые и поэтому программа не работала!Большое спасибо!!!!!!!!!!!!! :thanks:

:D :yes:
Большое спаибо все м кто помогал мне решить эту задачку!!! Я прсто не вводил кое-где запятые!!!
:D

:yes: :no: :rose: :thanks:
Цитата
Я прсто не вводил кое-где запятые!!!
можно поинтересоваться где?
вот тут надо делать так, как СДЕЛАЛ Volvo:writeln('input a[', i,']')
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.