52 lines
888 B
Smalltalk
52 lines
888 B
Smalltalk
PROGRAM Demo
|
|
VAR
|
|
a UINT := 0;
|
|
b UINT := 0;
|
|
i UINT := 0;
|
|
sum DINT := 0;
|
|
flag BOOL := 0; // FALSE -> 0
|
|
x REAL := 1.5;
|
|
y LREAL := 2.5;
|
|
cnt INT := 0;
|
|
// numbers ARRAY [1..10] OF INT;
|
|
// matrix ARRAY [0..3] OF REAL;
|
|
END_VAR
|
|
|
|
|
|
// numbers[1] := 42;
|
|
// numbers[2] := numbers[1] * 2;
|
|
// matrix[0] := 3.14;
|
|
|
|
|
|
// Einfacher If-Test
|
|
IF a = 0 THEN
|
|
a := 1;
|
|
END_IF;
|
|
|
|
// While-Schleife mit arithmetischen Ausdrücken
|
|
WHILE cnt < 3 DO
|
|
cnt := cnt + 1;
|
|
b := b + cnt * 2;
|
|
END_WHILE;
|
|
|
|
// For-Schleife mit BY und verschachteltem IF
|
|
FOR i := 1 TO 10 BY 2 DO
|
|
sum := sum + i;
|
|
IF i <> 5 THEN
|
|
flag := 1; // TRUE -> 1
|
|
ELSE
|
|
flag := 0; // FALSE -> 0
|
|
END_IF;
|
|
END_FOR;
|
|
|
|
// Abwärts-Schleife (negativer BY-Wert)
|
|
FOR i := 5 TO 1 BY -1 DO
|
|
sum := sum + i;
|
|
b := b + (i * (cnt + 1));
|
|
END_FOR;
|
|
|
|
// Rechnen mit Gleitkommazahlen
|
|
x := x + y / 2.0;
|
|
|
|
END_PROGRAM
|