PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.28.0
Code Block Pro – Beautiful Syntax Highlighting v1.28.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / samples / cobol.sample

cobol.sample in Code Block Pro – Beautiful Syntax Highlighting 1.28.0, at build/shiki/samples/cobol.sample

95 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 ******************************************************************
2 * Author: Bryan Flood
3 * Date: 25/10/2018
4 * Purpose: Compute Fibonacci Numbers
5 * Tectonics: cobc
6 ******************************************************************
7 IDENTIFICATION DIVISION.
8 PROGRAM-ID. FIB.
9 DATA DIVISION.
10 FILE SECTION.
11 WORKING-STORAGE SECTION.
12 01 N0 BINARY-C-LONG VALUE 0.
13 01 N1 BINARY-C-LONG VALUE 1.
14 01 SWAP BINARY-C-LONG VALUE 1.
15 01 RESULT PIC Z(20)9.
16 01 I BINARY-C-LONG VALUE 0.
17 01 I-MAX BINARY-C-LONG VALUE 0.
18 01 LARGEST-N BINARY-C-LONG VALUE 92.
19
20 PROCEDURE DIVISION.
21 *> THIS IS WHERE THE LABELS GET CALLED
22 PERFORM MAIN
23 PERFORM ENDFIB
24 GOBACK.
25
26 *> THIS ACCEPTS INPUT AND DETERMINES THE OUTPUT USING A EVAL STMT
27 MAIN.
28 DISPLAY "ENTER N TO GENERATE THE FIBONACCI SEQUENCE"
29 ACCEPT I-MAX.
30
31 EVALUATE TRUE
32 WHEN I-MAX > LARGEST-N
33 PERFORM INVALIDN
34
35 WHEN I-MAX > 2
36 PERFORM CASEGREATERTHAN2
37
38 WHEN I-MAX = 2
39 PERFORM CASE2
40
41 WHEN I-MAX = 1
42 PERFORM CASE1
43
44 WHEN I-MAX = 0
45 PERFORM CASE0
46
47 WHEN OTHER
48 PERFORM INVALIDN
49
50 END-EVALUATE.
51
52 STOP RUN.
53
54
55
56 *> THE CASE FOR WHEN N = 0
57 CASE0.
58 MOVE N0 TO RESULT.
59 DISPLAY RESULT.
60
61 *> THE CASE FOR WHEN N = 1
62 CASE1.
63 PERFORM CASE0
64 MOVE N1 TO RESULT.
65 DISPLAY RESULT.
66
67 *> THE CASE FOR WHEN N = 2
68 CASE2.
69 PERFORM CASE1
70 MOVE N1 TO RESULT.
71 DISPLAY RESULT.
72
73 *> THE CASE FOR WHEN N > 2
74 CASEGREATERTHAN2.
75 PERFORM CASE1
76 PERFORM VARYING I FROM 1 BY 1 UNTIL I = I-MAX
77 ADD N0 TO N1 GIVING SWAP
78 MOVE N1 TO N0
79 MOVE SWAP TO N1
80 MOVE SWAP TO RESULT
81 DISPLAY RESULT
82 END-PERFORM.
83
84 *> PROVIDE ERROR FOR INVALID INPUT
85 INVALIDN.
86 DISPLAY 'INVALID N VALUE. THE PROGRAM WILL NOW END'.
87
88 *> END THE PROGRAM WITH A MESSAGE
89 ENDFIB.
90 DISPLAY "THE PROGRAM HAS COMPLETED AND WILL NOW END".
91
92 END PROGRAM FIB.
93
94 *> From https://github.com/KnowledgePending/COBOL-Fibonacci-Sequence/blob/master/fib.cbl
95