Помощь - Поиск - Пользователи - Календарь
Полная версия: Многочлен
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
NoRToN
Дано:коэффициенты многочлена, начиная со старшей степени(включая нулевые коэффициенты);начальные и конечные значения переменных ; величина шага её изменения.
Задание: вывести таблицу значений многочлена.
volvo
NoRToN
По-моему, так:
Код
uses crt;
var
 i,j,n: longint;
 p, s: double;
 x, xs, xf, xstep: double;
 coeffs: array[0 .. 100] of double;

begin
 clrscr;
 write('Input x start ');readln(xs);
 write('Input x finish '); readln(xf);
 write('Input x step '); readln(xstep);
 write('Input n (stepen) ');readln(n);
 for i := n downto 0 do
   begin
     write('input coeff[', i, '] > ');
     readln(coeffs[i]);
   end;

 writeln('x':10, 's':10);
 writeln;
 x := xs;
 while x <= xf + xstep do
   begin
     s := 0;
     for i := n downto 0 do
       begin
         p := coeffs[i]; j := i;
         while j > 0 do
           begin
             p := p * x; dec(j)
           end;
         s := s + p
       end;
     writeln(x:10:5, s:10:5);
     x := x + xstep;
   end;
 readln;
end.
Altair
а так циклов меньше smile.gif
Код

{$N+} {$E+}
Const
MaxStep=100;
Type
TELEM=Double;
var
koeff:array[0..MaxStep] of TELEM;
x,Xs,Xf,xstep:TElem;
N,i:longint;
Result:Telem;
begin
write('Input x start ');readln(xs);
write('Input x finish '); readln(xf);
write('Input x step '); readln(xstep);
write('Input n (stepen) ');readln(N);
For i:=N DownTo 0 do
begin
 write('input coeff[',i,']: '); readln(koeff[i])
end;
x:=xs;
while x<=xf do
begin
 Result:=0;
 For i:=N DownTo 0 do Result:=result+koeff[i]*Exp(i*ln(x));
 writeln(i:10, result:10); x:=x+xstep
end
end.

volvo, если у Нортона не стоит в натсройках компилятора эмуляция сопроцессора, у него ошибка будет smile.gif
лучше так:
{$N+} {$E+}
:P :P
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.