Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Delphi Dividieren


sifi - Di 23.10.12 19:11
Titel: Delphi Dividieren
Hallo zusammen.
Wir haben die Aufgabe zwei zahlen zu dividieren.
meine beispielzahlen sind : 29:8
hier meine Datei..

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
var
  Form1: TForm1;
  divis, divid, X, zahl : Integer ;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
divid := StrToInt (edit1.text) ;
divis := StrToInt (edit2.text) ;
zahl := divid ;
X := 0 ;
while zahl < divid Do
begin
zahl := zahl - divis ;
X := X + 1 ;
end;

label1.caption := IntToStr(divid) + ' = ' + IntToStr(X) + ' * ' + IntToStr(divis) + ' + ' + IntToStr(Zahl) ;


end;
end.





...

jedoch bei der ausgabe wenn ich alles eingebe kommt 29 = 0*8+29
obwohl 29=3*8+5 erscheinen müsste..
wo ist mein fehler ???????????
bitte um schnelle hilfe !
SiFi

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt


Mathematiker - Di 23.10.12 19:28

Hallo und :welcome:
In Deinem Text ist ein logischer Widerspruch:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
zahl := divid ;
X := 0 ;
while zahl < divid Do   //Zahl ist niemals kleiner als divid, da zwei Zeilen darüber gleichgesetzt
begin
zahl := zahl - divis ;
X := X + 1 ;
end;

Ich vermute Du meinst:

Delphi-Quelltext
1:
2:
3:
4:
5:
   while divis < zahl Do
   begin
     zahl := zahl - divis ;
     X := X + 1 ;
   end;

Unabhängig davon musst Du die Rechnung nicht in einer Schleife durchführen.

Delphi-Quelltext
1:
   ganzteil:=divid div divis;                    

ergibt den ganzzahligen Anteil und

Delphi-Quelltext
1:
   rest:=divid mod divis;                    

den Rest.

Beste Grüße
Mathematiker


glotzer - Di 23.10.12 19:29

Hallo und :welcome:


Delphi-Quelltext
1:
Ausgabe = Zaehler div Nenner;                    


jetzt nurnoch einbauen ^^

edit: verdammt zu langsam xD