RosettaCodeData/Task/Reverse-a-string/Simula/reverse-a-string.simula

27 lines
544 B
Plaintext

BEGIN
TEXT PROCEDURE REV(S); TEXT S;
BEGIN
TEXT T;
INTEGER L,R;
T :- COPY(S);
L := 1; R := T.LENGTH;
WHILE L < R DO
BEGIN
CHARACTER CL,CR;
T.SETPOS(L); CL := T.GETCHAR;
T.SETPOS(R); CR := T.GETCHAR;
T.SETPOS(L); T.PUTCHAR(CR);
T.SETPOS(R); T.PUTCHAR(CL);
L := L+1;
R := R-1;
END;
REV :- T;
END REV;
TEXT INP;
INP :- "asdf";
OUTTEXT(INP); OUTIMAGE;
OUTTEXT(REV(INP)); OUTIMAGE;
END