All pastes #1032315 Raw Edit

Vasya Egolaev

public text v1 · immutable
#1032315 ·published 2008-05-28 17:35 UTC
rendered paste body
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Math;

procedure qwe;
begin

 WriteLn('');
 WriteLn(' ');
 WriteLn;
end;
procedure FindXY;
const
  x1 : array [1..4] of Real = (1,1,2,1);
  x2 : array [1..4] of Real = (-1,1,0.5,0.5);
var
  i, j, k, u : byte;
  q, n, m, r, s : integer;
  a          : array [1..2, 1..2] of Real;
  b, x, f    : array [1..2] of Real;
  xx, e, h   : Real;

procedure Func;
begin
  f[1] := tan(x[1]-x[2])-x[1]*x[2];
  f[2] := 0.7*x[1]*x[1]+2*x[2] - 1;
end;

begin
  n := 2;
  m := 1000;
  e := 1e-8;
  for u := 1 to 2 do
    begin
      x[1] := x1[u];
      x[2] := x2[u];
      s := 0;
      repeat
        Func;
        for i := 1 to n do
          b[i] := - f[i];
        for j := 1 to n do
          begin
            xx := x[j];
            h := e * abs(xx);
            x[j] := xx + h;
            Func;
            for i := 1 to n do
              a[i, j] := (f[i] + b[i]) / h;
            x[j] := xx;
          end;
        s := s + 1;
        if s = m + 1 then Exit;
        for i := 1 to n - 1 do
          for j := i + 1 to n do
            begin
              a[j, i] := - a[j, i] / a[i, i];
              for k := i + 1 to n do
                a[j, k] := a[j, k] + a[j, i] * a[i, k];
              b[j] := b[j] + a[j, i] * b[i];
            end;
        f[n] := b[n] / a[n, n];
        for i := n - 1 downto 1 do
          begin
            h := b[i];
            for j := i + 1 to n do
              h := h - f[j] * a[i, j];
            f[i] := h / a[i, i];
          end;
        r := 0;
        for i := 1 to n do

          begin
            x[i] := x[i] + f[i];
            if abs(f[i] / x[i]) > e then r := 1;
          end
      until r <> 1;
      WriteLn(' ', u,' x, y : ',x[1]:4:3, x[2]:8:3);


end;


   end;
ReadLn;
end