亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? haupt.pas

?? 用高斯方法計算線性方程組的值
?? PAS
字號:
unit Haupt;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Spin;

const
  MAX_DIM = 100;

type
  THaupt_Form = class(TForm)
    LGS_Label: TLabel;
    AnzVariablen_Label: TLabel;
    AnzVars_SpinEdit: TSpinEdit;
    Loesen_Button: TButton;
    Laden_Button: TButton;
    OpenDialog: TOpenDialog;
    procedure AnzVars_SpinEditChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Loesen_ButtonClick(Sender: TObject);
    procedure Laden_ButtonClick(Sender: TObject);
  private
    { Private-Deklarationen }
    VarEdits: Array[1..MAX_DIM] of Array[1..MAX_DIM] of TEdit;
    ResEdits: Array[1..MAX_DIM] of TEdit;
    VarLabels: Array[1..MAX_DIM] of TLabel;
    ResLabels: Array[1..MAX_DIM] of TLabel;
    AnzVars: Integer;
    LastAnzVars: Integer;
  public
    { Public-Deklarationen }
  end;

var
  Haupt_Form: THaupt_Form;

type
  TGaussArray1 = Array[1..MAX_DIM] of Double;
  TGaussArray2 = Array[1..MAX_DIM] of TGaussArray1;

function Gauss( a: TGaussArray2; rechts: TGaussArray1; n: Integer ): TGaussArray1;

implementation
uses Ergebnis;

{$R *.DFM}

// CTOR
procedure THaupt_Form.FormCreate(Sender: TObject);
begin
  // Anzahl der Variablen vorgeben
  LastAnzVars:= 0;
  AnzVars:= 2;
  AnzVars_SpinEditChange( Self );
end;

// 腘DERN DER ANZAHL
procedure THaupt_Form.AnzVars_SpinEditChange(Sender: TObject);
var
  i, j: Integer;
  tabord: Integer; // Hilfsvariable f黵 Herstellung der TabOrder
begin
  AnzVars:= AnzVars_SpinEdit.Value;
  // Alle nicht-benutzten Komponenten l鰏chen
  for i:= 1 to LastAnzVars do
    begin
      // ...Variablen-Edits
      for j:= 1 to LastAnzVars do
        if ( i>AnzVars ) or ( j>AnzVars ) then
        VarEdits[i][j].Free( );
      // ...Ergebnis-Edits
      ResEdits[i].Free( );
      // ...Variablen-Labels
      if ( i > AnzVars ) then
        VarLabels[i].Free( );
      // ...Ergebnis-Label
      ResLabels[i].Free( );
    end;

  // Neue Komponenten anzeigen
  for i:= 1 to AnzVars do
    begin
      // ...Variablen-Felder
        for j:= 1 to AnzVars do
          if ( i>LastAnzVars ) or ( j>LastAnzVars ) then
            begin
              VarEdits[i][j]:= TEdit.Create( Self );
              VarEdits[i][j].Width:= 50;
              VarEdits[i][j].Left:= j*55-40;
              VarEdits[i][j].Top:= i*25+60;
              VarEdits[i][j].Text:= '0';
              VarEdits[i][j].Parent:= Self;
            end;
      // ...Variablen-Labels
      if ( i > LastAnzVars ) then
        begin
          VarLabels[i]:= TLabel.Create( Self );
          VarLabels[i].Left:= i*55-20;
          VarLabels[i].Top:= 70;
          VarLabels[i].Caption:= Chr(96+i);
          VarLabels[i].Parent:= Self;
        end;
      // ...Ergebnis-Felder
      ResEdits[i]:= TEdit.Create( Self );
      ResEdits[i].Width:= 50;
      ResEdits[i].Left:= AnzVars*55+30;
      ResEdits[i].Top:= i*25+60;
      ResEdits[i].Text:= '0';
      ResEdits[i].Parent:= Self;
      // ...Ergebnis-Label
      ResLabels[i]:= TLabel.Create( Self );
      ResLabels[i].Left:= AnzVars*55+17;
      ResLabels[i].Top:= i*25+63;
      ResLabels[i].Caption:= '=';
      ResLabels[i].Parent:= Self;

    end;

  // Tabulator-Reihenfolge wieder herstellen
  tabord:= 3;
  for i:= 1 to AnzVars do
    begin
      for j:= 1 to AnzVars do
        begin
          VarEdits[i][j].TabOrder:= tabord;
          inc(tabord);
        end;
      ResEdits[i].TabOrder:= tabord;
      inc(tabord);
    end;

  LastAnzVars:= AnzVars;
