unit uTr3;

interface

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

type
  TForm1 = class(TForm)
    XEin: TEdit;
    YEin: TEdit;
    ErgebnisAus: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Summe: TButton;
    Differenz: TButton;
    Produkt: TButton;
    Quotient: TButton;
    Kehrwert: TButton;
    Quadrat: TButton;
    LogNat: TButton;
    Wurzel: TButton;
    Sinus: TButton;
    Cosinus: TButton;
    Fakultaet: TButton;
    XhochY: TButton;
    Logarithmus: TButton;
    ZehnHochX: TButton;
    EhochX: TButton;
    YWurzel: TButton;
    Betrag: TButton;
    Button18: TButton;
    Button19: TButton;
    procedure SummeClick(Sender: TObject);
    procedure DifferenzClick(Sender: TObject);
    procedure ProduktClick(Sender: TObject);
    procedure QuotientClick(Sender: TObject);
    procedure KehrwertClick(Sender: TObject);
    procedure QuadratClick(Sender: TObject);
    procedure LogNatClick(Sender: TObject);
    procedure WurzelClick(Sender: TObject);
    procedure SinusClick(Sender: TObject);
    procedure CosinusClick(Sender: TObject);
    procedure FakultaetClick(Sender: TObject);
    procedure EhochXClick(Sender: TObject);
    procedure ZehnHochXClick(Sender: TObject);
    procedure XhochYClick(Sender: TObject);
    procedure YWurzelClick(Sender: TObject);
    procedure BetragClick(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure LogarithmusClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.SummeClick(Sender: TObject);
var x, y, c : real;
begin
  x := strtofloat(XEin.text);
  y := strtofloat(YEin.text);
  c := x + y;
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.DifferenzClick(Sender: TObject);
var x, y, c : real;
begin
  x := strtofloat(XEin.text);
  y := strtofloat(YEin.text);
  c := x - y;
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.ProduktClick(Sender: TObject);
var x, y, c :real;
begin
  x := strtofloat(XEin.text);
  y := strtofloat(YEin.text);
  c := x * y;
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.QuotientClick(Sender: TObject);
var x, y, c :real;
begin
  x := strtofloat(XEin.text);
  y := strtofloat(YEin.text);
  c := x / y;
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.KehrwertClick(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := 1/x;
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.QuadratClick(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := sqr(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.LogNatClick(Sender: TObject);
var x, c :real;
begin
  x := strtofloat(XEin.text);
  c := ln(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.WurzelClick(Sender: TObject);
var x, c :real;
begin
  x := strtofloat(XEin.text);
  c := sqrt(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.SinusClick(Sender: TObject);
var x, c :real;
begin
  x := strtofloat(XEin.text);
  c := sin(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.CosinusClick(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := cos(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.FakultaetClick(Sender: TObject);
var x,i,c : integer;
begin
  x := strtoint(XEin.text);
  c := 1;
  for i := 1 to x do c := c*i ;
  ErgebnisAus.Text := inttostr(c);
end;

procedure TForm1.EhochXClick(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := exp(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.ZehnHochXClick(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := exp(x*ln(10));
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.XhochYClick(Sender: TObject);
var x, y, c : real;
begin
  x := strtofloat(XEin.text);
  y := strtofloat(YEin.text);
  c := exp(y*ln(x));
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.YWurzelClick(Sender: TObject);
var x, y, c : real;
begin
  x := strtofloat(XEin.text);
  y := strtofloat(XEin.text);
  c := exp((1/y)*ln(x));
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.BetragClick(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := abs(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.Button18Click(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := trunc(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.Button19Click(Sender: TObject);
var x, c : real;
begin
  x := strtofloat(XEin.text);
  c := frac(x);
  ErgebnisAus.Text := floattostr(c);
end;

procedure TForm1.LogarithmusClick(Sender: TObject);
var x, c : real ;
begin
  x := strtofloat(XEin.text);
  c := ln(x)/ln(10);
  ErgebnisAus.Text := floattostr(c);
end;

end.
