Entwickler-Ecke
Sonstiges (Delphi) - An alle Delphi-Programmierer
tetley - Do 11.11.04 10:36
Titel: An alle Delphi-Programmierer
Hallo zusammen,
Eins Vorweg, ich habe so gut wie nichts mit Delphi zu tun.
Ich programmiere derzeit ein Projekt in Visual-Basic, nun stand ich vor einem Problem mit einer Formel für eine Fahrzeitenberechnung eines Browserspiels.
Schließlich fand ich ein OpenSource Projekt welche genau diese Funktion hat, im Quelltext nachgeschaut stieß ich auf folgende relevanten Zeilen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| if ziel > start then begin laenge := ziel - start; if ziel - start < 10 then laenge := ziel - start else laenge := laenge mod 10 + laenge div 10; end; if ziel < start then begin laenge := start - ziel; if start - ziel < 10 then laenge := start - ziel else laenge := laenge mod 10 + laenge div 10; end; |
Alles soweit verständlich, nur weiß ich nicht welche Funktionen die Befehle "mod" und "div" haben, aber genau diese Zeile brauch ich - als mathematische Formel :)
Ich war mir nicht sicher ob das Variablen sind oder feste Befehle, habe aber nichts mehr diesbezüglich gefunden.
Wäre sehr dankbar um Hilfe!
MfG,
Steffen
Moderiert von
UGrohne: Delphi-Tags hinzugefügt.
bms - Do 11.11.04 10:53
Schön, daß du hier im Delphi-Forum ein Aufruf an alle Delphi-Programmierer losschikst. Ja, es könnten auch paar VB Programmierer hier sein.
Dein Titel ist so daneben, daß du wahrscheinlich eine Mitteilung von den Modereatoren kriegst und sich etliche Leute aufregen werden, weil der Titel nichstaussagend ist. Wurde er so klingen:
Hilfe. Was ist bitteschön MOD oder DIV in Delphi?
Ja, damit könnte man leben. Dann würdes du sofort die Antwort kriegen, daß es zwei matematische Operatoren sind.
tetley - Do 11.11.04 11:17
hui.. wofür man heutzutage alles einen Anmotzer bekommen kann :D
mat. Operatoren?
unter div könnt ich mir ja noch was vorstellen aber zu mod fällt mir gerade keine Idee ein.
Ich werd mal googlen, hoffe aber auch hier ne Antwort zu bekommen, danke :wink:
Edit:
Ok hab rausgefunden
div = Integerdivision
mod = Rest (also nur die nachkommazahl ist wichtig)
Moderiert von
Udontknow: Beiträge zusammengefasst.
Udontknow - Do 11.11.04 11:45
Hallo!
Ändere bitte den Titel, der ist wirklich nicht sehr aussagekräftig. :wink: Einfach den ersten Beitrag editieren. Danke.
Cu,
Udontknow
Pille - Do 11.11.04 13:42
| tetley hat folgendes geschrieben: |
mod = Rest (also nur die nachkommazahl ist wichtig)
|
mod steht für Modulo, Ganzzahliger Rest einer Division.
Pille
heinze - Do 11.11.04 14:22
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| i,i2:integer; . . . i:=7; i2:=i div 3 i2:=i mod 3 |
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
Sprint - Do 11.11.04 14:23
Titel: Re: An alle Delphi-Programmierer
| tetley hat folgendes geschrieben: |
| Alles soweit verständlich, nur weiß ich nicht welche Funktionen die Befehle "mod" und "div" haben, aber genau diese Zeile brauch ich |
Delphi: mod
VB: Mod
Delphi: div
VB: \
Hoffe das reicht als Antwort.
minnime - Do 11.11.04 15:00
Kann es sein dass der dargestellte Algo auch nicht ganz super ist, ich meine das geht auch einfacher:
Delphi-Quelltext
1: 2: 3:
| if ziel > start then laenge := ziel - start else laenge := start - ziel; |
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
Tino - Do 11.11.04 15:05
@tetley: Nochmal, ändere bitte Deinen Titel um. Warum, weshalb und wie hat dir Udontknow bereits geschrieben!
MartinPb - Do 11.11.04 15:49
DIV ist die Integerdivision.
7 / 2 ergibt 3,5
7 div 2 ergibt 3
Der Nachkommawert wird bei DIV nicht nur ignoriert, sondern die ganze Berechnung wird zu einer Integerberechnung, die ein Integerwert lefert. Du kannst nicht
Delphi-Quelltext
1: 2: 3: 4:
| var i: Integer; begin i := 7 / 3; |
nehmen, weil i ein Integer ist. Du mußt also DIV nehmen.
MOD ist Modulo.
7 mod 2 ergibt 1 weil
7 - ((7 div 2) * 2) eben 1 ergibt.
45 mod 6 ergibt 3 weil
45 - ((45 div 6) * 6) eben 3 ergibt.
Wenn man 45 div 6 oder 45 / 6 berechnet, dann liefert 45 div 6 keine Nachkommawerte. Allerdings gibt es bei dieser Berechnung Verluste, weil 45 div 6 Ergebnis 7 liefert und 42 div 6 auch Ergebnis 7 liefert. MOD gibt also den Verlust (oder Restwert) einer eventuellen DIV Berechnung, also die Summe die bei der DIV Berechnung nicht beachtet wird, weil es Nachkommawerte liefern würde.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!