Приветствую Вас, Гость
Главная » Файлы » Математика

Численные методы
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.

Категория: Математика | Добавил: MT
Просмотров: 493 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]