with TEXT_IO; use TEXT_IO; procedure ROT13 is foo : CHARACTER; begin while not END_OF_FILE(STANDARD_INPUT) loop GET(foo); if (foo >= 'a' and foo <= 'm') or (foo >= 'A' and foo <= 'M') then foo:=CHARACTER'VAL(CHARACTER'POS(foo)+13); elsif (foo >= 'n' and foo <= 'z') or (foo >= 'N' and foo <= 'Z') then foo:=CHARACTER'VAL(CHARACTER'POS(foo)-13); end if; PUT(foo); end loop; NEW_LINE; end;