20 lines
420 B
Plaintext
20 lines
420 B
Plaintext
MODULE Rot13 EXPORTS Main;
|
|
|
|
IMPORT Stdio, Rd, Wr;
|
|
|
|
VAR c: CHAR;
|
|
|
|
<*FATAL ANY*>
|
|
|
|
BEGIN
|
|
WHILE NOT Rd.EOF(Stdio.stdin) DO
|
|
c := Rd.GetChar(Stdio.stdin);
|
|
IF c >= 'A' AND c <= 'M' OR c >= 'a' AND c <= 'm' THEN
|
|
c := VAL(ORD((ORD(c) + 13)), CHAR);
|
|
ELSIF c >= 'N' AND c <= 'Z' OR c >= 'n' AND c <= 'z' THEN
|
|
c := VAL(ORD((ORD(c) - 13)), CHAR);
|
|
END;
|
|
Wr.PutChar(Stdio.stdout, c);
|
|
END;
|
|
END Rot13.
|