Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Dividieren but ohne Zahlen nach dam Komma und ohne Runden ?! (https://www.delphipraxis.net/97750-dividieren-but-ohne-zahlen-nach-dam-komma-und-ohne-runden.html)

Apollo777 15. Aug 2007 14:12


Dividieren but ohne Zahlen nach dam Komma und ohne Runden ?!
 
Ich bin dabei eine art Rechentrainer zuprogrammieren, so als Einsteigerprojekt, doch komme jetzt bei der Division nicht weiter!!!
Ich habe ja die Aufgabe mit "random" also, das er nach frei Schnute die Zahlen einsetzt, doch mit dem befehl "div" muss ich ja das Rundungsergebnis als Ergebnis eingeben oder mit dem anderem Befehl mit kommastellen ABER ich will das genaue Ergebnis !!! OHNE !!!! Zahlen nach dem Komma (also wie z.b. 10 / 5 = 2 und NICHT wie jetzt 11 / 5 = 2 -klar gibt es jetzt auch solche Aufgaben, die genau aufgehen aber ich will nur Aufgaben, die genau aufgehen- )!
Kann man da irgendwas machen, dass es ohne runden geht ???
Wär cool, wen das jemand wüsste!
Ich bin nämlich nur noch am Verzweifeln :wall: und ich würde gerne mal wieder schön weitermachen. :coder:

Wer kann mich belehren ?! :warn:

THX schonmal im Vorraus ! :hi:

Die Muhkuh 15. Aug 2007 14:14

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
Delphi-Quellcode:
var
  Zahl1, Zahl2, Ergebnis: Single;
begin
  Zahl1 := 15;
  Zahl2 := 6;
  Ergebnis := Zahl1 / Zahl2;
  ShowMessage(FloatToStr(Ergebnis));
end;

jim_raynor 15. Aug 2007 14:27

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
Zum Beispiel so:

Delphi-Quellcode:
Zahl1:=random(4)+2;
Zahl2:=round(random(20)/Zahl1)*Zahl1;
Dies würde dir immer zwei Zahlen zurückliefern, die korrekt teilbar sind.
Natürlich kannst das das durch beliebig hohe zufallszahlen ersetzen.

SirThornberry 15. Aug 2007 14:37

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
da die division das gegenstück der multiplikation ist wäre wie bereits gezeigt das einfachste einfach 2 ganzzahlen miteinander zu multiplizieren um den Dividenten zu errechnen. Divisor und Quotient wären dann die beiden Faktoren welche du miteinander multipliziert hast.

Apollo777 15. Aug 2007 14:47

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
jor ok aber was ist mit der 0 ?
durch null ist ja bekantlich nicht teilbar!
oder hab ich da jetzt wieder was falsch gemacht?

SirThornberry 15. Aug 2007 14:52

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
da nicht durch 0 teilbar ist muss einer der beiden Faktoren (welcher später der Quotient ist) immer >= 1 sein
Delphi-Quellcode:
Quotient := Random(MaxQuotient + 1);
Divisor := Random(MaxDivisor) + 1;
Divident := Quotient * Divisor;

mkinzler 15. Aug 2007 14:53

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
U.U. musst du natürlich vorher überprüfen, ob der Divisor nicht 0 ist. Kann aber im Beispiel nicht geschehen.

Apollo777 15. Aug 2007 15:04

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
OK wenn wir jetzt das beispiel haben:
Delphi-Quellcode:
Quotient := Random(MaxQuotient + 1);
Divisor := Random(MaxDivisor) + 1;
Divident := Quotient * Divisor;
wie mach ich darus jetzt wieder den wert, der ohne runden fürs ergebnis geschieht.
Also ich nicht wieder sowas bekomme: 11/5 = 2 (hier wär ja dnn noch rest)

Codewalker 15. Aug 2007 15:13

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
Damit die Forumsuche das hier auch wiederfindet, wäre ein fehlerfreier Duden-kompatibler Titel ganz nett :angel2:

Apollo777 15. Aug 2007 15:15

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
ÜPS :freak:

Apollo777 15. Aug 2007 15:16

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
Nochmal:
Delphi-Quellcode:
Zahl1:=random(4)+2;
Zahl2:=round(random(20)/Zahl1)*Zahl1;
das ist ja schon mal sehr gut.
Aber hier ist ja dann immernoch ein Problem mit der 0 !
Soll ich das dann einfach mit einer if... bedingung wiederholen, wenn quotient =0?

Apollo777 15. Aug 2007 15:20

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
HIHI wo ändere ich noch mal den titel bin ja grad erst hier reingestolpert?!

Martin K 15. Aug 2007 15:27

Re: Dividiren aber ohne nach dam Komma und auch ohne Runden
 
Zitat:

Zitat von Apollo777
Nochmal:
Delphi-Quellcode:
Zahl1:=random(4)+2;
Zahl2:=round(random(20)/Zahl1)*Zahl1;
das ist ja schon mal sehr gut.
Aber hier ist ja dann immernoch ein Problem mit der 0 !
Soll ich das dann einfach mit einer if... bedingung wiederholen, wenn quotient =0?

-> Nimm einfach den Code aus Beitrag #6 bzw. #8, da kann der Divisor erst gar nicht null werden und bei der Division kann auch kein Rest entstehen!
zur Erinnerung: Divident div Divisor = Quotient

Zitat:

Zitat von Apollo777
HIHI wo ändere ich noch mal den titel bin ja grad erst hier reingestolpert?!

Editiere deinen ersten Beitrag und ändere dort den Titel
:wink:

DP-Maintenance 15. Aug 2007 15:30

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Geht schon irgendwie um Delphi, nech? ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 Uhr.

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