Главная » Файлы » Математика |
Численные методы
22.10.2008, 18:59 | |
program Project2; {$APPTYPE CONSOLE} uses SysUtils; const n=4; type mass=array[1..n-1] of real; mass2=array[2..n] of real; mass3=array[1..n] of real; var c:mass=(2,1,2); a:mass2=(3,5,2); b:mass3=(5,7,7,-2); d:mass3=(9,17,4,6); al:mass; x,beta:mass3; J:integer; procedure piton(a:mass2;b,d:mass3;c:mass;var al:mass;var x,beta:mass3); var i:integer; begin al[1]:=-c[1]/b[1]; beta[1]:=d[1]/b[1]; for i:=2 to n-1 do begin al[i]:=-c[i]/(al[i-1]*a[i] + b[i]); beta[i]:=(d[i]-beta[i-1]*a[i])/(al[i-1]*a[i]+b[i]); end; beta[n]:=(d[n]-beta[n-1]*a[n])/(al[n-1]*a[n]+b[n]); x[n]:=beta[n]; for i:=n-1 downto 2 do x[i]:=al[i]*x[i+1]+beta[i]; x[1]:=al[1]*x[2]+beta[1]; for i:=1 to n do writeln('x=(',x[i]:8:3,')'); end; begin { TODO -oUser -cConsole Main : Insert code here } for j := 2 to n-1 do if (abs(b[j])>=(abs(a[j])+abs(c[j]))) and ((abs(a[j])+abs(c[j]))>=abs(a[j])) and (abs(a[j])>0) and (abs(c[1]/b[1])<1) and(abs(a[n]/b[n])<=1) then piton(a,b,d,c,al,x,beta) else writeln('sistema ne imeet resheniy'); readln end. | |
Просмотров: 493 | Загрузок: 0 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |