C Control I Unit-M 2.0 BASIC 5 Vdc Inputs / outputs 16 x digital I/Os/8 x analog or digital I/Os/2 x analogue outputs (s 198822 Data Sheet
Product codes
198822
SCHLEIFEN MIT FLOAT VARIABLEN
DO, LOOP UNTIL EXIT DO
Schleifen mit reinen Gleitkommazahlen.
Gleitkommazahlen dürfen in FOR TO NEXT Schleifen nicht verwendet werden. Das macht aber nichts, da
man ohnehin besser DO LOOP UNTIL verwendet und hier ist es natürlich möglich Schleifen im vollen
Zahlenbereich mit beliebigen Schrittweiten zu konstruieren.
man ohnehin besser DO LOOP UNTIL verwendet und hier ist es natürlich möglich Schleifen im vollen
Zahlenbereich mit beliebigen Schrittweiten zu konstruieren.
Beachten Sie bitte, dass die Endbedingung für die Schleife aus dem Vergleich von Variablen bestehen muss
und hier keine Terme oder konstante Werte stehen dürfen.
und hier keine Terme oder konstante Werte stehen dürfen.
LOOP UNTIL (COUNTER>123456) ist also nicht zulässig
Eine Schleife kann vorzeitig mit EXIT DO verlassen werden
Beispiel für eine solche Schleife:
Schleifen mit gemischten Datentypen
Wenn auch die Schleifenzähler keine FLOAT-Variablen sein dürfen, so kann man doch WORD Variablen
oder auch Bytevariablen verwenden und sie nach FLAOT wandeln wenn keine Dezimalzahlen als
Schleifenzähler oder Schrittweite erforderlich sind. Wenn man die reine Rechenzeit (ohne LCD Ausgabe)
betrachtet stellt man fest, dass diese Schleifen etwa 20% schneller sind als Schleifen mit reinen
Floatvariablen.
Wenn auch die Schleifenzähler keine FLOAT-Variablen sein dürfen, so kann man doch WORD Variablen
oder auch Bytevariablen verwenden und sie nach FLAOT wandeln wenn keine Dezimalzahlen als
Schleifenzähler oder Schrittweite erforderlich sind. Wenn man die reine Rechenzeit (ohne LCD Ausgabe)
betrachtet stellt man fest, dass diese Schleifen etwa 20% schneller sind als Schleifen mit reinen
Floatvariablen.
Starten Sie das Beispiel 3_FOR_TO_NEXT. Modifizieren sie die Schleifen für andere Wertebereiche.
4
DO
. . . . .
. . . . .
. . . . .
. . . . .
LOOP UNTIL (COUNTER>ENDVALUE)
'*********************************************************************
'*** EINE SCHLEIFE MIT FLOAT VARIABLEN ***
'*********************************************************************
COUNTER=123.4567
ENDVALUE=999.567
'*** EINE SCHLEIFE MIT FLOAT VARIABLEN ***
'*********************************************************************
COUNTER=123.4567
ENDVALUE=999.567
'---- FOR COUNTER=123.4567 TO 999.567 STEP 0.123 ----
DO
COUNTER=COUNTER+0.123
LCD.POS 1,1
LCD.PRINT COUNTER & " "
LOOP UNTIL COUNTER>ENDVALUE
COUNTER=COUNTER+0.123
LCD.POS 1,1
LCD.PRINT COUNTER & " "
LOOP UNTIL COUNTER>ENDVALUE
'*********************************************************************
'*** EINE SCHLEIFE MIT WORD VARIABLEN ***
'*********************************************************************
FOR LOOPCOUNTER=0 TO 3000
RESULT=FLOAT(LOOPCOUNTER)/10.9
LCD.POS 2,1
LCD.PRINT RESULT & " "
NEXT
'*** EINE SCHLEIFE MIT WORD VARIABLEN ***
'*********************************************************************
FOR LOOPCOUNTER=0 TO 3000
RESULT=FLOAT(LOOPCOUNTER)/10.9
LCD.POS 2,1
LCD.PRINT RESULT & " "
NEXT