Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2013, 18:18   #1
AleSanchez
Новичок
Джуниор
 
Регистрация: 23.09.2013
Сообщений: 1
По умолчанию решение задачи Дирихле методом Гаусса-Зейделя на Паскале. Объяснить код программы

Ребят, помогите пожалуйста, завтра нужно преподавателю объяснить данную программу:
Это решение задачи Дирихле методом Гаусса-Зейделя, сам принцип я понимаю, но вот программный код вообще не шарю

Код:
Program lab2;
const n=20;
type matrix=array [0..n,0..n] of real;
var u,u0 :matrix;
i,j :integer;
s,eps,h,x,y :real;
begin
h:=1/n;
write('eps='); readln(eps);
for i:=1 to n-1 do
for j:=1 to n-1 do u0[i,j]:=0;
for j:=0 to n do
begin
y:=j*h;
u0[0,j]:=exp(y);
u0[n,j]:=exp(1+y);
end;

for i:=0 to n do
begin
x:=i*h;
u0[i,0]:=exp(x);
u0[i,n]:=exp(x+1);
end;

repeat
for i:=0 to n do
for j:=0 to n do
u[i,j]:=u0[i,j];


for i:=1 to n-1 do
begin
x:=i*h;
for j:=1 to n-1 do
begin
y:=j*h;
u[i,j]:=1/4*(u[i+1,j]+u[i-1,j]+u[i,j+1]+u[i,j-1]-2*exp(x+y)*sqr(h));
end;
end;

s:=0;
for i:=1 to n do
for j:=1 to n do
if s<abs(u[i,j]-u0[i,j]) then s:=abs(u[i,j]-u0[i,j]);
for i:=0 to n do
for j:=0 to n do u0[i,j]:=u[i,j];
until s<eps;

s:=0;
for i:=0 to n do
begin
x:=i*h;
for j:=0 to n do
begin
y:=j*h; if s<abs(u[i,j]-exp(x+y)) then s:=abs(u[i,j]-exp(x+y));
end;
end;
writeln ('s=',s);
readln
end.
Заранее спасибо!

________
1) Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.

2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.09.2013 в 19:28.
AleSanchez вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи в Паскале,исходный код и решение. vlad1cka Помощь студентам 1 18.09.2012 20:53
Решение СЛАУ методом Гаусса и методом Крамера. R1k1 Помощь студентам 0 24.03.2012 19:17
Решение СЛАУ методом Гаусса Денис999 Помощь студентам 2 27.11.2011 18:31
Решения СЛАУ методом Гаусса и Зейделя [ICQ] Помощь студентам 0 04.05.2010 20:51
Решение СЛАУ методом Зейделя на Delphi Кнопик Помощь студентам 2 01.11.2009 13:05