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:53
456

Zinsen - Lösung

Der manuell geschriebene Quelltext ist blau hervorgehoben.

unit mZinsen;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    edKapital: TLabeledEdit;
    edZinssatz: TLabeledEdit;
    edLaufzeit: TLabeledEdit;
    memJahre: TMemo;
    memZinsen: TMemo;
    memKapital: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    btOK: TButton;
    Chart1: TChart;
    Series1: TBarSeries;
    procedure btOKClick(Sender: TObject);
  private
    { Private-Deklarationen }
    function jahreszinsen(kapital, zinssatz: Real): Real;
    procedure loeschen;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.jahreszinsen(kapital, zinssatz: Real): Real;
begin
  jahreszinsen := kapital * zinssatz / 100;
end;

procedure TForm1.loeschen;
begin
  memJahre.Lines.Clear;
  memZinsen.Lines.Clear;
  memKapital.Lines.Clear;
  Series1.Clear          // für Balkendiagramm
end;

procedure TForm1.btOKClick(Sender: TObject);
var i, laufzeit: Integer;
    k, p, zins: Real;
begin
  loeschen;

  k := StrToFloat(edKapital.Text);
  p := StrToFloat(edZinssatz.Text);
  laufzeit := StrToInt(edLaufzeit.Text);

  for i:=1 to laufzeit do
  begin
    zins := jahreszinsen(k,p);
    k := k + zins;
    memJahre.Lines.Add(IntToStr(i));
    memZinsen.Lines.Add(FloatToStrF(zins, ffFixed, 10, 2));
    memKapital.Lines.Add(FloatToStrF(k, ffFixed, 10, 2));
    Series1.Add(k)        // für Balkendiagramm
  end;
end;

end.