Скачиваний:
25
Добавлен:
09.12.2013
Размер:
1.57 Кб
Скачать
Program rasch_n6;
const h=0.1; nu=3.14159265359;
x_a=0; x_b=1;
n=round((x_b-x_a)/h);
t_a=0; t_b=1;
var fout: text;
u: array [0..n, 0..n] of real;
i,k:integer;
x,t:real;

function f(x_:real):real;
begin
f:=x_*(2*x_-0.5);
end;

function p(x_:real):real;
begin
p:=cos(2*x_);
end;

function q(t_:real):real;
begin
q:=t_*t_;
end;

function g(t_:real):real;
begin
g:=1.5;
end;


{----------------------------------------------}
begin
assign(fout, 'r6_out.txt');
rewrite(fout);
{подсчет значений в граничных узлах}
{k=0}
for i:=0 to n do
begin
x:=x_a+i*h;
u[i,0]:=f(x);
end;
{i=0}
for k:=0 to n do
begin
t:=t_a+k*h;
u[0,k]:=q(t);
end;
{i=10}
for k:=0 to n do
begin
t:=t_a+k*h;
u[10,k]:=g(t);
end;
{подсчет значений функции в строках - k=1..9}
{для k=1 - посчитаем из начального условия}
for i:=1 to 9 do
begin
x:=x_a+i*h;
u[i,1]:=u[i,0]+p(x);
end;
{для k=2..10}
for k:=2 to 10 do
for i:=1 to 9 do u[i,k]:=u[i+1,k-1]+u[i-1,k-1]-u[i,k-2];
{вывод в файл}
writeln(fout, 'U[i,k]','i':40);
write(fout, ' ');
for i:=0 to 10 do write(fout, i:8); writeln(fout);
for k:=0 to 10 do
begin
if k=5 then write(fout,'k ')
else write(fout,' ');
write(fout, k:2);
for i:=0 to 10 do write(fout, u[i,k]:8:3);
writeln(fout);
end;
close(fout);
end.
Соседние файлы в папке VAR49~1
  • #
    09.12.20137.25 Кб246.EXE
  • #
    09.12.20131.57 Кб256.pas
  • #
    09.12.20131.19 Кб25R6_OUT.TXT
  • #
    09.12.201370.44 Кб25ЗАD8D0~1.MCD
  • #
    09.12.2013166.46 Кб24ЗАD8D4~1.MCD
  • #
    09.12.201340.9 Кб25ЗАДАНИ~1.MCD
  • #
    09.12.201351.16 Кб24ЗАДАНИ~2.MCD