Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Zinseszins-Berechnung (https://www.delphipraxis.net/187618-zinseszins-berechnung.html)

timbou 15. Dez 2015 10:53

Zinseszins-Berechnung
 
Hallo,

ich schreibe am Donnerstag eine Kursarbeit in Informatik. Leider fehlt mein Lehrer meistens bzw. erklärt uns nichts, weshalb ich nun nicht weiß, was an folgenden Programmen falsch ist. Vielen Dank, sollte sich einer erbarmen und die Fehler korrigieren.

Aufgabe war: "Schreibe ein Programm, das bei Eingabe von Startkapital, Zinssatz, Zielkapital die Laufzeit einer Anlage (von Geld) ausgibt. Formuliere das Programm mit While und Repeat."

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
   x := StrToFloat(Edit1.Text);
   Zinssatz := StrToFloat(Edit2.Text);
   Zielkapital := StrToFloat(Edit3.text);
  repeat
    X := X * (Zinssatz/100*1);
    Memo1.Lines.Add(FloatToStr(x));
  until X >= Zielkapital;

 Laufzeit := Memo1.Lines.Count;





end;

vagtler 15. Dez 2015 10:56

AW: Was ist falsch?
 
Erstens ist das kein Programm (nur ein Ausschnitt) und wieso glaubst Du, dass es falsch ist?

timbou 15. Dez 2015 11:01

AW: Was ist falsch?
 
Habe nur noch die ganzen Variablen als Real definiert (außer Laufzeit, das mit Integer).

In der Memo spuckt mir das Programm nur ganz viele Nullen aus...

Daniel 15. Dez 2015 11:02

AW: Was ist falsch?
 
Moin,

sei bitte so gut und gib Deinem Beitrag einen aussagekräftigen Titel. ;-)
(Den Stand jetzt ist wenigstens der falsch)

Allgemein hat sich bei diesen Problemen bewährt, die Lösung "umgangssprachlich" zu formulieren und zwar so konkret, dass Du anhand dieser Beschreibung mit Stift und Papier zur korrekten Lösung kommen würdest. Danach weiß man i.A. sehr fix, was im Programm falsch läuft.

timbou 15. Dez 2015 11:04

AW: Was ist falsch?
 
Hi,

entschuldigung, aber wo ändert man den Titel? Habe nichts finden können.

Über so einen Lösungsansatz wäre ich noch glücklicher...

Bambini 15. Dez 2015 11:05

AW: Was ist falsch?
 
Zitat:

Zitat von timbou (Beitrag 1324502)
Code:
    X := X * (Zinssatz/100*1);

Sollte sich das Startkapital nicht um den Wert Zinswert erhöhen?
Besser wäre:
Code:
    X := X * (Zinssatz/100 + 1);

timbou 15. Dez 2015 11:13

AW: Was ist falsch?
 
Leichsinnsfehler :cry: Aber vielen vielen Dank!

gammatester 15. Dez 2015 11:19

AW: Zinseszins-Berechnung
 
Du benutzt kein
Delphi-Quellcode:
while
, also ist die Aufgabe nicht richtig beantwortet.

timbou 15. Dez 2015 11:45

AW: Zinseszins-Berechnung
 
Ich verstehe allerdings nicht, was für einen Mehrwert das bringen soll, bzw. wie man dort noch while einbinden soll.
Ich hätte jetzt noch geschrieben:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
   x := StrToFloat(Edit1.Text);
   Zinssatz := StrToFloat(Edit2.Text);
   Zielkapital := StrToFloat(Edit3.text);

   while (x< Zielkapital) do
        begin
        repeat
              X := X * (Zinssatz/100 + 1);
              Memo1.Lines.Add(FloatToStr(x));
        until X >= Zielkapital;

        end;


 Laufzeit := Memo1.Lines.Count;
 Button1.Caption:= IntToStr(Laufzeit) + ' Monate';
Aber das ginge ja auch ohne While-Schleife? Beziehungsweise mit ner einfachen If...then-Struktur

Daniel 15. Dez 2015 11:49

AW: Zinseszins-Berechnung
 
Unser Lehrer damals hatte uns eine ähnliche Aufgabe gestellt und wollte dabei auf den Unterschied zwischen "while" und "repeat" hinaus. Wir sollten damals eine Lösung tatsächlich auf verschiedene Arten implementieren.
Hier nun einen Weg finden zu wollen, der auf Teufel komm raus beide Schleifen-Typen in ein und demselben Code-Schnipsel berücksichtigt, hielte ich für wenig hilfreich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz