Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PDF / ZEIDEL

.pdf
Скачиваний:
40
Добавлен:
07.01.2014
Размер:
31.71 Кб
Скачать

1: program ZEIDEL; 2:

3:const

4:maxn=10;

5:

6:type

7:matrix = array [1..maxn,1..maxn] of real;

8:vector = array [1..maxn] of real;

9:

10:procedure gauss_zeidel (N: integer; var A: matrix; var B,X: vector; E: real);

11:var

12:m,em:real;

13:i,j:integer;

14:x0:vector;

15:begin

16:repeat

17:x0:=x;

18:for i:=1 to n do

19:begin

20:m:=b[i];

21:for j:=1 to n do

22:if j<>i then m:=m-a[i,j]*x[j];

23:x[i]:=m/a[i,i]

24:end;

25:em:=abs(x[1]-x0[1]);

26:for j:=2 to n do

27:if abs(x[i]-x0[i])>em then em:=abs(x[i]-x0[i]);

28:until em<=e;

29:end;

30:

31:var

32:ns,i,j:integer;

33:err:real;

34:as:matrix;

35:xs,bs:vector;

37:begin

38:WriteLn('-- Решение СЛАУ методом Гаусса-Зейделя --');

39:Write(' Порядок СЛАУ : ');

40:ReadLn(ns);

41:for i:=1 to ns do

42:for j:=1 to ns do

43:begin

44:Write(' Введите : A(',i,',',j,') = ');

45:ReadLn(as[i,j]);

46:end;

47:for j:=1 to ns do

48:begin

49:Write(' Введите : B(',j,') = ');

50:ReadLn(bs[j]);

51:end;

52:Write(' Введите абсолютную погрешность вычисления корней : ');

53:ReadLn(err);

54:gauss_zeidel(ns,as,bs,xs,err);

55:for j:=1 to ns do

56:WriteLn(' Решение : X(',j,') = ',xs[j]:3:0);

57:ReadLn;

58:END.

59:

60:

61:

62:

63:

64:

Соседние файлы в папке PDF