Rot-13: Difference between revisions

2,090 bytes added ,  1 year ago
Rot-13 in Chipmunk Basic, MSX Basic and True BASIC
(Rot-13 in Chipmunk Basic, MSX Basic and True BASIC)
Line 481:
=={{header|BASIC}}==
{{works with|QBasic}}
 
<syntaxhighlight lang="qbasic">CLS
INPUT "Enter a string: ", s$
Line 520 ⟶ 519:
;See also: [[#BBC BASIC|BBC BASIC]], [[#FBSL|FBSL]], [[#GW-BASIC|GW-BASIC]], [[#Liberty BASIC|Liberty BASIC]], [[#Locomotive Basic|Locomotive Basic]], [[#PureBasic|PureBasic]], [[#Run BASIC|Run BASIC]], [[#TI-83 BASIC|TI-83 BASIC]], [[#Visual Basic .NET|Visual Basic .NET]], [[#ZX Spectrum Basic|ZX Spectrum Basic]]
 
==={{header|BASIC256Chipmunk Basic}}===
{{works with|Chipmunk Basic|3.6.4}}
{{works with|Applesoft BASIC}}
{{works with|QBasic}}
{{works with|MSX Basic}}
{{trans|GW-BASIC}}
<syntaxhighlight lang="qbasic">100 rem ROT-13
110 cls : rem 110 HOME for Applesoft BASIC
120 input "Enter a string: ";a$
130 gosub 160
140 print b$
150 end
160 rem FUNCTION rot13
170 for i = 1 to len(a$)
180 n = asc(mid$(a$,i,1))
190 e = 255
200 if n > 64 and n < 91 then e = 90 : rem uppercase
210 if n > 96 and n < 123 then e = 122 : rem lowercase
220 if e < 255 then n = n+13
230 if n > e then n = n-26
240 b$ = b$+chr$(n)
250 next
260 return</syntaxhighlight>
 
==={{header|MSX Basic}}===
{{works with|Applesoft BASIC}}
{{works with|Chipmunk Basic|3.6.4}}
{{works with|QBasic}}
{{trans|GW-BASIC}}
<syntaxhighlight lang="qbasic">100 REM ROT-13
110 CLS : REM 110 HOME for Applesoft BASIC
120 INPUT "Enter a string: ";a$
130 GOSUB 160
140 PRINT b$
150 END
160 REM FUNCTION rot13
170 FOR i = 1 TO LEN(a$)
180 n = ASC(MID$(a$,i,1))
190 e = 255
200 IF n > 64 AND n < 91 THEN e = 90 : REM uppercase
210 IF n > 96 AND n < 123 THEN e = 122 : REM lowercase
220 IF e < 255 THEN n = n+13
230 IF n > e THEN n = n-26
240 b$ = b$+CHR$(n)
250 NEXT
260 RETURN</syntaxhighlight>
 
==={{header|True BASIC}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="qbasic">FUNCTION rot13$(s$)
LET ans$ = ""
FOR a = 1 to len(s$)
LET letter$ = (s$)[a:a+1-1]
IF letter$ >= "A" and letter$ <= "Z" then
LET char$ = chr$(ord(letter$[1:1])+13)
IF char$ > "Z" then LET char$ = chr$(ord(char$[1:1])-26)
ELSEIF letter$ >= "a" and letter$ <= "z" then
LET char$ = chr$(ord(letter$[1:1])+13)
IF char$ > "z" then LET char$ = chr$(ord(char$[1:1])-26)
ELSE
LET char$ = letter$
END IF
LET ans$ = ans$ & char$
NEXT a
LET s$ = ans$
LET rot13$ = s$
END FUNCTION
 
INPUT prompt "Enter a string: ": s$
PRINT "Before encoding : "; s$
PRINT "After encoding : "; rot13$(s$)
LET s$ = rot13$(s$)
PRINT "After decoding : "; rot13$(s$)
END</syntaxhighlight>
 
=={{header|BASIC256}}==
<syntaxhighlight lang="qbasic">
# rot13 Cipher v2.0
2,122

edits