Einzelnen Beitrag anzeigen

Kanikkl

Registriert seit: 11. Okt 2009
Ort: Soest
10 Beiträge
 
#1

Zahlen mit Nachkommastellen erweitern...

  Alt 11. Okt 2009, 04:23
Ich habe eine Frage bezüglich von Nachkommastellen und deren Erweiterungen. Bei der simplen Aufgabe einen Taschenrechner zu gestalten, nur mit Hilfe von Addition und Subtraktion. Und zwar bin ich mittlerweile bei der Division angelangt, die ziemlich viel Zeit in Anspruch genommen hat. Mein Divisionscode sieht folgendermaßen aus:

Delphi-Quellcode:
function krechnungen.dividieren(x,y: extended): extended;
var
temp,ergebnis :extended;
i: integer;
begin
  temp:=x;
  ergebnis:=0;
  repeat
    temp:=self.subtrahieren(temp,y);
    ergebnis:=ergebnis+1;
  until (temp=0) or (temp<0) or (temp<y);
for i:=1 to 10 do
begin
  if temp>0 then
  begin
  temp:=self.multiplizieren(temp,10);
  repeat
    temp:=self.subtrahieren(temp,y);
    ergebnis:=ergebnis+0.1;
  until (temp=0) or (temp<0) or (temp<y);
  end;
end;
result:=ergebnis;
end;
Und jetzt will ich mit Hilfe der Schleife for i:=1 to 10 do... die Kommazahl in Zeile "ergebnis:=ergebnis+0.1;..." mit jedem Durchgang um eine Stelle verringern. Und zwar würde i dann für die Kommastelle stehen. Z.b. bei i=1 0.1, i=2 0.01, i=3 0.001 usw.

Bitte flamed mich nicht zu, wenn das die kompliziertere Variante ist, aber es ist 5 Uhr morgens und da denkt man nicht so simpel xD

Ich will einfach nur noch schlafen und mich morgen um die Quadrate und Wurzeln kümmern xDDD Und weiß einer, wie ich hinkriege, dass möglichst gering gerundet wird? DANKE !!!
  Mit Zitat antworten Zitat