end;

// L諷EN
procedure THaupt_Form.Loesen_ButtonClick(Sender: TObject);
var
  a: TGaussArray2;
  rechts: TGaussArray1;
  erg: TGaussArray1;
  i, j: Integer;
begin
  try
    // Linke H鋖fte in Array speichern
    for i:= 1 to AnzVars do
      for j:= 1 to AnzVars do
        try
          a[i][j]:= StrToFloat( VarEdits[i][j].Text );
        except
          ActiveControl:= VarEdits[i][j];
          raise Exception.Create('');
        end;
    // Rechte H鋖fte in Array speichern
    for i:= 1 to AnzVars do
      try
        rechts[i]:= StrToFloat( ResEdits[i].Text );
      except
        ActiveControl:= ResEdits[i];
        raise Exception.Create('');
      end;

    // LGS l鰏en
    try
      erg:= Gauss( a, rechts, AnzVars );

      // Ergebnis anzeigen
      Ergebnis_Form.Ergebnis_ListBox.Clear( );
      for i:= 1 to AnzVars do
        Ergebnis_Form.Ergebnis_ListBox.Items.Add( chr(96+i) + ' = ' + FloatToStr(erg[i]) );
      Ergebnis_Form.ShowModal( );

    except
      ShowMessage( 'Fehler:'+#13+
                   'Es gibt keine L鰏ung.'+#13+
                   'Oder: Mindestens eine Variable hat unendlich viele L鰏ungen.'+#13+
                   'Oder: Pr黤en Sie, ob die Gleichungen absteigend geordnet sind.' );
    end;

  except
    ShowMessage( 'Bitte Eingaben 黚erpr黤en' );
  end;
end;

// GAUSS
function Gauss( a: TGaussArray2; rechts: TGaussarray1; n: Integer ): TGaussArray1;
var
  i, j, k: Integer; // Schleifen-Variablen
  faktor: Double; // Aufl鰏ungsfaktor
  summe: Double; // Summe beim Aufrollen auf der linken Seite
begin
  // Dreieck bilden
  for i:= 2 to n do // Stufen
    for j:= n downto i do // Gleichungen von unten nach oben
      begin
        // Pr黤en, ob Koeffizent Null ist
        if ( a[j][i-1] = 0.0 ) then // Division durch Null vermeiden
          Continue; // Gl點k gehabt, Koeffizent ist bereits Null

        // Letzt-vorhandene Variable durch Vorg鋘ger aufl鰏en
        faktor:= - a[j-1][i-1] / a[j][i-1];

        // Gleichungen addieren und in aktueller Gleichung speichern
        for k:= i to n do
          a[j][k]:=   faktor*a[j][k]   + a[j-1][k];
          rechts[j]:= faktor*rechts[j] + rechts[j-1];
        // muss nicht addiert werden, da sowie so Null
        a[j][i-1]:= 0.0;
      end;

  // Aufrollen
  for i:= n downto 1 do // von unten nach oben
    begin
      // Summe der bekannten Gr鲞en auf der linken Seite bilden
      summe:= 0.0;
      for j:= n downto i+1 do // Variablen einsetzen
        summe:= summe + a[i][j]*result[j];

      // Summe auf die rechte Seite bringen
      summe:= rechts[i] - summe;

      // Variable ermitteln
      result[i]:= summe / a[i][i];
    end;
