Informatik Material Portal Portfolio Präsentation Grafik Tabellenkalkulation Informatik56 9 10 11 12 13 Messen, Steuern, Regeln Linux Theorie Didaktik Open Source Spiele Wettbewerbe Netzbetreuung intern Literatur Links Energie corewar UNIX/Linux
Pfad: Startseite / Fächer / Informatik
Autor: be
21.09.2005 10:51
552

Multiplikationstafel - Lösung

Der manuell geschriebene Quelltext ist blau hervorgehoben.

interface

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

type
  TForm1 = class(TForm)
    edZahl1: TEdit;
    Label1: TLabel;
    edZahl2: TEdit;
    btMal: TButton;
    edProdukt: TEdit;
    edZahl3: TEdit;
    btProdukte: TButton;
    memProdukte: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure btMalClick(Sender: TObject);
    procedure btProdukteClick(Sender: TObject);
  private
    { Private-Deklarationen }
    tafel: Array[1..10,1..10] of Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i,j: Integer;
begin
  for i:=1 to 10 do
    for j:=1 to 10 do
      tafel[i,j] := i*j;
end;

procedure TForm1.btMalClick(Sender: TObject);
var i,j, produkt: Integer;
begin
  i := StrToInt(edZahl1.Text);
  j := StrToInt(edZahl2.Text);
  produkt := tafel[i,j];
  edProdukt.Text := IntToStr(produkt);
end;

procedure TForm1.btProdukteClick(Sender: TObject);
var i,j, produkt: Integer;
begin
  memProdukte.Lines.Clear;
  produkt := StrToInt(edZahl3.Text);
  for i:=1 to 10 do
    for j:=1 to 10 do
      if tafel[i,j] = produkt then
        memProdukte.Lines.Add(IntToStr(i) + ' x ' + IntToStr(j));
end;

end.