29 lines
485 B
Plaintext
29 lines
485 B
Plaintext
MODULE reverse;
|
|
|
|
IMPORT Out, Strings;
|
|
|
|
VAR s: ARRAY 12 + 1 OF CHAR;
|
|
|
|
PROCEDURE Swap(VAR c, d: CHAR);
|
|
VAR oldC: CHAR;
|
|
BEGIN
|
|
oldC := c; c := d; d := oldC
|
|
END Swap;
|
|
|
|
|
|
PROCEDURE Reverse(VAR s: ARRAY OF CHAR);
|
|
VAR len, i: INTEGER;
|
|
BEGIN
|
|
len := Strings.Length(s);
|
|
FOR i := 0 TO len DIV 2 DO
|
|
Swap(s[i], s[len - 1 - i])
|
|
END
|
|
END Reverse;
|
|
|
|
BEGIN
|
|
s := "hello, world";
|
|
Reverse(s);
|
|
Out.String(s);
|
|
Out.Ln
|
|
END reverse.
|