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
Page of 73
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.
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.
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. 
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
'---- 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 
'*********************************************************************
'***           EINE SCHLEIFE MIT WORD VARIABLEN       ***
'*********************************************************************
FOR LOOPCOUNTER=0 TO 3000 
RESULT=FLOAT(LOOPCOUNTER)/10.9
LCD.POS 2,1
LCD.PRINT RESULT & "      "
NEXT