Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Caesar-cipher/COBOL/caesar-cipher-1.cobol
Normal file
37
Task/Caesar-cipher/COBOL/caesar-cipher-1.cobol
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
identification division.
|
||||
program-id. caesar.
|
||||
data division.
|
||||
1 msg pic x(50)
|
||||
value "The quick brown fox jumped over the lazy dog.".
|
||||
1 offset binary pic 9(4) value 7.
|
||||
1 from-chars pic x(52).
|
||||
1 to-chars pic x(52).
|
||||
1 tabl.
|
||||
2 pic x(26) value "abcdefghijklmnopqrstuvwxyz".
|
||||
2 pic x(26) value "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
|
||||
2 pic x(26) value "abcdefghijklmnopqrstuvwxyz".
|
||||
2 pic x(26) value "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
|
||||
procedure division.
|
||||
begin.
|
||||
display msg
|
||||
perform encrypt
|
||||
display msg
|
||||
perform decrypt
|
||||
display msg
|
||||
stop run
|
||||
.
|
||||
|
||||
encrypt.
|
||||
move tabl (1:52) to from-chars
|
||||
move tabl (1 + offset:52) to to-chars
|
||||
inspect msg converting from-chars
|
||||
to to-chars
|
||||
.
|
||||
|
||||
decrypt.
|
||||
move tabl (1 + offset:52) to from-chars
|
||||
move tabl (1:52) to to-chars
|
||||
inspect msg converting from-chars
|
||||
to to-chars
|
||||
.
|
||||
end program caesar.
|
||||
86
Task/Caesar-cipher/COBOL/caesar-cipher-2.cobol
Normal file
86
Task/Caesar-cipher/COBOL/caesar-cipher-2.cobol
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
>>SOURCE FORMAT IS FREE
|
||||
PROGRAM-ID. caesar-cipher.
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
REPOSITORY.
|
||||
FUNCTION encrypt
|
||||
FUNCTION decrypt
|
||||
.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 plaintext PIC X(50).
|
||||
01 offset PIC 99.
|
||||
|
||||
01 encrypted-str PIC X(50).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
DISPLAY "Enter a message to encrypt: " NO ADVANCING
|
||||
ACCEPT plaintext
|
||||
DISPLAY "Enter the amount to shift by: " NO ADVANCING
|
||||
ACCEPT offset
|
||||
|
||||
MOVE FUNCTION encrypt(offset, plaintext) TO encrypted-str
|
||||
DISPLAY "Encrypted: " encrypted-str
|
||||
DISPLAY "Decrypted: " FUNCTION decrypt(offset, encrypted-str)
|
||||
.
|
||||
END PROGRAM caesar-cipher.
|
||||
|
||||
|
||||
FUNCTION-ID. encrypt.
|
||||
|
||||
DATA DIVISION.
|
||||
LOCAL-STORAGE SECTION.
|
||||
01 i PIC 9(3).
|
||||
|
||||
01 a PIC 9(3).
|
||||
|
||||
LINKAGE SECTION.
|
||||
01 offset PIC 99.
|
||||
01 str PIC X(50).
|
||||
|
||||
01 encrypted-str PIC X(50).
|
||||
|
||||
PROCEDURE DIVISION USING offset, str RETURNING encrypted-str.
|
||||
MOVE str TO encrypted-str
|
||||
PERFORM VARYING i FROM 1 BY 1 UNTIL i > FUNCTION LENGTH(str)
|
||||
IF encrypted-str (i:1) IS NOT ALPHABETIC OR encrypted-str (i:1) = SPACE
|
||||
EXIT PERFORM CYCLE
|
||||
END-IF
|
||||
|
||||
IF encrypted-str (i:1) IS ALPHABETIC-UPPER
|
||||
MOVE FUNCTION ORD("A") TO a
|
||||
ELSE
|
||||
MOVE FUNCTION ORD("a") TO a
|
||||
END-IF
|
||||
|
||||
MOVE FUNCTION CHAR(FUNCTION MOD(FUNCTION ORD(encrypted-str (i:1))
|
||||
- a + offset, 26) + a)
|
||||
TO encrypted-str (i:1)
|
||||
END-PERFORM
|
||||
.
|
||||
END FUNCTION encrypt.
|
||||
|
||||
|
||||
FUNCTION-ID. decrypt.
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
CONFIGURATION SECTION.
|
||||
REPOSITORY.
|
||||
FUNCTION encrypt
|
||||
.
|
||||
DATA DIVISION.
|
||||
LOCAL-STORAGE SECTION.
|
||||
01 decrypt-offset PIC 99.
|
||||
|
||||
LINKAGE SECTION.
|
||||
01 offset PIC 99.
|
||||
01 str PIC X(50).
|
||||
|
||||
01 decrypted-str PIC X(50).
|
||||
|
||||
PROCEDURE DIVISION USING offset, str RETURNING decrypted-str.
|
||||
SUBTRACT 26 FROM offset GIVING decrypt-offset
|
||||
MOVE FUNCTION encrypt(decrypt-offset, str) TO decrypted-str
|
||||
.
|
||||
END FUNCTION decrypt.
|
||||
Loading…
Add table
Add a link
Reference in a new issue