Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zahlen vergleichen (https://www.delphipraxis.net/129774-zahlen-vergleichen.html)

Jean-Luc_Picard 25. Feb 2009 11:06


Zahlen vergleichen
 
Hallo zusammen,

ich bin der neue hier im Forum ;-)

Ich habe nach meiner Frage schon die Such funktion und einige Bereiche hier im Forum abgesucht aber so direkt leider nix gefunden.
Deshalb möchte ich direkt fragen ich hoffe das geht in Ordnung.

Ich arbeite mich gerade in Delphi ein, habe vorher viel in PHP,SQL, JavaScript etc. programmiert.
Ich habe schon ne menge Tutos durchgearbeitet und erstelle gerade mein erstes Programm. Bzw. bin kurz davor :-)

Jetzt stehe ich aber vor folgenden Problem. Mir fehlen einfach ein paar Kenntnisse:

Zitat:

Ich habe 2 Felder in meiner Form worin ich jeweils eine Zahl eintrage.
Jetzt generiere ich noch eine Zufallszahl im System.
Wie finde ich heraus welche der beiden Zahlen die ich über die Felder eingegeben habe, näher dran ist
an der Zufallszahl?
Gibt es da einen Befehl oder ähnliches?
Wäre echt super wenn es hier eine einfache und verständliche Lösung gibt.


Vielen Dank,


Gruß Picard

fkerber 25. Feb 2009 11:08

Re: Zahlen vergleichen
 
Hi!

Herzlich Willkommen in der DP.

Man könnte von beiden Zahlen den Abstand zur Zufallszahl berechnen und dann vergleichen, welcher der kleinere ist.

Du kannst also mal nach Delphi-Referenz durchsuchenabs schauen und brauchst dann noch ein if-Konstrukt...


Ciao, Frederic

Jens Hartmann 25. Feb 2009 11:30

Re: Zahlen vergleichen
 
Hallo,

du könntest, über eine if-Abfrage, prüfen lassen, ob Zahl 1 größer oder kleiner ist als die Zufallszahl und anschließend
den kleineren Wert vom größeren subtrahieren, das selbe dann mit der eingegeben Zahl 2 und zum Schluß vergleichst du einfach beide Ergebnisse.

in etwa so:

Delphi-Quellcode:

if Zahl1 >= Zufallszahl then
  Erg1 := Zahl1 - Zufallszahl
else
  Erg1 := Zufallszahl - Zahl1

if Zahl2 >= Zufallszahl then
  Erg2 := Zahl2 - Zufallszahl
else
  Erg2 := Zufallszahl - Zahl2

if Erg1 = Erg2 then
  Beide Gleich

if Erg1 > Erg2 then
  Irgendwas
else
  Irgendwas anderes

himitsu 25. Feb 2009 11:58

Re: Zahlen vergleichen
 
wie schon gesagt wurde kann man, über die mit ABS angepaßte Differenz, die Abstände schön vergleichen

Delphi-Quellcode:
Erg1 := Abs(Zahl1 - Zufallszahl);
Erg2 := Abs(Zahl2 - Zufallszahl);

if Erg1 = Erg2 then
  Beide Gleich
else
if Erg1 > Erg2 then
  Irgendwas
else
  Irgendwas anderes
Delphi-Quellcode:
if Abs(Zahl1 - Zufallszahl) < Abs(Zahl2 - Zufallszahl) then
  Zahl1_näher_an_Zufallszahl
else
  Zahl2_näher_an_Zufallszahl (oder beides gleich);
Delphi-Quellcode:
// wurde schon genannt
if Zahl1 >= Zufallszahl then
  Erg1 := Zahl1 - Zufallszahl
else
  Erg1 := Zufallszahl - Zahl1 

// über die Umkehrung (-)
if Zahl1 >= Zufallszahl then
  Erg1 := Zahl1 - Zufallszahl
else
  Erg1 := -(Zahl1 - Zufallszahl)

// ebenfalls Umkehrung (-)
Erg1 := Zahl1 - Zufallszahl
if Erg1 < 0 then Erg1 := -Erg1;

