Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!
Paste
Pasted as Plain Text by Елена ( 11 years ago )
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var input, output : text;
n : byte;
x, y : array of real;
A, B : real;
yy, h, al, bt, Ai, Bi, Ci, F : array of real;
i : byte;
begin
SetConsoleCP( 1251 );
SetConsoleOutputCP( 1251 );
//---çàñòàâêà---//
writeln ('Çàäàíèå ¹2');
writeln ('Âû÷èñëåíèå òàáëèöû 2-é ïðîèçâîäíîé ôóíêöèè');
writeln ('ñ ïîìîùüþ êóáè÷åñêèõ ñïëàéíîâ');
writeln;
writeln ('Âûïîëíèëà: Êóùåíêî Åëåíà');
writeln ('Ïðîâåðèëà: Øàáóíèíà Çîÿ Àëåêñàíäðîâíà');
//---íàçíà÷åíèå ôàéëîâ---//
assign (input, 'input.txt');
reset (input);
assign (output, 'output.txt');
rewrite (output);
//---ââîä äàííûõ èç ôàéëà---//
readln (input, n);
if n<2 then
begin
write (output, 'IER 1');
close (input);
close (output);
readln;
exit;
end;
//âåêòîð çíà÷åíèé àðãóìåíòà//
SetLength (x, n+1);
read (input, x[0]);
for i:=1 to n do
begin
read (input, x[i]);
//ïðîâåðêà âõîäíûõ äàííûõ//
if x[i]<=x[i-1] then
begin
write (output, 'IER 2');
close (input);
close (output);
readln;
exit;
end;
end;
//âåêòîð çíà÷åíèé ôóíêöèè//
SetLength (y, n+1);
for i:=0 to n do
read (input, y[i]);
//ãðàíèöû//
readln (input, A);
readln (input, B);
//---ââîä çàâåðøåí---//
//---âû÷èñëåíèå øàãà---//
SetLength (h, n);
for i:=1 to n do
h[i]:=x[i]-x[i-1];
//---ïîèñê êîýôôèöèåíòîâ ìàòðèöû---//
SetLength (Ai, n+1);
SetLength (Bi, n+1);
SetLength (Ci, n+1);
SetLength (F, n+1);
Ai[0]:=0;
Ai[n]:=0;
Bi[0]:=0;
Bi[n]:=0;
F[0]:=A;
F[n]:=B;
ci[0]:=1;
ci[n]:=1;
for i:=1 to n-1 do
begin
ai[i]:=h[i];
writeln (ai[i]);
bi[i]:=h[i+1];
writeln (bi[i]);
ci[i]:=2*(h[i]+h[i+1]);
writeln (ci[i]);
writeln (y[i]);
writeln (y[i-1]);
writeln (y[i+1]);
readln;
F[i]:=3*((y[i]-y[i-1])/h[i]+(y[i+1]-y[i])/h[i+1]);
readln;
writeln (f[i]);
readln;
end;
//---ìåòîä òðåõòî÷å÷íîé ïðîãîíêè---//
{SetLength (Al, n-1);
SetLength (Bt, n-1);
//---ïðÿìîé õîä---//
al[1]:=0;
bt[1]:=A;
for i:=2 to n-1 do
begin
al[i+1]:=-bi[i]/(ci[i]+ai[i]*al[i]);
bt[i+1]:=(-ai[i]*bt[i]+F[i])/(ci[i]+ai[i]*al[i]);
end;
//---îáðàòíûé õîä---//
SetLength (yy, n+1);
yy[0]:=A;
yy[n]:=B;
for i:=n-1 to 1 do
yy[i]:=al[i+1]+yy[i+1]+bt[i+1];
//---//
for i:=0 to n do
write (output, x[i]:6:3, ' ');
writeln;
for i:=0 to n do
write (output, yy[i]:6:3, ' ');
writeln (output, 'IER 0'); }
close (input);
close (output);
readln;
readln;
end.
Revise this Paste