LabVIEWForum.de
Größer, Kleiner UND Gleich - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Größer, Kleiner UND Gleich (/Thread-Groesser-Kleiner-UND-Gleich)

Seiten: 1 2


Größer, Kleiner UND Gleich - jan_1 - 06.07.2015 10:05

Hallo zusammen,

ich beschäftige mich seit gestern mit LabView und hangel mich da an ein paar Übungsaufgaben entlang, die leider ohne Lösungen sind Sad

Ich gebe immer 2 Zufallszahlen aus, vergleiche sie und wenn die erste Zahl größer ist bekommt Nr. 1 einen Punkt und wenn die zweite größer ist bekommen Nr. 2 einen Punkt. Das funktioniert auch soweit. Jezt möchte ich aber noch für den Fall, dass beide gleich sind einen Punkt oder eine aufleuchtende Lampe bei unentschieden geben. Jetzt stellt sich mir die Frage, wie ich beim Vergleichen, wo ja nur false oder true rauskommen kann, einen dritten Fall eintreten lassen kann...

Zum Verständnis der Berechnung: Es sollen Zahlen zwischen -0,5 und +0,5 generiert und dann verglichen werden.

Das hier habe ich soweit:


RE: Größer, Kleiner UND Gleich - jg - 06.07.2015 10:14

Pseudo-Code
Code:
IF a > b THEN
   INCREASE groesser
ELSE
   IF a < b
      INCREASE kleiner
   ELSE
      INCREASE gleich
Gruß, Jens

EDIT: Der Fall "=" wird aber, solange du nicht rundest, (so gut wie) nie auftreten.


RE: Größer, Kleiner UND Gleich - jan_1 - 06.07.2015 10:22

also den Code kann ich nachvollziehen, aber wo kann ich den denn einfügen? Bzw. wie kann ich allgemein LabView mit Code füttern? Ich benutze bisher nur die Symbole


RE: Größer, Kleiner UND Gleich - jg - 06.07.2015 10:32

IF - THEN - ELSE in LabVIEW ist eine CASE-Struktur.
Wie du sieht, habe ich im ELSE-Fall der ersten CASE-Struktur eine zweite IF-THEN-ELSE platziert.
So, jetzt nachprogrammieren!

Gruß, Jens


RE: Größer, Kleiner UND Gleich - jan_1 - 06.07.2015 10:56

ah ok, ein case im case also Smile

habe das jetzt so gelöst:


und ich habe mal auf ganze Zahlen gerundet, damit Unentschieden auch mal eintrifft Smile


RE: Größer, Kleiner UND Gleich - GerdW - 06.07.2015 11:38

Hallo jan,

wenn du auf ">=" und "<=" prüfst, dann sieht das irgendwie nicht korrekt aus…


RE: Größer, Kleiner UND Gleich - jan_1 - 06.07.2015 11:48

ich glaube auch, dass es eleganter und einfacher geht, aber ich habe ein paar Testdurchläufe gemacht und es funktioniert. Aber die Hauptsache ist, dass ich es kapiere und einen ordentlichen Einstieg in den Umgang mit LabView finde Smile


RE: Größer, Kleiner UND Gleich - Kiesch - 06.07.2015 11:51

(06.07.2015 11:38 )GerdW schrieb:  Hallo jan,

wenn du auf ">=" und "<=" prüfst, dann sieht das irgendwie nicht korrekt aus…

Doch. Zumindest soweit dargestellt. Der gezeigte Fall TRUE TRUE tritt ja nur auf, wenn die Zahlen gleich sind und dann wird "gleich" erhöht. Im FALSE (innen) sollte entsprechend "größer" erhöht werden, im FALSE (aussen) "kleiner" (und nen FALSE FALSE gibts ja nicht ^^). Leider sieht man nur die anderen beiden cases nicht.

Was allerdings eventuell noch Fehlt ist eine Initialisierung des Rückkopplungsknotens auf 0 (bei Programstart; es sei denn es soll wirklich von "irgendwas" weitergezählt werden) sowie eine Änderung des Datentyps auf nen Integer (I32 oder so), da das sauberer aussieht (die Werte von "gleich" "größer" und "kleiner" können ja nur integers sein).

Gruß Kiesch


RE: Größer, Kleiner UND Gleich - GerdW - 06.07.2015 11:57

Hallo Kiesch,

soweit korrekt.

Wenn man aber schon bei solch simplen Vergleichen nicht auf Eineindeutigkeit achtet, wird man sich später wohl über Probleme in der Programmlogik wundern! Und das Gegenteil von "<=" ist nunmal ">"…


RE: Größer, Kleiner UND Gleich - THL - 07.07.2015 10:36

Alternativer Vorschlag (wenn man kein Case im Case mag):

[attachment=53568]