// und die Umkerhung via Abs vereinfacht
Erg1 := Abs(Zahl1 - Zufallszahl);

Jean-Luc_Picard 25. Feb 2009 12:16

Re: Zahlen vergleichen
 
Hallo,

tolles Forum: DANKE!

Ich werde es heute Abend gleich probieren und mein Programm anfangen.
Mal schauen wie weit ich komme. Ansonsten sehen wir uns hier wieder :-)

DANKE!!!


Gruß, Picard

Lisa.99 20. Feb 2017 07:25

AW: Zahlen vergleichen
 
Wäre es möglich auch mehrere Prozentzahlen in einer Schleife zu vergleichen?
Habe für jeden Buchstaben mehrere Zahlen (einmal aus dem Internet allgemeine Werte für verschiedene Sprachen und einmal die berechneten Werte).
Nun wollte ich den berechneten Wert mit den Werten für die einzelnen Sprachen vergleichen, um danach die Sprache zu bestimmen.
Leider weiß ich nicht so genau wo ich da Anfangen soll. Erstmal müsste ich ja die Datei, wo meine Zahlen der einzelnen Sprachen stehen irgendwie mit dem Programm verknüpfen oder?

mkinzler 20. Feb 2017 07:43

AW: Zahlen vergleichen
 
Zitat:

Zitat von Lisa.99 (Beitrag 1362108)
Wäre es möglich auch mehrere Prozentzahlen in einer Schleife zu vergleichen?

Grundsätzlich ja
Zitat:

Habe für jeden Buchstaben mehrere Zahlen (einmal aus dem Internet allgemeine Werte für verschiedene Sprachen und einmal die berechneten Werte).
Versteh ich nicht
Zitat:

Nun wollte ich den berechneten Wert mit den Werten für die einzelnen Sprachen vergleichen, um danach die Sprache zu bestimmen.
Leider weiß ich nicht so genau wo ich da Anfangen soll. Erstmal müsste ich ja die Datei, wo meine Zahlen der einzelnen Sprachen stehen irgendwie mit dem Programm verknüpfen oder?
Noch weniger

Lisa.99 20. Feb 2017 07:58

AW: Zahlen vergleichen
 
Also hatte vor anhand der Prozente, die ich für einzelne Buchstaben berechne aus einem Text, erkennen zu lassen, welche Sprache dieser Text hat.
Aus dem Internet habe ich mir Prozentzahlen einzelner Buchstaben aus verschiedenen Sprachen rausgesucht.
Im Enddeffekt wollte ich nun vergleichen z.B. Buchstabe A hat bei mir eine Prozentzahl von 20% (aus dem Text der eingegeben wurde berechnet).
Für die deutsche Sprache wäre für diesen Buchstaben die Häufigkeit bei 6,5% und für Englisch bei 8,2%. Nun wollte ich diese Zahlen halt vergleichen um dann eine Aussage treffen zu können, ob der Ausgangstext auf Deutsch oder Englisch geschrieben wurde.

Sherlock 20. Feb 2017 08:03

AW: Zahlen vergleichen
 
Diese Aussage ist aber recht wacklig für kurze Texte und dürfte je nach Art des Textes auch bei größerem Umfang falsch liegen. Medizinische Arbeiten zB tendieren zu einigen lateinischen Begriffen, die dann die Buchstabenhäufigkeiten verfälschen.

Sherlock

Ydobon 20. Feb 2017 08:47

AW: Zahlen vergleichen
 
Direkte Vergleiche werden nicht helfen, die vorgegebenen Prozente treffen sicher so gut wie nie zu. Eine Idee wäre eventuell:
1. Ermitteln der Häufigkeiten aller Buchstaben im zu testenden Text
2. für jeden Buchstaben die Abweichung vom betreffenden Tabellenwert für jede Sprache berechnen
3. Hoffen die Sprache mit der geringsten Gesamtabweichung (eventuell gewichtet) stimmt

Außerdem sollten Besonderheiten wie Umlaute, Diakritika usw. berücksichtigt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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