ФЭА / АИТ / Лабораторная работа №5 Вариант №4 Задание: 4x1+2x2+3x3=-2 2x1+8x2-1x3=8 9x1+1x2+9x3=0
(автор - student, добавлено - 25-01-2014, 17:13)
СКАЧАТЬ:
Лабораторная работа №5 Вариант №4
Задание: 4x1+2x2+3x3=-2 2x1+8x2-1x3=8 9x1+1x2+9x3=0 Решить систему линейных алгебраических уравнений методом Гаусса. Исходный код: program Gaussa5; Uses CRT; Label m1,m2,m3,m4,m5; Const n=3; Var a,p1:array[1..n,1..n] of real; b,p2:array[1..n] of real; x:array[1..n] of real; i,j,k:integer; s,c:real; begin clrscr; {Ввод коэффициентов перед х-ами} a[1,1]:=4; a[1,2]:=2; a[1,3]:=3; a[2,1]:=2; a[2,2]:=8; a[2,3]:=-1; a[3,1]:=9; a[3,2]:=1; a[3,3]:=9; {Ввод коэффициентов в левой части равенства} b[1]:=-2; b[2]:=8; b[3]:=0;
{Для проверки} For i:=1 to n do for j:=1 to n do p1[i,j]:=a[i,j]; For i:=1 to n do p2[i]:=b[i];
{Вывод введенного в программу массива коэффициентов} For i:=1 to n do begin for j:=1 to n do Write (a[i,j]:1:1,' '); Writeln; end; Writeln;
{Тело} {Вычитаем последовательно строки} k:=1; m1: i:=k+1; m2: c:=a[i,k]/a[k,k]; a[i,k]:=0; j:=k+1; m3: a[i,j]:=a[i,j]-c*a[k,j]; If j<n then begin j:=j+1; goto m3; end; b[i]:=b[i]-c*b[k]; If i<n then begin i:=i+1; goto m2; end; If k<(n-1) then begin k:=k+1; goto m1; end;
{Находим последний корень} x[n]:=b[n]/a[n,n];
{Ищем остальные корни} i:=n-1; m5: j:=i+1; s:=0; m4: s:=s+a[i,j]*x[j]; If j<n then begin j:=j+1; goto m4; end; x[i]:=(b[i]-s)/a[i,i]; If i>1 then begin i:=i-1; goto m5; end;
{Вывод полученного массива корней} For i:=1 to n do WriteLN('x[',i,']=',x[i]:3:4,' '); Writeln;
{Вывод полученных коэффициентов} For i:=1 to n do begin for j:=1 to n do Write (a[i,j]:1:3,' '); Writeln; end; Writeln; {Проверка} For i:=1 to n do begin s:=0; for j:=1 to n do begin s:=s+p1[i,j]*x[j]; Write ('(',p1[i,j]:1:1,'*',x[j]:3:4,')'); if j<>n then Write ('+'); end; Write ('-(',p2[i]:3:4,') = ',(s-p2[i]):3:8); Writeln; end; ReadLN; end.
Результат работы программы:
Получили следующие корни: x1=-9.5; x2=4.5; x3=9;
Похожие статьи:
|
|