MODULE while EXPORTS Main; IMPORT IO, Fmt; VAR feld := ARRAY [1..12] OF INTEGER {45,2,7,3,2,1,8,9,22,31,5,6}; (* integer feld *) pos, tmp : INTEGER; (* variablen *) BEGIN pos := 1; (* wir sind an position 1 im feld *) WHILE pos # LAST(feld) DO (* solange wir nicht beim letzen feld sind *) FOR akt := pos + 1 TO LAST(feld) DO IF feld[pos] < feld[akt] THEN tmp := feld[pos]; (* einmal tauschen, bitte *) feld[pos] := feld[akt]; feld[akt] := tmp; END; END; pos := pos + 1; (* das darf man nicht vergessen, sonst wartet man sehr lange =) *) END; (* und alles ausgeben *) FOR i := FIRST(feld) TO LAST(feld) DO IO.Put(Fmt.Int(feld[i]) & " "); END; IO.Put("\n das wars =) \n"); END while.