end;

// LADEN
procedure THaupt_Form.Laden_ButtonClick(Sender: TObject);
var
  f: TextFile;
  s: String;
  i, j: Integer;
begin
  if OpenDialog.Execute( ) then
    begin
      AssignFile( f, OpenDialog.Filename );
      Reset( f );
      try
        ReadLn( f, s );
        AnzVars_SpinEdit.Value:= StrToInt( s );
        if AnzVars > 26 then raise Exception.Create( '' );
        for i:= 1 to AnzVars do
          begin
            for j:= 1 to AnzVars do
              begin
                ReadLn( f, s );
                VarEdits[i][j].Text:= s;
              end;
            ReadLn( f, s );
            ResEdits[i].Text:= s;
          end;
            
      except
        ShowMessage('Fehler');
      end;
      CloseFile( f );
    end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频一区三区九区| 最新不卡av在线| 视频一区视频二区在线观看| 色欧美片视频在线观看| 综合在线观看色| 色婷婷久久一区二区三区麻豆| 精品国产乱码久久久久久闺蜜| 日韩国产一区二| 欧美一区二区性放荡片| 午夜激情一区二区三区| 欧美丝袜自拍制服另类| 亚洲二区视频在线| 日韩欧美一二三| 国产一区二区中文字幕| 国产欧美日本一区视频| av成人动漫在线观看| 亚洲人成网站在线| 91久久精品一区二区三区| 亚洲色图视频网| 欧美人与z0zoxxxx视频| 精品一二线国产| 精品少妇一区二区三区视频免付费 | 亚洲天堂中文字幕| 欧美日本在线播放| 黑人精品欧美一区二区蜜桃 | 九九精品一区二区| 国产精品初高中害羞小美女文| 99久久亚洲一区二区三区青草| 亚洲午夜精品17c| 久久亚区不卡日本| 91福利在线导航| 激情综合色综合久久综合| 欧美激情一区不卡| 欧美一级久久久| 91视频一区二区三区| 国产精品18久久久久久久久 | 日本丶国产丶欧美色综合| 捆绑变态av一区二区三区| 18欧美亚洲精品| 精品国精品国产尤物美女| www.视频一区| 另类小说视频一区二区| 亚洲一区二区三区中文字幕 | 国产区在线观看成人精品 | www国产成人| 欧美老肥妇做.爰bbww| 成人听书哪个软件好| 九九视频精品免费| 亚洲成a人片综合在线| 亚洲激情校园春色| 国产精品资源在线看| 国产成人免费高清| 怡红院av一区二区三区| 精品国产第一区二区三区观看体验| 色av成人天堂桃色av| 91在线免费看| 欧美特级限制片免费在线观看| 91国在线观看| 9191国产精品| 久久亚洲二区三区| 欧美国产日韩亚洲一区| 中文字幕日韩精品一区| 日韩一区在线播放| 亚洲一区二区不卡免费| 蜜臀av在线播放一区二区三区 | 2023国产精品| 国产精品第一页第二页第三页| 毛片av一区二区| 日本不卡高清视频| 美女国产一区二区| 麻豆精品精品国产自在97香蕉| 久久国产精品99精品国产| 一区二区三区精品在线| 亚洲gay无套男同| 狠狠色狠狠色综合日日91app| 成人的网站免费观看| 91福利精品第一导航| 欧美成人三级电影在线| 日韩av在线播放中文字幕| 青娱乐精品在线视频| 狠狠狠色丁香婷婷综合久久五月| www.亚洲色图| 欧美一区午夜视频在线观看| 国产精品不卡在线| 狠狠色狠狠色综合日日91app| 色网站国产精品| 国产视频一区在线播放| 亚洲一区二区三区激情| 黄页视频在线91| 日韩欧美中文字幕制服| 亚洲成a人v欧美综合天堂下载 | 日韩码欧中文字| 99国产精品久久久久久久久久 | 亚洲麻豆国产自偷在线| 风间由美一区二区三区在线观看| 精品人伦一区二区色婷婷| 日韩一区欧美二区| 欧美最新大片在线看| 亚洲欧洲另类国产综合| 激情欧美日韩一区二区| 久久精品一区二区三区四区| 久久se这里有精品| 欧美精品一区二区三区四区 | 欧美一级日韩一级| 日韩电影免费在线看| 9人人澡人人爽人人精品| 国产精品久久久久久久久免费桃花 | 日韩一级视频免费观看在线| 午夜欧美大尺度福利影院在线看| 91丨九色丨蝌蚪丨老版| 自拍偷自拍亚洲精品播放| 日本乱人伦一区| 一区二区三区欧美日韩| www.激情成人| 亚洲高清久久久| 久久夜色精品一区| 一本到三区不卡视频| 日韩激情中文字幕| 国产精品久久久久毛片软件| 日本精品视频一区二区三区| 麻豆久久久久久久| 久久综合久色欧美综合狠狠| 91麻豆自制传媒国产之光| 日韩av午夜在线观看| 国产欧美一区二区精品性| 91福利在线观看| 亚洲mv在线观看| 国产欧美一区二区精品性| 欧美视频一区二区三区在线观看| 国产精品一级片在线观看| 一区二区三区中文字幕| 日韩一区二区在线看| 成人激情黄色小说| 国产一区不卡在线| 日日夜夜一区二区| 一区二区三区日韩欧美精品| 久久久精品tv| 欧美mv日韩mv| 日韩欧美国产电影| 7777精品伊人久久久大香线蕉 | 99国产精品久| 国产成人在线视频免费播放| 国产一区二区三区在线观看免费视频 | 欧美激情在线看| 精品国产污污免费网站入口| 色综合网色综合| 色婷婷综合久色| 色系网站成人免费| 欧美午夜片在线看| 欧美日韩一区二区三区免费看| 国产传媒久久文化传媒| 久久99精品久久久久久| 裸体一区二区三区| 蜜桃传媒麻豆第一区在线观看| 久久精品国产澳门| 国产成人夜色高潮福利影视| 国产乱码精品一区二区三区av| 日本怡春院一区二区| 视频一区在线播放| 久久精品国产精品青草| 黄色日韩三级电影| caoporn国产精品| 欧美伊人久久大香线蕉综合69| 精品视频在线看| 日韩精品一区二区三区中文不卡| 欧美mv日韩mv国产网站app| 欧美一级免费观看| 国产夜色精品一区二区av| 日本一区二区三区在线不卡| 亚洲一线二线三线视频| 麻豆精品国产91久久久久久| 久久精品国产精品亚洲综合| 风间由美一区二区三区在线观看| 91豆麻精品91久久久久久| 欧美精品vⅰdeose4hd| 国产欧美精品一区二区三区四区| 亚洲一区二区视频| 国产成人h网站| 欧美高清dvd| 国产精品嫩草影院av蜜臀| 久久精品99国产精品日本| 色综合天天综合色综合av| 欧美一级黄色大片| 亚洲视频免费看| 激情五月婷婷综合网| 欧美一三区三区四区免费在线看| 综合久久久久综合| 国模娜娜一区二区三区| 91国产免费看| 夜色激情一区二区| 97精品视频在线观看自产线路二| 久久综合九色综合久久久精品综合 | 亚洲一区二区在线视频| 色综合色综合色综合色综合色综合| 久久影院电视剧免费观看| 久久精品国产精品亚洲精品| 91精品国产美女浴室洗澡无遮挡| 亚洲国产婷婷综合在线精品| 色婷婷精品大在线视频| 亚洲男人的天堂在线观看|