Wielomian Hermite'a - program
: 2 lis 2011, o 17:09
autor: natalamur
Bardzo proszę o pomoc.
Poniższy program wypisuje wielomian Hermite'a, ale nie wiem jak zrobić postać ogólną żeby policzyć pochodną.
???
Poniższy program wypisuje wielomian Hermite'a, ale nie wiem jak zrobić postać ogólną żeby policzyć pochodną.
???
Ukryta treść:
Kod: Zaznacz cały
program Hermite;
uses
Crt;
var
a,b,h,t: real;
n,i,j,k,l: integer;
v,x,w,y,z,c,d,e: array[0..1000] of real;
begin
ClrScr;
writeln('Podaj przedzial [a,b], a,b - rzeczywiste.');
write('a= ');
readln(a);
write('b= ');
readln(b);
while a>=b do
begin
writeln;
writeln('a ma byc mniejsze od b.');
write('a = ');
readln(a);
write('b = ');
readln(b);
end;
writeln;
writeln('Podaj n>= 1, naturalne.');
write('n= ');
readln(n);
while n<1 do
begin
writeln;
writeln('n musi byc wieksze od 1.');
write('n = ');
readln(n);
end;
writeln;
h:=(b-a)/n;
x[0]:=a;
x[n]:=b;
writeln('Dla podanego n wartosci wezlow wynosza:');
writeln('x_0 = ', x[0]:3:1);
for i:=1 to n-1 do
begin
x[i]:=a+i*h;
writeln('x_', i, ' = ', x[i]:3:1);
end;
writeln('x_', n, ' = ', x[n]:3:1);
writeln;
writeln('Podaj wartosci A_i');
for i:=0 to n do
begin
write('A_', i, ' = ');
readln(v[i]);
end;
writeln;
writeln('Podaj wartosci A_i-prim');
for i:=0 to n do
begin
write('A_', i, '-prim = ');
readln(z[i]);
end;
writeln;
for i:=0 to n do
begin
y[2*i]:=z[i];
y[2*i+1]:=(v[(2*i+1) div 2 + 1]-v[(2*i+1) div 2])/h;
end;
for i:=0 to 2*n do
w[i]:=y[i];
for i:=1 to 2*n do
for j:=2*n downto i do
w[j]:=(w[j]-w[j-1])/h;
writeln;
writeln('Wielomian w postaci Hermitea ma postac:');
write('H(x) = ', v[0]:3:1);
for i:=0 to 2*n do
begin
write('+', w[i]:3:1);
if i mod 2 = 0 then
begin
for j:=0 to (i div 2)-1 do
write('(x-', x[j]:3:1, ')^2');
write('(x-', x[i div 2]:3:1, ')');
end
else
for j:=0 to (i div 2) do
write('(x-', x[j]:3:1, ')^2');
end;
end.