100 INPUT ""; T$ 110 LET K% = RND(1) * 25 + 1 120 PRINT "ENCODED WITH "; 130 GOSUB 200ENCODED 140 LET K% = 26 - K% 150 PRINT "DECODED WITH "; 160 GOSUB 200DECODED 170 END REM ENCODED/DECODED 200 PRINT "CAESAR " K%; 210 LET K$(1) = " (ROT-13)" 220 PRINT K$(K% = 13) 230 GOSUB 300CAESAR 240 PRINT T$ 250 RETURN REM CAESAR T$ K% 300 FOR I = 1 TO LEN(T$) 310 LET C$ = MID$(T$, I, 1) 320 GOSUB 400ENCODE 330 LET L = I - 1 340 LET T$(0) = MID$(T$, 1, L) 350 LET L = I + 1 360 LET T$ = C$ + MID$(T$, L) 370 LET T$ = T$(0) + T$ 380 NEXT I 390 RETURN REM ENCODE C$ K% 400 LET C = ASC(C$) 410 LET L = (C > 95) * 32 420 LET C = C - L 430 IF C < 65 THEN RETURN 440 IF C > 90 THEN RETURN 450 LET C = C + K% 460 IF C > 90 THEN C = C - 26 470 LET C$ = CHR$(C + L) 480 RETURN