Substitution cipher: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 717: | Line 717: | ||
Decoded: The quick brown fox jumps over the lazy dog, who barks VERY loudly! |
Decoded: The quick brown fox jumps over the lazy dog, who barks VERY loudly! |
||
</pre> |
</pre> |
||
=={{header|IS-BASIC}}== |
|||
<lang IS-BASIC>100 PROGRAM "SuChiper.bas" |
|||
110 STRING ST$(1 TO 2)*52,K$*1 |
|||
120 LET ST$(1)="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" |
|||
130 LET ST$(2)="VsciBjedgrzyHalvXZKtUPumGfIwJxqOCFRApnDhQWobLkESYMTN" |
|||
140 CLEAR SCREEN:PRINT "1 - encode, 2 - decode" |
|||
150 DO |
|||
160 LET K$=INKEY$ |
|||
170 LOOP UNTIL K$="1" OR K$="2" |
|||
180 IF K$="1" THEN |
|||
190 INPUT PROMPT "File name: ":NAME$ |
|||
200 IF OPENFILE(NAME$) THEN CALL CHIPER(1) |
|||
210 ELSE |
|||
220 IF OPENFILE("Encrypte.txt") THEN CALL CHIPER(2) |
|||
230 END IF |
|||
240 DEF OPENFILE(N$) |
|||
250 LET OPENFILE=0 |
|||
260 WHEN EXCEPTION USE OPENERROR |
|||
270 OPEN #1:N$ |
|||
280 END WHEN |
|||
290 LET OPENFILE=-1 |
|||
300 END DEF |
|||
310 DEF CHIPER(FUNC) |
|||
320 LET EOF=0 |
|||
330 WHEN EXCEPTION USE OPENERROR |
|||
340 IF FUNC=1 THEN |
|||
350 OPEN #2:"Encrypte.txt" ACCESS OUTPUT |
|||
360 LET OUTP=2 |
|||
370 ELSE |
|||
380 OPEN #2:"Decrypte.txt" ACCESS OUTPUT |
|||
390 LET OUTP=1 |
|||
400 END IF |
|||
410 END WHEN |
|||
420 WHEN EXCEPTION USE IOERROR |
|||
430 DO |
|||
440 GET #1:K$ |
|||
450 IF UCASE$(K$)>="A" AND UCASE$(K$)<="Z" THEN |
|||
460 PRINT #2:ST$(OUTP)(POS(ST$(FUNC),K$)); |
|||
470 ELSE |
|||
480 PRINT #2:K$; |
|||
490 END IF |
|||
500 LOOP UNTIL EOF |
|||
510 END WHEN |
|||
520 HANDLER IOERROR |
|||
530 IF EXTYPE<>9228 THEN PRINT EXSTRING$(EXTYPE) |
|||
540 CLOSE #2 |
|||
550 CLOSE #1 |
|||
560 LET EOF=1 |
|||
570 END HANDLER |
|||
580 END DEF |
|||
590 HANDLER OPENERROR |
|||
600 PRINT EXSTRING$(EXTYPE) |
|||
610 END |
|||
620 END HANDLER</lang> |
|||
=={{header|J}}== |
=={{header|J}}== |