-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmerged_data.json
762 lines (762 loc) · 143 KB
/
merged_data.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
[
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SALARY_CALCULATOR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 EMPLOYEE-NAME PIC X(20).\n01 HOURS-WORKED PIC 9(3) VALUE 0.\n01 HOURLY-RATE PIC 9(5)V99 VALUE 0.\n01 SALARY PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nACCEPT EMPLOYEE-NAME FROM CONSOLE.\nACCEPT HOURS-WORKED FROM CONSOLE.\nACCEPT HOURLY-RATE FROM CONSOLE.\nCOMPUTE SALARY = HOURS-WORKED * HOURLY-RATE.\nDISPLAY 'Employee: ', EMPLOYEE-NAME.\nDISPLAY 'Salary: ', SALARY.",
"documentation": "code documentation= Explains that the program finds prime numbers up to a given limit. and Illustrate nested loops and conditional statements in COBOL.."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_GRADE_CALCULATOR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STUDENT-NAME PIC X(20).\n01 MARKS-OBTAINED PIC 9(3) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nACCEPT STUDENT-NAME FROM CONSOLE.\nACCEPT MARKS-OBTAINED FROM CONSOLE.\nIF MARKS-OBTAINED >= 90\n MOVE 'A' TO GRADE\nELSE IF MARKS-OBTAINED >= 80\n MOVE 'B' TO GRADE\nELSE IF MARKS-OBTAINED >= 70\n MOVE 'C' TO GRADE\nELSE IF MARKS-OBTAINED >= 60\n MOVE 'D' TO GRADE\nELSE\n MOVE 'F' TO GRADE\nEND-IF.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Grade: ', GRADE.",
"documentation": "Program Name: STUDENT_GRADE_CALCULATOR. Description: This program calculates the grade of a student based on the marks obtained.. Purpose: Demonstrate conditional statements for grade calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 EMPLOYEE-DEPARTMENT PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-EMPLOYEE-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nACCEPT WS-EMPLOYEE-ID FROM CONSOLE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = WS-EMPLOYEE-ID\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Employee ID: ', EMPLOYEE-ID.\nDISPLAY 'Employee Name: ', EMPLOYEE-NAME.\nDISPLAY 'Employee Department: ', EMPLOYEE-DEPARTMENT.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_INFO. Description: This program retrieves employee information from a file based on the employee ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVENTORY_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD INVENTORY-FILE.\n01 INVENTORY-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 QUANTITY PIC 9(5) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\n01 WS-QUANTITY PIC 9(5).\nPROCEDURE DIVISION.\nOPEN INPUT INVENTORY-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nACCEPT WS-QUANTITY FROM CONSOLE.\nREAD INVENTORY-FILE INTO INVENTORY-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ INVENTORY-FILE INTO INVENTORY-RECORD\nEND-PERFORM.\nCOMPUTE QUANTITY = QUANTITY + WS-QUANTITY.\nDISPLAY 'Updated Quantity for ', PRODUCT-NAME, ': ', QUANTITY.\nCLOSE INVENTORY-FILE.",
"documentation": "Program Name: INVENTORY_MANAGER. Description: This program manages inventory by updating the quantity of a product based on user input.. Purpose: Demonstrate file input/output and record update in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_RECORD_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS PIC 9(3).\nWORKING-STORAGE SECTION.\n01 WS-TOTAL-STUDENTS PIC 9(3) VALUE 0.\n01 WS-AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL STUDENT-ID = '99999'\n ADD MARKS TO WS-TOTAL-MARKS\n ADD 1 TO WS-TOTAL-STUDENTS\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCOMPUTE AVERAGE-MARKS = WS-TOTAL-MARKS / WS-TOTAL-STUDENTS.\nDISPLAY 'Average Marks: ', AVERAGE-MARKS.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_RECORD_MANAGER. Description: This program calculates the average marks of students from a file.. Purpose: Demonstrate file input/output and average calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ATM_TRANSACTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ACCOUNT-NUMBER PIC X(10).\n01 BALANCE PIC 9(6)V99 VALUE 0.\n01 AMOUNT PIC 9(6)V99 VALUE 0.\n01 OPTION PIC 9 VALUE 0.\nPROCEDURE DIVISION.\nDISPLAY 'Welcome to the ATM.'.\nDISPLAY 'Enter your account number: '.\nACCEPT ACCOUNT-NUMBER FROM CONSOLE.\nDISPLAY 'Select your option:'\nDISPLAY '1. Withdraw'\nDISPLAY '2. Deposit'\nACCEPT OPTION FROM CONSOLE.\nIF OPTION = 1\n DISPLAY 'Enter amount to withdraw: '\n ACCEPT AMOUNT FROM CONSOLE.\n IF AMOUNT <= BALANCE\n COMPUTE BALANCE = BALANCE - AMOUNT\n DISPLAY 'Transaction Successful.'\n ELSE\n DISPLAY 'Insufficient Balance.'\n END-IF\nELSE IF OPTION = 2\n DISPLAY 'Enter amount to deposit: '\n ACCEPT AMOUNT FROM CONSOLE.\n COMPUTE BALANCE = BALANCE + AMOUNT\n DISPLAY 'Transaction Successful.'\nELSE\n DISPLAY 'Invalid Option.'\nEND-IF.",
"documentation": "Program Name: ATM_TRANSACTION. Description: This program simulates ATM transactions such as withdrawal and deposit.. Purpose: Demonstrate conditional statements and transaction processing in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_BONUS_CALCULATOR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 EMPLOYEE-ID PIC X(5).\n01 EMPLOYEE-SALARY PIC 9(6)V99 VALUE 0.\n01 BONUS PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nACCEPT EMPLOYEE-ID FROM CONSOLE.\nACCEPT EMPLOYEE-SALARY FROM CONSOLE.\nIF EMPLOYEE-SALARY >= 50000\n COMPUTE BONUS = EMPLOYEE-SALARY * 0.1\nELSE IF EMPLOYEE-SALARY >= 30000\n COMPUTE BONUS = EMPLOYEE-SALARY * 0.05\nELSE\n COMPUTE BONUS = 0\nEND-IF.\nDISPLAY 'Employee ID: ', EMPLOYEE-ID.\nDISPLAY 'Bonus: ', BONUS.",
"documentation": "Program Name: EMPLOYEE_BONUS_CALCULATOR. Description: This program calculates the bonus for an employee based on their salary.. Purpose: Demonstrate conditional statements and bonus calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. BANK_TRANSACTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ACCOUNT-NUMBER PIC X(10).\n01 BALANCE PIC 9(7)V99 VALUE 0.\n01 AMOUNT PIC 9(7)V99 VALUE 0.\n01 OPTION PIC 9 VALUE 0.\nPROCEDURE DIVISION.\nDISPLAY 'Welcome to the Bank.'.\nDISPLAY 'Enter your account number: '.\nACCEPT ACCOUNT-NUMBER FROM CONSOLE.\nDISPLAY 'Select your option:'\nDISPLAY '1. Withdraw'\nDISPLAY '2. Deposit'\nACCEPT OPTION FROM CONSOLE.\nIF OPTION = 1\n DISPLAY 'Enter amount to withdraw: '\n ACCEPT AMOUNT FROM CONSOLE.\n IF AMOUNT <= BALANCE\n COMPUTE BALANCE = BALANCE - AMOUNT\n DISPLAY 'Transaction Successful.'\n ELSE\n DISPLAY 'Insufficient Balance.'\n END-IF\nELSE IF OPTION = 2\n DISPLAY 'Enter amount to deposit: '\n ACCEPT AMOUNT FROM CONSOLE.\n COMPUTE BALANCE = BALANCE + AMOUNT\n DISPLAY 'Transaction Successful.'\nELSE\n DISPLAY 'Invalid Option.'\nEND-IF.",
"documentation": "Program Name: BANK_TRANSACTION. Description: This program simulates bank transactions such as withdrawal and deposit.. Purpose: Demonstrate conditional statements and transaction processing in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_ATTENDANCE.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 ATTENDANCE-DAYS PIC 9(3) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 WS-ATTENDANCE-DAYS PIC 9(3).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Attendance Days: ', ATTENDANCE-DAYS.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_ATTENDANCE. Description: This program retrieves student attendance information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 CITY PIC X(15).\nWORKING-STORAGE SECTION.\n01 WS-CUSTOMER-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nACCEPT WS-CUSTOMER-ID FROM CONSOLE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nPERFORM UNTIL CUSTOMER-ID = WS-CUSTOMER-ID\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nDISPLAY 'Customer ID: ', CUSTOMER-ID.\nDISPLAY 'Customer Name: ', CUSTOMER-NAME.\nDISPLAY 'City: ', CITY.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_INFO. Description: This program retrieves customer information from a file based on the customer ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_SALARY_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 SALARY PIC 9(7)V99.\nWORKING-STORAGE SECTION.\n01 WS-TOTAL-SALARY PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = '99999'\n ADD SALARY TO WS-TOTAL-SALARY\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Salary: ', WS-TOTAL-SALARY.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_SALARY_REPORT. Description: This program generates a report of the total salary of all employees.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVOICE_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-CODE PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 UNIT-PRICE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 QUANTITY-SOLD PIC 9(3).\n01 TOTAL-AMOUNT PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nDISPLAY 'Enter product code: '.\nACCEPT PRODUCT-CODE FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nDISPLAY 'Enter quantity sold: '.\nACCEPT QUANTITY-SOLD FROM CONSOLE.\nCOMPUTE TOTAL-AMOUNT = QUANTITY-SOLD * UNIT-PRICE.\nDISPLAY 'Product: ', PRODUCT-NAME.\nDISPLAY 'Total Amount: ', TOTAL-AMOUNT.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: INVOICE_GENERATOR. Description: This program generates an invoice for a product based on the quantity sold.. Purpose: Demonstrate file input/output and invoice generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_MARKS_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_MARKS_REPORT. Description: This program generates a report of total and average marks of students.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_BILLING.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 UNITS-USED PIC 9(5).\nWORKING-STORAGE SECTION.\n01 BILL-AMOUNT PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nDISPLAY 'Enter customer ID: '.\nACCEPT CUSTOMER-ID FROM CONSOLE.\nPERFORM UNTIL CUSTOMER-ID = '99999'\n IF UNITS-USED <= 100\n COMPUTE BILL-AMOUNT = UNITS-USED * 5\n ELSE\n COMPUTE BILL-AMOUNT = (100 * 5) + ((UNITS-USED - 100) * 3)\n END-IF.\n DISPLAY 'Customer: ', CUSTOMER-NAME.\n DISPLAY 'Bill Amount: ', BILL-AMOUNT.\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_BILLING. Description: This program calculates the billing amount for customers based on the units used.. Purpose: Demonstrate file input/output and billing calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_ADMISSION.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS PIC 9(3).\nWORKING-STORAGE SECTION.\n01 SELECTED-STUDENTS PIC 9(3) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nPERFORM UNTIL SELECTED-STUDENTS = 5\n READ STUDENT-FILE INTO STUDENT-RECORD.\n IF MARKS >= 80\n DISPLAY 'Selected Student: ', STUDENT-NAME.\n ADD 1 TO SELECTED-STUDENTS\n END-IF\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_ADMISSION. Description: This program selects top 5 students for admission based on their marks.. Purpose: Demonstrate file input/output and selection process in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STOCK_PRICE_CALCULATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STOCK-FILE.\n01 STOCK-RECORD.\n 05 STOCK-ID PIC X(5).\n 05 STOCK-NAME PIC X(20).\n 05 STOCK-PRICE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-VALUE PIC 9(8)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STOCK-FILE.\nREAD STOCK-FILE INTO STOCK-RECORD.\nPERFORM UNTIL STOCK-ID = '99999'\n COMPUTE TOTAL-VALUE = TOTAL-VALUE + (STOCK-PRICE * 100)\n READ STOCK-FILE INTO STOCK-RECORD\nEND-PERFORM.\nDISPLAY 'Total Stock Value: ', TOTAL-VALUE.\nCLOSE STOCK-FILE.",
"documentation": "Program Name: STOCK_PRICE_CALCULATOR. Description: This program calculates the total value of stocks based on their prices and quantities.. Purpose: Demonstrate file input/output and total value calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_SALES_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD SALES-FILE.\n01 SALES-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-SOLD PIC 9(3).\n 05 TOTAL-AMOUNT PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALES PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT SALES-FILE.\nREAD SALES-FILE INTO SALES-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-SALES = TOTAL-SALES + TOTAL-AMOUNT\n READ SALES-FILE INTO SALES-RECORD\nEND-PERFORM.\nDISPLAY 'Total Sales: ', TOTAL-SALES.\nCLOSE SALES-FILE.",
"documentation": "Program Name: PRODUCT_SALES_REPORT. Description: This program generates a report of total sales based on product orders.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_PAYROLL.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 HOURS-WORKED PIC 9(3).\n 05 HOURLY-WAGE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-PAYROLL PIC 9(8)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = '99999'\n COMPUTE TOTAL-PAYROLL = TOTAL-PAYROLL + (HOURS-WORKED * HOURLY-WAGE)\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Payroll: ', TOTAL-PAYROLL.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_PAYROLL. Description: This program calculates the total payroll for employees based on hours worked and hourly wage.. Purpose: Demonstrate file input/output and payroll calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_MARKSHEET_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n IF AVERAGE-MARKS >= 80\n MOVE 'A' TO GRADE\n ELSE IF AVERAGE-MARKS >= 60\n MOVE 'B' TO GRADE\n ELSE IF AVERAGE-MARKS >= 40\n MOVE 'C' TO GRADE\n ELSE\n MOVE 'F' TO GRADE\n END-IF\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n DISPLAY 'Grade: ', GRADE.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_MARKSHEET_GENERATOR. Description: This program generates a marksheet for students based on their marks and calculates their grades.. Purpose: Demonstrate file input/output, calculations, and grading in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ORDER_PROCESSING.\nDATA DIVISION.\nFILE SECTION.\nFD ORDER-FILE.\n01 ORDER-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-ORDERED PIC 9(3).\n 05 ORDER-TOTAL PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-ORDERS PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT ORDER-FILE.\nREAD ORDER-FILE INTO ORDER-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-ORDERS = TOTAL-ORDERS + ORDER-TOTAL\n READ ORDER-FILE INTO ORDER-RECORD\nEND-PERFORM.\nDISPLAY 'Total Orders: ', TOTAL-ORDERS.\nCLOSE ORDER-FILE.",
"documentation": "Program Name: ORDER_PROCESSING. Description: This program processes orders and calculates the total order value.. Purpose: Demonstrate file input/output and order processing in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_INFO_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 CITY PIC X(15).\nWORKING-STORAGE SECTION.\n01 WS-CUSTOMER-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nACCEPT WS-CUSTOMER-ID FROM CONSOLE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nPERFORM UNTIL CUSTOMER-ID = WS-CUSTOMER-ID\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nDISPLAY 'Customer ID: ', CUSTOMER-ID.\nDISPLAY 'Customer Name: ', CUSTOMER-NAME.\nDISPLAY 'City: ', CITY.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_INFO_MANAGER. Description: This program retrieves customer information from a file based on the customer ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_INFO_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 AGE PIC 9(2).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Age: ', AGE.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_INFO_MANAGER. Description: This program retrieves student information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_INFO_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 CATEGORY PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ PRODUCT-FILE INTO PRODUCT-RECORD\nEND-PERFORM.\nDISPLAY 'Product ID: ', PRODUCT-ID.\nDISPLAY 'Product Name: ', PRODUCT-NAME.\nDISPLAY 'Category: ', CATEGORY.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: PRODUCT_INFO_MANAGER. Description: This program retrieves product information from a file based on the product ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_MARKS_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD MARKS-FILE.\n01 MARKS-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT MARKS-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD MARKS-FILE INTO MARKS-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n READ MARKS-FILE INTO MARKS-RECORD\nEND-PERFORM.\nDISPLAY 'Total Marks: ', TOTAL-MARKS.\nCLOSE MARKS-FILE.",
"documentation": "Program Name: STUDENT_MARKS_MANAGER. Description: This program retrieves student marks from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 CATEGORY PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ PRODUCT-FILE INTO PRODUCT-RECORD\nEND-PERFORM.\nDISPLAY 'Product ID: ', PRODUCT-ID.\nDISPLAY 'Product Name: ', PRODUCT-NAME.\nDISPLAY 'Category: ', CATEGORY.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: PRODUCT_MANAGER. Description: This program retrieves product information from a file based on the product ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 AGE PIC 9(2).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Age: ', AGE.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_INFO. Description: This program retrieves student information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MARKSHEET_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n IF AVERAGE-MARKS >= 80\n MOVE 'A' TO GRADE\n ELSE IF AVERAGE-MARKS >= 60\n MOVE 'B' TO GRADE\n ELSE IF AVERAGE-MARKS >= 40\n MOVE 'C' TO GRADE\n ELSE\n MOVE 'F' TO GRADE\n END-IF\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n DISPLAY 'Grade: ', GRADE.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: MARKSHEET_GENERATOR. Description: This program generates a marksheet for students based on their marks and calculates their grades.. Purpose: Demonstrate file input/output, calculations, and grading in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. BILLING_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 UNITS-USED PIC 9(5).\nWORKING-STORAGE SECTION.\n01 BILL-AMOUNT PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nDISPLAY 'Enter customer ID: '.\nACCEPT CUSTOMER-ID FROM CONSOLE.\nPERFORM UNTIL CUSTOMER-ID = '99999'\n IF UNITS-USED <= 100\n COMPUTE BILL-AMOUNT = UNITS-USED * 5\n ELSE\n COMPUTE BILL-AMOUNT = (100 * 5) + ((UNITS-USED - 100) * 3)\n END-IF.\n DISPLAY 'Customer: ', CUSTOMER-NAME.\n DISPLAY 'Bill Amount: ', BILL-AMOUNT.\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: BILLING_SYSTEM. Description: This program calculates the billing amount for customers based on the units used.. Purpose: Demonstrate file input/output and billing calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ATTENDANCE_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 ATTENDANCE-DAYS PIC 9(3) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 WS-ATTENDANCE-DAYS PIC 9(3).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Attendance Days: ', ATTENDANCE-DAYS.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: ATTENDANCE_SYSTEM. Description: This program retrieves student attendance information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SALES_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD SALES-FILE.\n01 SALES-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-SOLD PIC 9(3).\n 05 TOTAL-AMOUNT PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALES PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT SALES-FILE.\nREAD SALES-FILE INTO SALES-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-SALES = TOTAL-SALES + TOTAL-AMOUNT\n READ SALES-FILE INTO SALES-RECORD\nEND-PERFORM.\nDISPLAY 'Total Sales: ', TOTAL-SALES.\nCLOSE SALES-FILE.",
"documentation": "Program Name: SALES_REPORT. Description: This program generates a report of total sales based on product orders.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_REPORT. Description: This program generates a report of total and average marks of students.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. LIBRARY_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD BOOK-FILE.\n01 BOOK-RECORD.\n 05 BOOK-ID PIC X(5).\n 05 BOOK-TITLE PIC X(30).\n 05 AUTHOR PIC X(20).\nWORKING-STORAGE SECTION.\n01 WS-BOOK-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT BOOK-FILE.\nACCEPT WS-BOOK-ID FROM CONSOLE.\nREAD BOOK-FILE INTO BOOK-RECORD.\nPERFORM UNTIL BOOK-ID = WS-BOOK-ID\n READ BOOK-FILE INTO BOOK-RECORD\nEND-PERFORM.\nDISPLAY 'Book ID: ', BOOK-ID.\nDISPLAY 'Title: ', BOOK-TITLE.\nDISPLAY 'Author: ', AUTHOR.\nCLOSE BOOK-FILE.",
"documentation": "Program Name: LIBRARY_SYSTEM. Description: This program retrieves book information from a file based on the book ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SALARY_CALCULATOR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 EMPLOYEE-NAME PIC X(20).\n01 HOURS-WORKED PIC 9(3) VALUE 0.\n01 HOURLY-RATE PIC 9(5)V99 VALUE 0.\n01 SALARY PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nACCEPT EMPLOYEE-NAME FROM CONSOLE.\nACCEPT HOURS-WORKED FROM CONSOLE.\nACCEPT HOURLY-RATE FROM CONSOLE.\nCOMPUTE SALARY = HOURS-WORKED * HOURLY-RATE.\nDISPLAY 'Employee: ', EMPLOYEE-NAME.\nDISPLAY 'Salary: ', SALARY.",
"documentation": "Program Name: SALARY_CALCULATOR. Description: This program calculates the salary of an employee based on the hours worked and hourly rate.. Purpose: Demonstrate basic salary calculation using user input in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_GRADE_CALCULATOR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STUDENT-NAME PIC X(20).\n01 MARKS-OBTAINED PIC 9(3) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nACCEPT STUDENT-NAME FROM CONSOLE.\nACCEPT MARKS-OBTAINED FROM CONSOLE.\nIF MARKS-OBTAINED >= 90\n MOVE 'A' TO GRADE\nELSE IF MARKS-OBTAINED >= 80\n MOVE 'B' TO GRADE\nELSE IF MARKS-OBTAINED >= 70\n MOVE 'C' TO GRADE\nELSE IF MARKS-OBTAINED >= 60\n MOVE 'D' TO GRADE\nELSE\n MOVE 'F' TO GRADE\nEND-IF.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Grade: ', GRADE.",
"documentation": "Program Name: STUDENT_GRADE_CALCULATOR. Description: This program calculates the grade of a student based on the marks obtained.. Purpose: Demonstrate conditional statements for grade calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 EMPLOYEE-DEPARTMENT PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-EMPLOYEE-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nACCEPT WS-EMPLOYEE-ID FROM CONSOLE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = WS-EMPLOYEE-ID\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Employee ID: ', EMPLOYEE-ID.\nDISPLAY 'Employee Name: ', EMPLOYEE-NAME.\nDISPLAY 'Employee Department: ', EMPLOYEE-DEPARTMENT.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_INFO. Description: This program retrieves employee information from a file based on the employee ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVENTORY_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD INVENTORY-FILE.\n01 INVENTORY-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 QUANTITY PIC 9(5) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\n01 WS-QUANTITY PIC 9(5).\nPROCEDURE DIVISION.\nOPEN INPUT INVENTORY-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nACCEPT WS-QUANTITY FROM CONSOLE.\nREAD INVENTORY-FILE INTO INVENTORY-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ INVENTORY-FILE INTO INVENTORY-RECORD\nEND-PERFORM.\nCOMPUTE QUANTITY = QUANTITY + WS-QUANTITY.\nDISPLAY 'Updated Quantity for ', PRODUCT-NAME, ': ', QUANTITY.\nCLOSE INVENTORY-FILE.",
"documentation": "Program Name: INVENTORY_MANAGER. Description: This program manages inventory by updating the quantity of a product based on user input.. Purpose: Demonstrate file input/output and record update in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_RECORD_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS PIC 9(3).\nWORKING-STORAGE SECTION.\n01 WS-TOTAL-STUDENTS PIC 9(3) VALUE 0.\n01 WS-AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL STUDENT-ID = '99999'\n ADD MARKS TO WS-TOTAL-MARKS\n ADD 1 TO WS-TOTAL-STUDENTS\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCOMPUTE AVERAGE-MARKS = WS-TOTAL-MARKS / WS-TOTAL-STUDENTS.\nDISPLAY 'Average Marks: ', AVERAGE-MARKS.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_RECORD_MANAGER. Description: This program calculates the average marks of students from a file.. Purpose: Demonstrate file input/output and average calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ATM_TRANSACTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ACCOUNT-NUMBER PIC X(10).\n01 BALANCE PIC 9(6)V99 VALUE 0.\n01 AMOUNT PIC 9(6)V99 VALUE 0.\n01 OPTION PIC 9 VALUE 0.\nPROCEDURE DIVISION.\nDISPLAY 'Welcome to the ATM.'.\nDISPLAY 'Enter your account number: '.\nACCEPT ACCOUNT-NUMBER FROM CONSOLE.\nDISPLAY 'Select your option:'\nDISPLAY '1. Withdraw'\nDISPLAY '2. Deposit'\nACCEPT OPTION FROM CONSOLE.\nIF OPTION = 1\n DISPLAY 'Enter amount to withdraw: '\n ACCEPT AMOUNT FROM CONSOLE.\n IF AMOUNT <= BALANCE\n COMPUTE BALANCE = BALANCE - AMOUNT\n DISPLAY 'Transaction Successful.'\n ELSE\n DISPLAY 'Insufficient Balance.'\n END-IF\nELSE IF OPTION = 2\n DISPLAY 'Enter amount to deposit: '\n ACCEPT AMOUNT FROM CONSOLE.\n COMPUTE BALANCE = BALANCE + AMOUNT\n DISPLAY 'Transaction Successful.'\nELSE\n DISPLAY 'Invalid Option.'\nEND-IF.",
"documentation": "Program Name: ATM_TRANSACTION. Description: This program simulates ATM transactions such as withdrawal and deposit.. Purpose: Demonstrate conditional statements and transaction processing in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_BONUS_CALCULATOR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 EMPLOYEE-ID PIC X(5).\n01 EMPLOYEE-SALARY PIC 9(6)V99 VALUE 0.\n01 BONUS PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nACCEPT EMPLOYEE-ID FROM CONSOLE.\nACCEPT EMPLOYEE-SALARY FROM CONSOLE.\nIF EMPLOYEE-SALARY >= 50000\n COMPUTE BONUS = EMPLOYEE-SALARY * 0.1\nELSE IF EMPLOYEE-SALARY >= 30000\n COMPUTE BONUS = EMPLOYEE-SALARY * 0.05\nELSE\n COMPUTE BONUS = 0\nEND-IF.\nDISPLAY 'Employee ID: ', EMPLOYEE-ID.\nDISPLAY 'Bonus: ', BONUS.",
"documentation": "Program Name: EMPLOYEE_BONUS_CALCULATOR. Description: This program calculates the bonus for an employee based on their salary.. Purpose: Demonstrate conditional statements and bonus calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. BANK_TRANSACTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ACCOUNT-NUMBER PIC X(10).\n01 BALANCE PIC 9(7)V99 VALUE 0.\n01 AMOUNT PIC 9(7)V99 VALUE 0.\n01 OPTION PIC 9 VALUE 0.\nPROCEDURE DIVISION.\nDISPLAY 'Welcome to the Bank.'.\nDISPLAY 'Enter your account number: '.\nACCEPT ACCOUNT-NUMBER FROM CONSOLE.\nDISPLAY 'Select your option:'\nDISPLAY '1. Withdraw'\nDISPLAY '2. Deposit'\nACCEPT OPTION FROM CONSOLE.\nIF OPTION = 1\n DISPLAY 'Enter amount to withdraw: '\n ACCEPT AMOUNT FROM CONSOLE.\n IF AMOUNT <= BALANCE\n COMPUTE BALANCE = BALANCE - AMOUNT\n DISPLAY 'Transaction Successful.'\n ELSE\n DISPLAY 'Insufficient Balance.'\n END-IF\nELSE IF OPTION = 2\n DISPLAY 'Enter amount to deposit: '\n ACCEPT AMOUNT FROM CONSOLE.\n COMPUTE BALANCE = BALANCE + AMOUNT\n DISPLAY 'Transaction Successful.'\nELSE\n DISPLAY 'Invalid Option.'\nEND-IF.",
"documentation": "Program Name: BANK_TRANSACTION. Description: This program simulates bank transactions such as withdrawal and deposit.. Purpose: Demonstrate conditional statements and transaction processing in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_ATTENDANCE.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 ATTENDANCE-DAYS PIC 9(3) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 WS-ATTENDANCE-DAYS PIC 9(3).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Attendance Days: ', ATTENDANCE-DAYS.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_ATTENDANCE. Description: This program retrieves student attendance information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 CITY PIC X(15).\nWORKING-STORAGE SECTION.\n01 WS-CUSTOMER-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nACCEPT WS-CUSTOMER-ID FROM CONSOLE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nPERFORM UNTIL CUSTOMER-ID = WS-CUSTOMER-ID\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nDISPLAY 'Customer ID: ', CUSTOMER-ID.\nDISPLAY 'Customer Name: ', CUSTOMER-NAME.\nDISPLAY 'City: ', CITY.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_INFO. Description: This program retrieves customer information from a file based on the customer ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_SALARY_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 SALARY PIC 9(7)V99.\nWORKING-STORAGE SECTION.\n01 WS-TOTAL-SALARY PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = '99999'\n ADD SALARY TO WS-TOTAL-SALARY\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Salary: ', WS-TOTAL-SALARY.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_SALARY_REPORT. Description: This program generates a report of the total salary of all employees.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVOICE_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-CODE PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 UNIT-PRICE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 QUANTITY-SOLD PIC 9(3).\n01 TOTAL-AMOUNT PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nDISPLAY 'Enter product code: '.\nACCEPT PRODUCT-CODE FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nDISPLAY 'Enter quantity sold: '.\nACCEPT QUANTITY-SOLD FROM CONSOLE.\nCOMPUTE TOTAL-AMOUNT = QUANTITY-SOLD * UNIT-PRICE.\nDISPLAY 'Product: ', PRODUCT-NAME.\nDISPLAY 'Total Amount: ', TOTAL-AMOUNT.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: INVOICE_GENERATOR. Description: This program generates an invoice for a product based on the quantity sold.. Purpose: Demonstrate file input/output and invoice generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_MARKS_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_MARKS_REPORT. Description: This program generates a report of total and average marks of students.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_BILLING.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 UNITS-USED PIC 9(5).\nWORKING-STORAGE SECTION.\n01 BILL-AMOUNT PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nDISPLAY 'Enter customer ID: '.\nACCEPT CUSTOMER-ID FROM CONSOLE.\nPERFORM UNTIL CUSTOMER-ID = '99999'\n IF UNITS-USED <= 100\n COMPUTE BILL-AMOUNT = UNITS-USED * 5\n ELSE\n COMPUTE BILL-AMOUNT = (100 * 5) + ((UNITS-USED - 100) * 3)\n END-IF.\n DISPLAY 'Customer: ', CUSTOMER-NAME.\n DISPLAY 'Bill Amount: ', BILL-AMOUNT.\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_BILLING. Description: This program calculates the billing amount for customers based on the units used.. Purpose: Demonstrate file input/output and billing calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_ADMISSION.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS PIC 9(3).\nWORKING-STORAGE SECTION.\n01 SELECTED-STUDENTS PIC 9(3) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nPERFORM UNTIL SELECTED-STUDENTS = 5\n READ STUDENT-FILE INTO STUDENT-RECORD.\n IF MARKS >= 80\n DISPLAY 'Selected Student: ', STUDENT-NAME.\n ADD 1 TO SELECTED-STUDENTS\n END-IF\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_ADMISSION. Description: This program selects top 5 students for admission based on their marks.. Purpose: Demonstrate file input/output and selection process in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STOCK_PRICE_CALCULATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STOCK-FILE.\n01 STOCK-RECORD.\n 05 STOCK-ID PIC X(5).\n 05 STOCK-NAME PIC X(20).\n 05 STOCK-PRICE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-VALUE PIC 9(8)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STOCK-FILE.\nREAD STOCK-FILE INTO STOCK-RECORD.\nPERFORM UNTIL STOCK-ID = '99999'\n COMPUTE TOTAL-VALUE = TOTAL-VALUE + (STOCK-PRICE * 100)\n READ STOCK-FILE INTO STOCK-RECORD\nEND-PERFORM.\nDISPLAY 'Total Stock Value: ', TOTAL-VALUE.\nCLOSE STOCK-FILE.",
"documentation": "Program Name: STOCK_PRICE_CALCULATOR. Description: This program calculates the total value of stocks based on their prices and quantities.. Purpose: Demonstrate file input/output and total value calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_SALES_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD SALES-FILE.\n01 SALES-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-SOLD PIC 9(3).\n 05 TOTAL-AMOUNT PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALES PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT SALES-FILE.\nREAD SALES-FILE INTO SALES-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-SALES = TOTAL-SALES + TOTAL-AMOUNT\n READ SALES-FILE INTO SALES-RECORD\nEND-PERFORM.\nDISPLAY 'Total Sales: ', TOTAL-SALES.\nCLOSE SALES-FILE.",
"documentation": "Program Name: PRODUCT_SALES_REPORT. Description: This program generates a report of total sales based on product orders.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_PAYROLL.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 HOURS-WORKED PIC 9(3).\n 05 HOURLY-WAGE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-PAYROLL PIC 9(8)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = '99999'\n COMPUTE TOTAL-PAYROLL = TOTAL-PAYROLL + (HOURS-WORKED * HOURLY-WAGE)\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Payroll: ', TOTAL-PAYROLL.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_PAYROLL. Description: This program calculates the total payroll for employees based on hours worked and hourly wage.. Purpose: Demonstrate file input/output and payroll calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_MARKSHEET_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n IF AVERAGE-MARKS >= 80\n MOVE 'A' TO GRADE\n ELSE IF AVERAGE-MARKS >= 60\n MOVE 'B' TO GRADE\n ELSE IF AVERAGE-MARKS >= 40\n MOVE 'C' TO GRADE\n ELSE\n MOVE 'F' TO GRADE\n END-IF\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n DISPLAY 'Grade: ', GRADE.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_MARKSHEET_GENERATOR. Description: This program generates a marksheet for students based on their marks and calculates their grades.. Purpose: Demonstrate file input/output, calculations, and grading in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ORDER_PROCESSING.\nDATA DIVISION.\nFILE SECTION.\nFD ORDER-FILE.\n01 ORDER-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-ORDERED PIC 9(3).\n 05 ORDER-TOTAL PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-ORDERS PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT ORDER-FILE.\nREAD ORDER-FILE INTO ORDER-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-ORDERS = TOTAL-ORDERS + ORDER-TOTAL\n READ ORDER-FILE INTO ORDER-RECORD\nEND-PERFORM.\nDISPLAY 'Total Orders: ', TOTAL-ORDERS.\nCLOSE ORDER-FILE.",
"documentation": "Program Name: ORDER_PROCESSING. Description: This program processes orders and calculates the total order value.. Purpose: Demonstrate file input/output and order processing in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_INFO_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 CITY PIC X(15).\nWORKING-STORAGE SECTION.\n01 WS-CUSTOMER-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nACCEPT WS-CUSTOMER-ID FROM CONSOLE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nPERFORM UNTIL CUSTOMER-ID = WS-CUSTOMER-ID\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nDISPLAY 'Customer ID: ', CUSTOMER-ID.\nDISPLAY 'Customer Name: ', CUSTOMER-NAME.\nDISPLAY 'City: ', CITY.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_INFO_MANAGER. Description: This program retrieves customer information from a file based on the customer ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_INFO_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 AGE PIC 9(2).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Age: ', AGE.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_INFO_MANAGER. Description: This program retrieves student information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_INFO_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 CATEGORY PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ PRODUCT-FILE INTO PRODUCT-RECORD\nEND-PERFORM.\nDISPLAY 'Product ID: ', PRODUCT-ID.\nDISPLAY 'Product Name: ', PRODUCT-NAME.\nDISPLAY 'Category: ', CATEGORY.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: PRODUCT_INFO_MANAGER. Description: This program retrieves product information from a file based on the product ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_MARKS_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD MARKS-FILE.\n01 MARKS-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT MARKS-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD MARKS-FILE INTO MARKS-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n READ MARKS-FILE INTO MARKS-RECORD\nEND-PERFORM.\nDISPLAY 'Total Marks: ', TOTAL-MARKS.\nCLOSE MARKS-FILE.",
"documentation": "Program Name: STUDENT_MARKS_MANAGER. Description: This program retrieves student marks from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 CATEGORY PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ PRODUCT-FILE INTO PRODUCT-RECORD\nEND-PERFORM.\nDISPLAY 'Product ID: ', PRODUCT-ID.\nDISPLAY 'Product Name: ', PRODUCT-NAME.\nDISPLAY 'Category: ', CATEGORY.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: PRODUCT_MANAGER. Description: This program retrieves product information from a file based on the product ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 AGE PIC 9(2).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Age: ', AGE.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_INFO. Description: This program retrieves student information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MARKSHEET_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n IF AVERAGE-MARKS >= 80\n MOVE 'A' TO GRADE\n ELSE IF AVERAGE-MARKS >= 60\n MOVE 'B' TO GRADE\n ELSE IF AVERAGE-MARKS >= 40\n MOVE 'C' TO GRADE\n ELSE\n MOVE 'F' TO GRADE\n END-IF\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n DISPLAY 'Grade: ', GRADE.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: MARKSHEET_GENERATOR. Description: This program generates a marksheet for students based on their marks and calculates their grades.. Purpose: Demonstrate file input/output, calculations, and grading in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. BILLING_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 UNITS-USED PIC 9(5).\nWORKING-STORAGE SECTION.\n01 BILL-AMOUNT PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nDISPLAY 'Enter customer ID: '.\nACCEPT CUSTOMER-ID FROM CONSOLE.\nPERFORM UNTIL CUSTOMER-ID = '99999'\n IF UNITS-USED <= 100\n COMPUTE BILL-AMOUNT = UNITS-USED * 5\n ELSE\n COMPUTE BILL-AMOUNT = (100 * 5) + ((UNITS-USED - 100) * 3)\n END-IF.\n DISPLAY 'Customer: ', CUSTOMER-NAME.\n DISPLAY 'Bill Amount: ', BILL-AMOUNT.\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: BILLING_SYSTEM. Description: This program calculates the billing amount for customers based on the units used.. Purpose: Demonstrate file input/output and billing calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ATTENDANCE_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 ATTENDANCE-DAYS PIC 9(3) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 WS-ATTENDANCE-DAYS PIC 9(3).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Attendance Days: ', ATTENDANCE-DAYS.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: ATTENDANCE_SYSTEM. Description: This program retrieves student attendance information from a file based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SALES_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD SALES-FILE.\n01 SALES-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-SOLD PIC 9(3).\n 05 TOTAL-AMOUNT PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALES PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT SALES-FILE.\nREAD SALES-FILE INTO SALES-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-SALES = TOTAL-SALES + TOTAL-AMOUNT\n READ SALES-FILE INTO SALES-RECORD\nEND-PERFORM.\nDISPLAY 'Total Sales: ', TOTAL-SALES.\nCLOSE SALES-FILE.",
"documentation": "Program Name: SALES_REPORT. Description: This program generates a report of total sales based on product orders.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_REPORT. Description: This program generates a report of total and average marks of students.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. LIBRARY_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD BOOK-FILE.\n01 BOOK-RECORD.\n 05 BOOK-ID PIC X(5).\n 05 BOOK-TITLE PIC X(30).\n 05 AUTHOR PIC X(20).\nWORKING-STORAGE SECTION.\n01 WS-BOOK-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT BOOK-FILE.\nACCEPT WS-BOOK-ID FROM CONSOLE.\nREAD BOOK-FILE INTO BOOK-RECORD.\nPERFORM UNTIL BOOK-ID = WS-BOOK-ID\n READ BOOK-FILE INTO BOOK-RECORD\nEND-PERFORM.\nDISPLAY 'Book ID: ', BOOK-ID.\nDISPLAY 'Title: ', BOOK-TITLE.\nDISPLAY 'Author: ', AUTHOR.\nCLOSE BOOK-FILE.",
"documentation": "Program Name: LIBRARY_SYSTEM. Description: This program retrieves book information from a file based on the book ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EMPLOYEE_DATABASE.\nDATA DIVISION.\nFILE SECTION.\nFD EMPLOYEE-FILE.\n01 EMPLOYEE-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 EMPLOYEE-NAME PIC X(20).\n 05 DEPARTMENT PIC X(10).\n 05 SALARY PIC 9(7)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALARY PIC 9(9)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT EMPLOYEE-FILE.\nREAD EMPLOYEE-FILE INTO EMPLOYEE-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = '99999'\n ADD SALARY TO TOTAL-SALARY\n DISPLAY 'Employee: ', EMPLOYEE-NAME.\n DISPLAY 'Department: ', DEPARTMENT.\n DISPLAY 'Salary: ', SALARY.\n READ EMPLOYEE-FILE INTO EMPLOYEE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Salary: ', TOTAL-SALARY.\nCLOSE EMPLOYEE-FILE.",
"documentation": "Program Name: EMPLOYEE_DATABASE. Description: This program manages an employee database, calculating total salaries and displaying employee details.. Purpose: Demonstrate file input/output and total salary calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_RECORDS.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 COURSE PIC X(15).\n 05 MARKS-OBTAINED PIC 9(3).\nWORKING-STORAGE SECTION.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\n01 PASS-FAIL PIC X.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE AVERAGE-MARKS = MARKS-OBTAINED / 3\n IF MARKS-OBTAINED >= 40\n MOVE 'PASS' TO PASS-FAIL\n ELSE\n MOVE 'FAIL' TO PASS-FAIL\n END-IF.\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Course: ', COURSE.\n DISPLAY 'Marks Obtained: ', MARKS-OBTAINED.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n DISPLAY 'Result: ', PASS-FAIL.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_RECORDS. Description: This program manages student records, calculating average marks and determining pass/fail status.. Purpose: Demonstrate file input/output, calculations, and result determination in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_DETAILS.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 ADDRESS PIC X(30).\n 05 BALANCE-DUE PIC 9(7)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-DUE PIC 9(9)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nPERFORM UNTIL CUSTOMER-ID = '99999'\n ADD BALANCE-DUE TO TOTAL-DUE\n DISPLAY 'Customer: ', CUSTOMER-NAME.\n DISPLAY 'Address: ', ADDRESS.\n DISPLAY 'Balance Due: ', BALANCE-DUE.\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nDISPLAY 'Total Due: ', TOTAL-DUE.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: CUSTOMER_DETAILS. Description: This program manages customer details, calculating total balance due and displaying customer information.. Purpose: Demonstrate file input/output and total balance due calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVENTORY_CONTROL.\nDATA DIVISION.\nFILE SECTION.\nFD INVENTORY-FILE.\n01 ITEM-RECORD.\n 05 ITEM-NUMBER PIC X(5).\n 05 ITEM-NAME PIC X(30).\n 05 QUANTITY-ON-HAND PIC 9(5).\n 05 UNIT-PRICE PIC 9(7)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-VALUE PIC 9(9)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT INVENTORY-FILE.\nREAD INVENTORY-FILE INTO ITEM-RECORD.\nPERFORM UNTIL ITEM-NUMBER = '99999'\n COMPUTE TOTAL-VALUE = TOTAL-VALUE + (QUANTITY-ON-HAND * UNIT-PRICE)\n DISPLAY 'Item: ', ITEM-NAME.\n DISPLAY 'Quantity on Hand: ', QUANTITY-ON-HAND.\n DISPLAY 'Unit Price: ', UNIT-PRICE.\n READ INVENTORY-FILE INTO ITEM-RECORD\nEND-PERFORM.\nDISPLAY 'Total Inventory Value: ', TOTAL-VALUE.\nCLOSE INVENTORY-FILE.",
"documentation": "Program Name: INVENTORY_CONTROL. Description: This program manages inventory control, calculating total inventory value and displaying item details.. Purpose: Demonstrate file input/output and total inventory value calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_GRADES.\nDATA DIVISION.\nFILE SECTION.\nFD GRADES-FILE.\n01 GRADE-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 SUBJECT PIC X(20).\n 05 GRADE PIC X.\nWORKING-STORAGE SECTION.\n01 FAILED-STUDENTS PIC 9(3) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT GRADES-FILE.\nREAD GRADES-FILE INTO GRADE-RECORD.\nPERFORM UNTIL STUDENT-ID = '99999'\n IF GRADE = 'F'\n ADD 1 TO FAILED-STUDENTS\n END-IF\n DISPLAY 'Student ID: ', STUDENT-ID.\n DISPLAY 'Subject: ', SUBJECT.\n DISPLAY 'Grade: ', GRADE.\n READ GRADES-FILE INTO GRADE-RECORD\nEND-PERFORM.\nDISPLAY 'Failed Students: ', FAILED-STUDENTS.\nCLOSE GRADES-FILE.",
"documentation": "Program Name: STUDENT_GRADES. Description: This program manages student grades, counting the number of failed students and displaying grade details.. Purpose: Demonstrate file input/output and grade analysis in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_CATALOG.\nDATA DIVISION.\nFILE SECTION.\nFD CATALOG-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 DESCRIPTION PIC X(30).\n 05 PRICE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-PRODUCTS PIC 9(5) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CATALOG-FILE.\nREAD CATALOG-FILE INTO PRODUCT-RECORD.\nPERFORM UNTIL PRODUCT-ID = '99999'\n ADD 1 TO TOTAL-PRODUCTS\n DISPLAY 'Product ID: ', PRODUCT-ID.\n DISPLAY 'Description: ', DESCRIPTION.\n DISPLAY 'Price: ', PRICE.\n READ CATALOG-FILE INTO PRODUCT-RECORD\nEND-PERFORM.\nDISPLAY 'Total Products: ', TOTAL-PRODUCTS.\nCLOSE CATALOG-FILE.",
"documentation": "Program Name: PRODUCT_CATALOG. Description: This program manages a product catalog, counting the total number of products and displaying product details.. Purpose: Demonstrate file input/output and product catalog management in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PAYROLL_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD PAYROLL-FILE.\n01 PAYROLL-RECORD.\n 05 EMPLOYEE-ID PIC X(5).\n 05 HOURS-WORKED PIC 9(3).\n 05 HOURLY-RATE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-PAYROLL PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT PAYROLL-FILE.\nREAD PAYROLL-FILE INTO PAYROLL-RECORD.\nPERFORM UNTIL EMPLOYEE-ID = '99999'\n COMPUTE TOTAL-PAYROLL = TOTAL-PAYROLL + (HOURS-WORKED * HOURLY-RATE)\n DISPLAY 'Employee ID: ', EMPLOYEE-ID.\n DISPLAY 'Hours Worked: ', HOURS-WORKED.\n DISPLAY 'Hourly Rate: ', HOURLY-RATE.\n READ PAYROLL-FILE INTO PAYROLL-RECORD\nEND-PERFORM.\nDISPLAY 'Total Payroll: ', TOTAL-PAYROLL.\nCLOSE PAYROLL-FILE.",
"documentation": "Program Name: PAYROLL_SYSTEM. Description: This program manages payroll calculations, computing total payroll and displaying employee details.. Purpose: Demonstrate file input/output and payroll computation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_ORDERS.\nDATA DIVISION.\nFILE SECTION.\nFD ORDERS-FILE.\n01 ORDER-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-ORDERED PIC 9(3).\n 05 ORDER-TOTAL PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-ORDERS PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT ORDERS-FILE.\nREAD ORDERS-FILE INTO ORDER-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-ORDERS = TOTAL-ORDERS + ORDER-TOTAL\n DISPLAY 'Order Number: ', ORDER-NUMBER.\n DISPLAY 'Customer ID: ', CUSTOMER-ID.\n DISPLAY 'Product ID: ', PRODUCT-ID.\n DISPLAY 'Quantity Ordered: ', QUANTITY-ORDERED.\n READ ORDERS-FILE INTO ORDER-RECORD\nEND-PERFORM.\nDISPLAY 'Total Orders: ', TOTAL-ORDERS.\nCLOSE ORDERS-FILE.",
"documentation": "Program Name: CUSTOMER_ORDERS. Description: This program manages customer orders, calculating total order value and displaying order details.. Purpose: Demonstrate file input/output and order management in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. BANK_ACCOUNTS.\nDATA DIVISION.\nFILE SECTION.\nFD ACCOUNT-FILE.\n01 ACCOUNT-RECORD.\n 05 ACCOUNT-NUMBER PIC X(10).\n 05 HOLDER-NAME PIC X(30).\n 05 BALANCE PIC 9(9)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-BALANCE PIC 9(9)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT ACCOUNT-FILE.\nREAD ACCOUNT-FILE INTO ACCOUNT-RECORD.\nPERFORM UNTIL ACCOUNT-NUMBER = '9999999999'\n ADD BALANCE TO TOTAL-BALANCE\n DISPLAY 'Account Number: ', ACCOUNT-NUMBER.\n DISPLAY 'Holder Name: ', HOLDER-NAME.\n DISPLAY 'Balance: ', BALANCE.\n READ ACCOUNT-FILE INTO ACCOUNT-RECORD\nEND-PERFORM.\nDISPLAY 'Total Balance: ', TOTAL-BALANCE.\nCLOSE ACCOUNT-FILE.",
"documentation": "Program Name: BANK_ACCOUNTS. Description: This program manages bank accounts, calculating total balance and displaying account details.. Purpose: Demonstrate file input/output and bank account management in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SALES_ANALYSIS.\nDATA DIVISION.\nFILE SECTION.\nFD SALES-FILE.\n01 SALE-RECORD.\n 05 TRANSACTION-ID PIC X(10).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-SOLD PIC 9(3).\n 05 SALE-AMOUNT PIC 9(7)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALES PIC 9(9)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT SALES-FILE.\nREAD SALES-FILE INTO SALE-RECORD.\nPERFORM UNTIL TRANSACTION-ID = '9999999999'\n COMPUTE TOTAL-SALES = TOTAL-SALES + SALE-AMOUNT\n DISPLAY 'Transaction ID: ', TRANSACTION-ID.\n DISPLAY 'Customer ID: ', CUSTOMER-ID.\n DISPLAY 'Product ID: ', PRODUCT-ID.\n DISPLAY 'Quantity Sold: ', QUANTITY-SOLD.\n READ SALES-FILE INTO SALE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Sales: ', TOTAL-SALES.\nCLOSE SALES-FILE.",
"documentation": "Program Name: SALES_ANALYSIS. Description: This program analyzes sales data, calculating total sales and displaying transaction details.. Purpose: Demonstrate file input/output and sales analysis in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRODUCT_MANAGER.\nDATA DIVISION.\nFILE SECTION.\nFD PRODUCT-FILE.\n01 PRODUCT-RECORD.\n 05 PRODUCT-ID PIC X(5).\n 05 PRODUCT-NAME PIC X(20).\n 05 CATEGORY PIC X(10).\nWORKING-STORAGE SECTION.\n01 WS-PRODUCT-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT PRODUCT-FILE.\nACCEPT WS-PRODUCT-ID FROM CONSOLE.\nREAD PRODUCT-FILE INTO PRODUCT-RECORD.\nPERFORM UNTIL PRODUCT-ID = WS-PRODUCT-ID\n READ PRODUCT-FILE INTO PRODUCT-RECORD\nEND-PERFORM.\nDISPLAY 'Product ID: ', PRODUCT-ID.\nDISPLAY 'Product Name: ', PRODUCT-NAME.\nDISPLAY 'Category: ', CATEGORY.\nCLOSE PRODUCT-FILE.",
"documentation": "Program Name: PRODUCT_MANAGER. Description: This program manages product information, retrieving details based on the product ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_INFO.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 AGE PIC 9(2).\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nDISPLAY 'Student: ', STUDENT-NAME.\nDISPLAY 'Age: ', AGE.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_INFO. Description: This program manages student information, retrieving details based on the roll number provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MARKSHEET_GENERATOR.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\n01 GRADE PIC X.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n IF AVERAGE-MARKS >= 80\n MOVE 'A' TO GRADE\n ELSE IF AVERAGE-MARKS >= 60\n MOVE 'B' TO GRADE\n ELSE IF AVERAGE-MARKS >= 40\n MOVE 'C' TO GRADE\n ELSE\n MOVE 'F' TO GRADE\n END-IF\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n DISPLAY 'Grade: ', GRADE.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: MARKSHEET_GENERATOR. Description: This program generates a marksheet for students based on their marks and calculates their grades.. Purpose: Demonstrate file input/output, calculations, and grading in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. BILLING_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD CUSTOMER-FILE.\n01 CUSTOMER-RECORD.\n 05 CUSTOMER-ID PIC X(5).\n 05 CUSTOMER-NAME PIC X(20).\n 05 UNITS-USED PIC 9(5).\nWORKING-STORAGE SECTION.\n01 BILL-AMOUNT PIC 9(6)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT CUSTOMER-FILE.\nREAD CUSTOMER-FILE INTO CUSTOMER-RECORD.\nDISPLAY 'Enter customer ID: '.\nACCEPT CUSTOMER-ID FROM CONSOLE.\nPERFORM UNTIL CUSTOMER-ID = '99999'\n IF UNITS-USED <= 100\n COMPUTE BILL-AMOUNT = UNITS-USED * 5\n ELSE\n COMPUTE BILL-AMOUNT = (100 * 5) + ((UNITS-USED - 100) * 3)\n END-IF.\n DISPLAY 'Customer: ', CUSTOMER-NAME.\n DISPLAY 'Bill Amount: ', BILL-AMOUNT.\n READ CUSTOMER-FILE INTO CUSTOMER-RECORD\nEND-PERFORM.\nCLOSE CUSTOMER-FILE.",
"documentation": "Program Name: BILLING_SYSTEM. Description: This program calculates the billing amount for customers based on the units used.. Purpose: Demonstrate file input/output and billing calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ATTENDANCE_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 ATTENDANCE-DAYS PIC 9(3) VALUE 0.\nWORKING-STORAGE SECTION.\n01 WS-ROLL-NUMBER PIC X(5).\n01 AVERAGE-ATTENDANCE PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nDISPLAY 'Enter Roll Number: '.\nACCEPT WS-ROLL-NUMBER FROM CONSOLE.\nPERFORM UNTIL ROLL-NUMBER = WS-ROLL-NUMBER\n COMPUTE AVERAGE-ATTENDANCE = ATTENDANCE-DAYS / 30 * 100\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Attendance Percentage: ', AVERAGE-ATTENDANCE.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: ATTENDANCE_SYSTEM. Description: This program calculates the attendance percentage of students based on the days attended.. Purpose: Demonstrate file input/output and attendance calculation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CUSTOMER_INVOICES.\nDATA DIVISION.\nFILE SECTION.\nFD INVOICE-FILE.\n01 INVOICE-RECORD.\n 05 INVOICE-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 ITEM-CODE PIC X(5).\n 05 QUANTITY-ORDERED PIC 9(3).\n 05 UNIT-PRICE PIC 9(5)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-INVOICE PIC 9(8)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT INVOICE-FILE.\nREAD INVOICE-FILE INTO INVOICE-RECORD.\nPERFORM UNTIL INVOICE-NUMBER = '99999999'\n COMPUTE TOTAL-INVOICE = TOTAL-INVOICE + (QUANTITY-ORDERED * UNIT-PRICE)\n DISPLAY 'Invoice Number: ', INVOICE-NUMBER.\n DISPLAY 'Customer ID: ', CUSTOMER-ID.\n DISPLAY 'Item Code: ', ITEM-CODE.\n DISPLAY 'Quantity Ordered: ', QUANTITY-ORDERED.\n READ INVOICE-FILE INTO INVOICE-RECORD\nEND-PERFORM.\nDISPLAY 'Total Invoice Amount: ', TOTAL-INVOICE.\nCLOSE INVOICE-FILE.",
"documentation": "Program Name: CUSTOMER_INVOICES. Description: This program manages customer invoices, calculating total invoice amount and displaying invoice details.. Purpose: Demonstrate file input/output and invoice management in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SALES_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD SALES-FILE.\n01 SALES-RECORD.\n 05 ORDER-NUMBER PIC X(8).\n 05 CUSTOMER-ID PIC X(5).\n 05 PRODUCT-ID PIC X(5).\n 05 QUANTITY-SOLD PIC 9(3).\n 05 TOTAL-AMOUNT PIC 9(6)V99.\nWORKING-STORAGE SECTION.\n01 TOTAL-SALES PIC 9(7)V99 VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT SALES-FILE.\nREAD SALES-FILE INTO SALES-RECORD.\nPERFORM UNTIL ORDER-NUMBER = '99999999'\n COMPUTE TOTAL-SALES = TOTAL-SALES + TOTAL-AMOUNT\n DISPLAY 'Total Sales: ', TOTAL-SALES.\n READ SALES-FILE INTO SALES-RECORD\nEND-PERFORM.\nDISPLAY 'Total Sales: ', TOTAL-SALES.\nCLOSE SALES-FILE.",
"documentation": "Program Name: SALES_REPORT. Description: This program generates a report of total sales based on product orders.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STUDENT_REPORT.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 ROLL-NUMBER PIC X(5).\n 05 STUDENT-NAME PIC X(20).\n 05 MARKS1 PIC 9(3).\n 05 MARKS2 PIC 9(3).\n 05 MARKS3 PIC 9(3).\nWORKING-STORAGE SECTION.\n01 TOTAL-MARKS PIC 9(3) VALUE 0.\n01 AVERAGE-MARKS PIC 9(3)V9(2) VALUE 0.\nPROCEDURE DIVISION.\nOPEN INPUT STUDENT-FILE.\nREAD STUDENT-FILE INTO STUDENT-RECORD.\nPERFORM UNTIL ROLL-NUMBER = '99999'\n COMPUTE TOTAL-MARKS = MARKS1 + MARKS2 + MARKS3\n COMPUTE AVERAGE-MARKS = TOTAL-MARKS / 3\n DISPLAY 'Student: ', STUDENT-NAME.\n DISPLAY 'Total Marks: ', TOTAL-MARKS.\n DISPLAY 'Average Marks: ', AVERAGE-MARKS.\n READ STUDENT-FILE INTO STUDENT-RECORD\nEND-PERFORM.\nCLOSE STUDENT-FILE.",
"documentation": "Program Name: STUDENT_REPORT. Description: This program generates a report of total and average marks of students.. Purpose: Demonstrate file input/output and report generation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. LIBRARY_SYSTEM.\nDATA DIVISION.\nFILE SECTION.\nFD BOOK-FILE.\n01 BOOK-RECORD.\n 05 BOOK-ID PIC X(5).\n 05 BOOK-TITLE PIC X(30).\n 05 AUTHOR PIC X(20).\nWORKING-STORAGE SECTION.\n01 WS-BOOK-ID PIC X(5).\nPROCEDURE DIVISION.\nOPEN INPUT BOOK-FILE.\nACCEPT WS-BOOK-ID FROM CONSOLE.\nREAD BOOK-FILE INTO BOOK-RECORD.\nPERFORM UNTIL BOOK-ID = WS-BOOK-ID\n READ BOOK-FILE INTO BOOK-RECORD\nEND-PERFORM.\nDISPLAY 'Book ID: ', BOOK-ID.\nDISPLAY 'Title: ', BOOK-TITLE.\nDISPLAY 'Author: ', AUTHOR.\nCLOSE BOOK-FILE.",
"documentation": "Program Name: LIBRARY_SYSTEM. Description: This program retrieves book information from a file based on the book ID provided by the user.. Purpose: Demonstrate file input/output and record retrieval in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SIMPLE_IF.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9 VALUE 5.\nPROCEDURE DIVISION.\nIF NUM > 0\n DISPLAY 'Number is positive'\nELSE\n DISPLAY 'Number is non-positive'\nSTOP RUN.",
"documentation": "Program Name: SIMPLE_IF. Description: This program demonstrates a simple IF statement.. Purpose: Illustrate basic conditional branching in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. IF_ELSE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 MARKS PIC 99 VALUE 85.\nPROCEDURE DIVISION.\nIF MARKS >= 90\n DISPLAY 'Grade: A'\nELSE IF MARKS >= 80\n DISPLAY 'Grade: B'\nELSE IF MARKS >= 70\n DISPLAY 'Grade: C'\nELSE\n DISPLAY 'Grade: F'\nSTOP RUN.",
"documentation": "Program Name: IF_ELSE. Description: This program assigns grades based on student marks using IF-ELSE statements.. Purpose: Showcase cascading conditional logic in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PERFORM_UNTIL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 COUNTER PIC 99 VALUE 1.\nPROCEDURE DIVISION.\nPERFORM UNTIL COUNTER > 5\n DISPLAY 'Counter Value: ', COUNTER\n ADD 1 TO COUNTER\nEND-PERFORM.\nSTOP RUN.",
"documentation": "Program Name: PERFORM_UNTIL. Description: This program demonstrates a loop using PERFORM UNTIL.. Purpose: Illustrate iterative control flow in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PERFORM_THRU.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 I PIC 9 VALUE 1.\nPROCEDURE DIVISION.\nPERFORM 5 TIMES\n DISPLAY 'Iteration: ', I\n ADD 1 TO I\nEND-PERFORM.\nSTOP RUN.",
"documentation": "Program Name: PERFORM_THRU. Description: This program demonstrates a loop using PERFORM THROUGH.. Purpose: Illustrate iterative control flow in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SIMPLE_DIVISION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMERATOR PIC 99 VALUE 10.\n01 DENOMINATOR PIC 99 VALUE 0.\n01 RESULT PIC 99.\nPROCEDURE DIVISION.\nDIVIDE NUMERATOR BY DENOMINATOR GIVING RESULT.\nDISPLAY 'Result: ', RESULT.\nSTOP RUN.",
"documentation": "Program Name: SIMPLE_DIVISION. Description: This program demonstrates division in COBOL with error handling.. Purpose: Illustrate error handling with division by zero."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SIMPLE_ADDITION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM1 PIC 99 VALUE 10.\n01 NUM2 PIC 99 VALUE 20.\n01 SUM PIC 99.\nPROCEDURE DIVISION.\nCOMPUTE SUM = NUM1 + NUM2.\nDISPLAY 'Sum: ', SUM.\nSTOP RUN.",
"documentation": "Program Name: SIMPLE_ADDITION. Description: This program demonstrates addition in COBOL using COMPUTE statement.. Purpose: Illustrate basic arithmetic operation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. READ_FILE.\nDATA DIVISION.\nFILE SECTION.\nFD INPUT-FILE.\n01 RECORD-IN.\n 05 ID PIC X(5).\n 05 NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 EOF PIC X VALUE 'N'.\nPROCEDURE DIVISION.\nOPEN INPUT INPUT-FILE.\nREAD INPUT-FILE INTO RECORD-IN\n AT END\n MOVE 'Y' TO EOF.\nPERFORM UNTIL EOF = 'Y'\n DISPLAY 'ID: ', ID\n DISPLAY 'Name: ', NAME\n READ INPUT-FILE INTO RECORD-IN\n AT END\n MOVE 'Y' TO EOF.\nEND-PERFORM.\nCLOSE INPUT-FILE.\nSTOP RUN.",
"documentation": "Program Name: READ_FILE. Description: This program reads records from a file until the end of file is reached.. Purpose: Illustrate file input handling in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_AVERAGE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 MARKS PIC 99 OCCURS 5 TIMES.\n01 TOTAL-MARKS PIC 999.\n01 AVERAGE PIC 999V99.\nPROCEDURE DIVISION.\nCOMPUTE TOTAL-MARKS = MARKS(1) + MARKS(2) + MARKS(3) + MARKS(4) + MARKS(5).\nCOMPUTE AVERAGE = TOTAL-MARKS / 5.\nDISPLAY 'Total Marks: ', TOTAL-MARKS.\nDISPLAY 'Average Marks: ', AVERAGE.\nSTOP RUN.",
"documentation": "Program Name: CALCULATE_AVERAGE. Description: This program calculates the average of five marks.. Purpose: Illustrate array handling and arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. NESTED_IF.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 MARKS PIC 99 VALUE 85.\nPROCEDURE DIVISION.\nIF MARKS >= 90\n DISPLAY 'Grade: A'\nELSE\n IF MARKS >= 80\n DISPLAY 'Grade: B'\n ELSE\n IF MARKS >= 70\n DISPLAY 'Grade: C'\n ELSE\n DISPLAY 'Grade: F'\n END-IF\n END-IF\nEND-IF\nSTOP RUN.",
"documentation": "Program Name: NESTED_IF. Description: This program assigns grades based on student marks using nested IF statements.. Purpose: Showcase nested conditional logic in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SWITCH_CASE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 DAY-NUMBER PIC 99 VALUE 1.\nPROCEDURE DIVISION.\nEVALUATE DAY-NUMBER\n WHEN 1 DISPLAY 'Sunday'\n WHEN 2 DISPLAY 'Monday'\n WHEN 3 DISPLAY 'Tuesday'\n WHEN 4 DISPLAY 'Wednesday'\n WHEN 5 DISPLAY 'Thursday'\n WHEN 6 DISPLAY 'Friday'\n WHEN 7 DISPLAY 'Saturday'\n WHEN OTHER DISPLAY 'Invalid Day'\nEND-EVALUATE.\nSTOP RUN.",
"documentation": "Program Name: SWITCH_CASE. Description: This program displays the name of the day based on the day number using EVALUATE statement.. Purpose: Illustrate alternative to nested IF-ELSE statements in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ADD_EVEN_NUMBERS.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 SUM PIC 999.\n01 I PIC 99 VALUE 0.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > 10\n IF I MOD 2 = 0\n ADD I TO SUM\nEND-PERFORM.\nDISPLAY 'Sum of even numbers from 1 to 10: ', SUM.\nSTOP RUN.",
"documentation": "Program Name: ADD_EVEN_NUMBERS. Description: This program calculates the sum of even numbers between 1 and 10.. Purpose: Illustrate looping and conditional statements in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FIND_FACTORIAL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 N PIC 99 VALUE 5.\n01 FACTORIAL PIC 9999.\n01 I PIC 99.\nPROCEDURE DIVISION.\nMOVE 1 TO FACTORIAL.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > N\n MULTIPLY FACTORIAL BY I\nEND-PERFORM.\nDISPLAY 'Factorial of ', N, ' is ', FACTORIAL.\nSTOP RUN.",
"documentation": "Program Name: FIND_FACTORIAL. Description: This program calculates the factorial of a number.. Purpose: Illustrate iterative solution using PERFORM loop in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. COUNT_VOWELS.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 TEXT PIC X(50) VALUE 'This is a sample text'.\n01 VOWEL-COUNT PIC 99 VALUE 0.\n01 I PIC 99.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > LENGTH OF TEXT\n IF TEXT(I) = 'A' OR 'E' OR 'I' OR 'O' OR 'U'\n ADD 1 TO VOWEL-COUNT\nEND-PERFORM.\nDISPLAY 'Number of vowels: ', VOWEL-COUNT.\nSTOP RUN.",
"documentation": "Program Name: COUNT_VOWELS. Description: This program counts the number of vowels in a given text.. Purpose: Illustrate string manipulation and conditional statements in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. REVERSE_STRING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ORIGINAL-STRING PIC X(50) VALUE 'COBOL Programming'.\n01 REVERSED-STRING PIC X(50).\n01 I PIC 99.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM LENGTH OF ORIGINAL-STRING BY -1 UNTIL I = 0\n MOVE ORIGINAL-STRING(I:1) TO REVERSED-STRING(LENGTH OF ORIGINAL-STRING - I + 1:1)\nEND-PERFORM.\nDISPLAY 'Original String: ', ORIGINAL-STRING.\nDISPLAY 'Reversed String: ', REVERSED-STRING.\nSTOP RUN.",
"documentation": "Program Name: REVERSE_STRING. Description: This program reverses a given string.. Purpose: Illustrate string manipulation and iterative solution in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. READ_DISPLAY_FILE.\nDATA DIVISION.\nFILE SECTION.\nFD INPUT-FILE.\n01 RECORD-IN.\n 05 ID PIC X(5).\n 05 NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 EOF PIC X VALUE 'N'.\nPROCEDURE DIVISION.\nOPEN INPUT INPUT-FILE.\nREAD INPUT-FILE INTO RECORD-IN\n AT END\n MOVE 'Y' TO EOF.\nPERFORM UNTIL EOF = 'Y'\n DISPLAY 'ID: ', ID\n DISPLAY 'Name: ', NAME\n READ INPUT-FILE INTO RECORD-IN\n AT END\n MOVE 'Y' TO EOF.\nEND-PERFORM.\nCLOSE INPUT-FILE.\nSTOP RUN.",
"documentation": "Program Name: READ_DISPLAY_FILE. Description: This program reads records from a file and displays them until the end of file is reached.. Purpose: Illustrate file input handling and display in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FIND_LARGEST_NUMBER.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMBERS PIC 99 OCCURS 5 TIMES VALUE (10, 20, 15, 25, 30).\n01 MAXIMUM-NUMBER PIC 99.\n01 I PIC 99.\nPROCEDURE DIVISION.\nMOVE NUMBERS(1) TO MAXIMUM-NUMBER.\nPERFORM VARYING I FROM 2 BY 1 UNTIL I > 5\n IF NUMBERS(I) > MAXIMUM-NUMBER\n MOVE NUMBERS(I) TO MAXIMUM-NUMBER\nEND-PERFORM.\nDISPLAY 'Largest Number: ', MAXIMUM-NUMBER.\nSTOP RUN.",
"documentation": "Program Name: FIND_LARGEST_NUMBER. Description: This program finds the largest number in an array.. Purpose: Illustrate array manipulation and conditional statements in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_SQUARES.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMBERS PIC 99 OCCURS 5 TIMES VALUE (1, 2, 3, 4, 5).\n01 SQUARES PIC 999 OCCURS 5 TIMES.\n01 I PIC 99.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > 5\n COMPUTE SQUARES(I) = NUMBERS(I) ** 2\nEND-PERFORM.\nDISPLAY 'Squares: '.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > 5\n DISPLAY SQUARES(I)\nEND-PERFORM.\nSTOP RUN.",
"documentation": "Program Name: CALCULATE_SQUARES. Description: This program calculates and displays squares of numbers in an array.. Purpose: Illustrate array manipulation and arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FIND_PRIME_NUMBERS.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 N PIC 99 VALUE 10.\n01 I PIC 99.\n01 J PIC 99.\n01 PRIME PIC 99 OCCURS 10 TIMES.\n01 IS-PRIME PIC X(1) OCCURS 10 TIMES.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM 2 BY 1 UNTIL I <= N\n MOVE 'Y' TO IS-PRIME(I)\nEND-PERFORM.\nPERFORM VARYING I FROM 2 BY 1 UNTIL I <= N\n IF IS-PRIME(I) = 'Y'\n MOVE I TO PRIME(J)\n ADD 1 TO J\n PERFORM VARYING J FROM I BY I UNTIL J > N\n MOVE 'N' TO IS-PRIME(J)\n END-PERFORM\n END-IF\nEND-PERFORM.\nDISPLAY 'Prime Numbers: '.\nPERFORM VARYING J FROM 1 BY 1 UNTIL J <= N\n IF PRIME(J) > 0\n DISPLAY PRIME(J)\nEND-PERFORM.\nSTOP RUN.",
"documentation": "Program Name: FIND_PRIME_NUMBERS. Description: This program finds prime numbers up to a given limit.. Purpose: Illustrate nested loops and conditional statements in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FIND_LEAP_YEAR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 YEAR PIC 9999 VALUE 2024.\nPROCEDURE DIVISION.\nIF YEAR MOD 4 = 0 AND (YEAR MOD 100 <> 0 OR YEAR MOD 400 = 0)\n DISPLAY 'Leap Year'\nELSE\n DISPLAY 'Not a Leap Year'\nSTOP RUN.",
"documentation": "Program Name: FIND_LEAP_YEAR. Description: This program determines if a given year is a leap year.. Purpose: Illustrate complex conditional expression in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. UPPERCASE_CONVERSION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'hello world'.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE FUNCTION UPPER-CASE(INPUT-STRING) TO OUTPUT-STRING.\nDISPLAY 'Uppercase string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: UPPERCASE_CONVERSION. Description: This program converts a string to uppercase.. Purpose: Demonstrate string manipulation using COBOL's UPPER-CASE function."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. LOWERCASE_CONVERSION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'HELLO WORLD'.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE FUNCTION LOWER-CASE(INPUT-STRING) TO OUTPUT-STRING.\nDISPLAY 'Lowercase string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: LOWERCASE_CONVERSION. Description: This program converts a string to lowercase.. Purpose: Demonstrate string manipulation using COBOL's LOWER-CASE function."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_CONCATENATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STRING1 PIC X(10) VALUE 'Hello'.\n01 STRING2 PIC X(10) VALUE 'World'.\n01 CONCATENATED-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE STRING1 TO CONCATENATED-STRING.\nSTRING STRING2 DELIMITED BY SIZE INTO CONCATENATED-STRING.\nDISPLAY 'Concatenated string: ' CONCATENATED-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_CONCATENATION. Description: This program concatenates two strings.. Purpose: Illustrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_SUBSTITUTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 OUTPUT-STRING PIC X(30).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING 'world' DELIMITED BY SIZE REPLACING ALL 'world' WITH 'universe' INTO OUTPUT-STRING.\nDISPLAY 'Modified string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_SUBSTITUTION. Description: This program substitutes a substring within a string.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_REVERSAL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING REVERSE.\nDISPLAY 'Reversed string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_REVERSAL. Description: This program reverses a string.. Purpose: Illustrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_TRIMMING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE ' Hello, world '.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING TRIM.\nDISPLAY 'Trimmed string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_TRIMMING. Description: This program trims leading and trailing spaces from a string.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_SEARCH.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 SEARCH-STRING PIC X(10) VALUE 'world'.\n01 INDEX PIC 9(3).\nPROCEDURE DIVISION.\nSTRING INPUT-STRING DELIMITED BY SIZE INTO INPUT-STRING WITH POINTER INDEX.\nIF INDEX > 0\n DISPLAY 'Substring found at position ' INDEX\nELSE\n DISPLAY 'Substring not found'\nSTOP RUN.",
"documentation": "Program Name: STRING_SEARCH. Description: This program searches for a substring within a string.. Purpose: Illustrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_SPLITTING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello,world'.\n01 FIRST-PART PIC X(10).\n01 SECOND-PART PIC X(10).\nPROCEDURE DIVISION.\nSTRING INPUT-STRING DELIMITED BY ',' INTO FIRST-PART SECOND-PART.\nDISPLAY 'First part: ' FIRST-PART.\nDISPLAY 'Second part: ' SECOND-PART.\nSTOP RUN.",
"documentation": "Program Name: STRING_SPLITTING. Description: This program splits a string into two parts.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_LENGTH.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 LENGTH PIC 9(3).\nPROCEDURE DIVISION.\nCOMPUTE LENGTH = FUNCTION LENGTH(INPUT-STRING).\nDISPLAY 'Length of string: ' LENGTH.\nSTOP RUN.",
"documentation": "Program Name: STRING_LENGTH. Description: This program calculates the length of a string.. Purpose: Illustrate string manipulation using COBOL's LENGTH function."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_REMOVAL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING\n 'world' WITH POINTER INDEX.\nIF INDEX > 0\n COMPUTE INDEX = INDEX - 1\n DELETE OUTPUT-STRING FROM INDEX\n BY FUNCTION LENGTH('world')\nEND-IF.\nDISPLAY 'String after removal: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_REMOVAL. Description: This program removes a specified substring from a string.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_INSERTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 INSERTION-STRING PIC X(10) VALUE 'beautiful '.\n01 OUTPUT-STRING PIC X(30).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING INSERTION-STRING DELIMITED BY SIZE INTO OUTPUT-STRING\n 'Hello' BEFORE INITIAL 'world'.\nDISPLAY 'String after insertion: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_INSERTION. Description: This program inserts a substring into another string at a specified position.. Purpose: Illustrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_COMPARISON.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STRING1 PIC X(20) VALUE 'Hello, world'.\n01 STRING2 PIC X(20) VALUE 'HELLO, WORLD'.\n01 RESULT PIC X.\nPROCEDURE DIVISION.\nIF FUNCTION NATIONAL-OF(STRING1) = FUNCTION NATIONAL-OF(STRING2)\n MOVE 'Strings are equal' TO RESULT\nELSE\n MOVE 'Strings are not equal' TO RESULT\nEND-IF.\nDISPLAY 'Comparison result: ' RESULT.\nSTOP RUN.",
"documentation": "Program Name: STRING_COMPARISON. Description: This program compares two strings.. Purpose: Demonstrate string comparison using COBOL's NATIONAL-OF function."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_FORMATTING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMBER PIC 9(3) VALUE 123.\n01 FORMATTED-STRING PIC X(10).\nPROCEDURE DIVISION.\nMOVE FUNCTION NUMVAL(NUMBER) TO FORMATTED-STRING.\nDISPLAY 'Formatted number: ' FORMATTED-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_FORMATTING. Description: This program formats a number as a string.. Purpose: Illustrate string manipulation using COBOL's NUMVAL function."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_PARSING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'John,Doe,30'.\n01 FIRST-NAME PIC X(10).\n01 LAST-NAME PIC X(10).\n01 AGE PIC 99.\nPROCEDURE DIVISION.\nSTRING INPUT-STRING DELIMITED BY ',' INTO FIRST-NAME LAST-NAME AGE.\nDISPLAY 'First Name: ' FIRST-NAME.\nDISPLAY 'Last Name: ' LAST-NAME.\nDISPLAY 'Age: ' AGE.\nSTOP RUN.",
"documentation": "Program Name: STRING_PARSING. Description: This program parses a comma-separated string into individual components.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_TRIMMING_LEFT.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE ' Hello, world '.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING\n LEADING SPACES.\nDISPLAY 'Left-trimmed string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_TRIMMING_LEFT. Description: This program trims leading spaces from a string.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_TRIMMING_RIGHT.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE ' Hello, world '.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING\n TRAILING SPACES.\nDISPLAY 'Right-trimmed string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_TRIMMING_RIGHT. Description: This program trims trailing spaces from a string.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_PADDING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(10) VALUE 'Hello'.\n01 PADDING-CHAR PIC X VALUE '-'.\n01 PADDING-LENGTH PIC 9(2) VALUE 10.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nSTRING INPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING.\nSTRING PADDING-CHAR DELIMITED BY SIZE INTO OUTPUT-STRING\n PAD RIGHT WITH PADDING-LENGTH CHARACTERS.\nDISPLAY 'Padded string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_PADDING. Description: This program pads a string with a specified character.. Purpose: Illustrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_TRIMMING_ALL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE ' Hello, world '.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\nMOVE INPUT-STRING TO OUTPUT-STRING.\nSTRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING\n WITH POINTER INDEX.\nIF INDEX > 0\n COMPUTE INDEX = INDEX - 1\n DELETE OUTPUT-STRING FROM 1 BY INDEX\n STRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING\n WITH POINTER INDEX REVERSE\n COMPUTE INDEX = FUNCTION LENGTH(OUTPUT-STRING) - INDEX\n DELETE OUTPUT-STRING FROM INDEX BY FUNCTION LENGTH('Hello, world')\nEND-IF.\nDISPLAY 'All-trimmed string: ' OUTPUT-STRING.\nSTOP RUN.",
"documentation": "Program Name: STRING_TRIMMING_ALL. Description: This program trims all leading and trailing spaces from a string.. Purpose: Demonstrate string manipulation using COBOL's STRING statement."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMBER PIC 9(3) VALUE 123.\n01 RESULT PIC 9(3).\nPROCEDURE DIVISION.\nPERFORM CALCULATION USING NUMBER GIVING RESULT.\nDISPLAY 'Result: ' RESULT.\nSTOP RUN.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to perform a calculation."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATION_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9(3).\n01 RESULT PIC 9(3).\nPROCEDURE DIVISION USING NUMBER GIVING RESULT.\nCOMPUTE RESULT = NUMBER * 2.\nEXIT PROGRAM.",
"documentation": "Program Name: CALCULATION_SUB. Description: This subroutine performs a calculation.. Purpose: Demonstrate the concept of modular programming with subroutines."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NAME PIC X(20) VALUE 'John Doe'.\nPROCEDURE DIVISION.\nPERFORM GREETING.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. GREETING_SUB.\nPROCEDURE DIVISION.\nDISPLAY 'Hello, ' NAME.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to display a greeting message."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 LIST-SIZE PIC 9(3) VALUE 5.\n01 NUMBERS OCCURS 0 TO 10 TIMES PIC 9(3).\n01 TOTAL PIC 9(4) VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM READ-NUMBERS.\nPERFORM CALCULATE-TOTAL.\nDISPLAY 'Total: ' TOTAL.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. READ_NUMBERS_SUB.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > LIST-SIZE\n DISPLAY 'Enter number ' I\n ACCEPT NUMBERS(I)\nEND-PERFORM.\nEXIT PROGRAM.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_TOTAL_SUB.\nPROCEDURE DIVISION.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > LIST-SIZE\n ADD NUMBERS(I) TO TOTAL\nEND-PERFORM.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with subroutines.. Purpose: Illustrate how to use subroutines to read numbers into an array and calculate their total."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 SIDE-A PIC 9(3) VALUE 3.\n01 SIDE-B PIC 9(3) VALUE 4.\n01 AREA PIC 9(4) VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-AREA USING SIDE-A SIDE-B GIVING AREA.\nDISPLAY 'Area of rectangle: ' AREA.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_AREA_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 A PIC 9(3).\n01 B PIC 9(3).\n01 RESULT PIC 9(4).\nPROCEDURE DIVISION USING A B GIVING RESULT.\nCOMPUTE RESULT = A * B.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate the area of a rectangle."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 LENGTH PIC 9(3) VALUE 10.\n01 WIDTH PIC 9(3) VALUE 5.\n01 HEIGHT PIC 9(3) VALUE 3.\n01 VOLUME PIC 9(4) VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-VOLUME USING LENGTH WIDTH HEIGHT GIVING VOLUME.\nDISPLAY 'Volume of box: ' VOLUME.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_VOLUME_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 L PIC 9(3).\n01 W PIC 9(3).\n01 H PIC 9(3).\n01 RESULT PIC 9(4).\nPROCEDURE DIVISION USING L W H GIVING RESULT.\nCOMPUTE RESULT = L * W * H.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate the volume of a box."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 RADIUS PIC 9(3) VALUE 5.\n01 AREA PIC 9(4) VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-AREA USING RADIUS GIVING AREA.\nDISPLAY 'Area of circle: ' AREA.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_AREA_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 RAD PIC 9(3).\n01 RES PIC 9(4).\nPROCEDURE DIVISION USING RAD GIVING RES.\nCOMPUTE RES = 3.14 * RAD * RAD.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate the area of a circle."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 AMOUNT PIC 9(5)V99 VALUE 100.50.\n01 TAX-RATE PIC 9(2)V9(2) VALUE 0.08.\n01 TOTAL-TAX PIC 9(5)V99 VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-TAX USING AMOUNT TAX-RATE GIVING TOTAL-TAX.\nDISPLAY 'Total tax: ' TOTAL-TAX.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_TAX_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 A PIC 9(5)V99.\n01 R PIC 9(2)V9(2).\n01 T PIC 9(5)V99.\nPROCEDURE DIVISION USING A R GIVING T.\nCOMPUTE T = A * R.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate tax."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9(3) VALUE 456.\n01 REVERSED-NUM PIC 9(3) VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM REVERSE-NUMBER USING NUM GIVING REVERSED-NUM.\nDISPLAY 'Reversed number: ' REVERSED-NUM.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. REVERSE_NUMBER_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 N PIC 9(3).\n01 REV PIC 9(3).\nPROCEDURE DIVISION USING N GIVING REV.\nCOMPUTE REV = FUNCTION REVERSE(N).\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to reverse a number."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STRING-IN PIC X(20) VALUE 'Hello, world'.\n01 STRING-OUT PIC X(20) VALUE SPACE.\nPROCEDURE DIVISION.\nPERFORM REVERSE-STRING USING STRING-IN GIVING STRING-OUT.\nDISPLAY 'Reversed string: ' STRING-OUT.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. REVERSE_STRING_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 IN-STR PIC X(20).\n01 OUT-STR PIC X(20).\nPROCEDURE DIVISION USING IN-STR GIVING OUT-STR.\nMOVE IN-STR TO OUT-STR.\nSTRING OUT-STR DELIMITED BY SIZE INTO OUT-STR REVERSE.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to reverse a string."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ARRAY-SIZE PIC 9(2) VALUE 5.\n01 NUMBERS OCCURS 1 TO 5 TIMES PIC 9(3) VALUE ZERO.\n01 AVG PIC 9(4)V99 VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM READ-NUMBERS USING ARRAY-SIZE NUMBERS.\nPERFORM CALCULATE-AVERAGE USING ARRAY-SIZE NUMBERS GIVING AVG.\nDISPLAY 'Average: ' AVG.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. READ_NUMBERS_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 SIZE PIC 9(2).\n01 ARR PIC 9(3) OCCURS 1 TO 5 TIMES.\nPROCEDURE DIVISION USING SIZE ARR.\nPERFORM VARYING I FROM 1 BY 1 UNTIL I > SIZE\n DISPLAY 'Enter number ' I\n ACCEPT ARR(I)\nEND-PERFORM.\nEXIT PROGRAM.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_AVERAGE_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 SZ PIC 9(2).\n01 AR PIC 9(3) OCCURS 1 TO 5 TIMES.\n01 AV PIC 9(4)V99.\nPROCEDURE DIVISION USING SZ AR GIVING AV.\nCOMPUTE AV = FUNCTION SUM-OF(AR) / SZ.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with subroutines.. Purpose: Illustrate how to use subroutines to read numbers into an array and calculate their average."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 PRINCIPAL PIC 9(5)V99 VALUE 1000.50.\n01 RATE PIC 9(2)V9(2) VALUE 5.75.\n01 TIME PIC 9(2) VALUE 3.\n01 INTEREST PIC 9(5)V99 VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-INTEREST USING PRINCIPAL RATE TIME GIVING INTEREST.\nDISPLAY 'Interest: ' INTEREST.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_INTEREST_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 P PIC 9(5)V99.\n01 R PIC 9(2)V9(2).\n01 T PIC 9(2).\n01 I PIC 9(5)V99.\nPROCEDURE DIVISION USING P R T GIVING I.\nCOMPUTE I = (P * R * T) / 100.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate simple interest."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 PRINCIPAL PIC 9(5)V99 VALUE 1000.50.\n01 RATE PIC 9(2)V9(2) VALUE 5.75.\n01 TIME PIC 9(2) VALUE 3.\n01 COMPOUND-INTEREST PIC 9(5)V99 VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-COMPOUND-INTEREST USING PRINCIPAL RATE TIME GIVING COMPOUND-INTEREST.\nDISPLAY 'Compound Interest: ' COMPOUND-INTEREST.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_COMPOUND_INTEREST_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 P PIC 9(5)V99.\n01 R PIC 9(2)V9(2).\n01 T PIC 9(2).\n01 CI PIC 9(5)V99.\nPROCEDURE DIVISION USING P R T GIVING CI.\nCOMPUTE CI = P * FUNCTION POWER(1 + (R / 100), T) - P.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate compound interest."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAIN_PROGRAM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 HOURS-WORKED PIC 9(2) VALUE 40.\n01 HOURLY-RATE PIC 9(3)V99 VALUE 15.75.\n01 GROSS-PAY PIC 9(5)V99 VALUE ZERO.\nPROCEDURE DIVISION.\nPERFORM CALCULATE-GROSS-PAY USING HOURS-WORKED HOURLY-RATE GIVING GROSS-PAY.\nDISPLAY 'Gross Pay: ' GROSS-PAY.\nSTOP RUN.\n\nIDENTIFICATION DIVISION.\nPROGRAM-ID. CALCULATE_GROSS_PAY_SUB.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 HRS PIC 9(2).\n01 RATE PIC 9(3)V99.\n01 GROSS PIC 9(5)V99.\nPROCEDURE DIVISION USING HRS RATE GIVING GROSS.\nCOMPUTE GROSS = HRS * RATE.\nEXIT PROGRAM.",
"documentation": "Program Name: MAIN_PROGRAM. Description: This program demonstrates modular programming with a subroutine.. Purpose: Illustrate how to call a subroutine to calculate gross pay."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INTEGER_VALIDATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-NUM PIC 9(3).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nACCEPT INPUT-NUM.\nIF INPUT-NUM < 0 OR INPUT-NUM > 100\n MOVE 'Invalid input: Please enter a number between 0 and 100' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nELSE\n DISPLAY 'Input accepted'\nEND-IF.\nSTOP RUN.",
"documentation": "Program Name: INTEGER_VALIDATION. Description: This program validates user input as an integer within a specific range.. Purpose: Demonstrate error handling and input validation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. DIVISION_BY_ZERO.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMERATOR PIC 9(3) VALUE 10.\n01 DENOMINATOR PIC 9(3) VALUE 0.\n01 RESULT PIC 9(5).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nDIVIDE NUMERATOR BY DENOMINATOR GIVING RESULT.\nIF DENOMINATOR = 0\n MOVE 'Division by zero error' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nELSE\n DISPLAY 'Result: ' RESULT\nEND-IF.\nSTOP RUN.",
"documentation": "Program Name: DIVISION_BY_ZERO. Description: This program demonstrates handling division by zero error.. Purpose: Illustrate error handling in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_LENGTH_VALIDATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nACCEPT INPUT-STRING.\nIF FUNCTION LENGTH(INPUT-STRING) > 10\n MOVE 'Input string too long. Maximum length is 10 characters' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nELSE\n DISPLAY 'Input string accepted'\nEND-IF.\nSTOP RUN.",
"documentation": "Program Name: STRING_LENGTH_VALIDATION. Description: This program validates the length of a user-entered string.. Purpose: Demonstrate error handling and input validation in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FILE_OPENING.\nENVIRONMENT DIVISION.\nINPUT-OUTPUT SECTION.\nFILE-CONTROL.\nSELECT STUDENT-FILE ASSIGN TO 'STUDENTS.DAT'.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n OPEN INPUT STUDENT-FILE.\nCATCH EXCEPTION.\n MOVE 'Error opening file' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: FILE_OPENING. Description: This program demonstrates handling file opening errors.. Purpose: Illustrate error handling when opening files in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. RECORD_READING.\nENVIRONMENT DIVISION.\nINPUT-OUTPUT SECTION.\nFILE-CONTROL.\nSELECT STUDENT-FILE ASSIGN TO 'STUDENTS.DAT'.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n READ STUDENT-FILE INTO STUDENT-RECORD.\nCATCH EXCEPTION.\n MOVE 'Error reading record from file' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: RECORD_READING. Description: This program demonstrates handling record reading errors.. Purpose: Illustrate error handling when reading records from a file in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FILE_WRITING.\nENVIRONMENT DIVISION.\nINPUT-OUTPUT SECTION.\nFILE-CONTROL.\nSELECT STUDENT-FILE ASSIGN TO 'STUDENTS.DAT'.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n WRITE STUDENT-RECORD INTO STUDENT-FILE.\nCATCH EXCEPTION.\n MOVE 'Error writing record to file' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: FILE_WRITING. Description: This program demonstrates handling file writing errors.. Purpose: Illustrate error handling when writing records to a file in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. NULL_POINTER.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 PTR-NULL USAGE IS POINTER.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n IF PTR-NULL = NULL\n DISPLAY 'Pointer is null'\n END-IF.\nCATCH EXCEPTION.\n MOVE 'Null pointer exception' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: NULL_POINTER. Description: This program demonstrates handling null pointer exceptions.. Purpose: Illustrate error handling with null pointers in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ARRAY_INDEX_OUT_OF_BOUNDS.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ARR PIC X(5) OCCURS 5 TIMES.\n01 INDEX PIC 9 VALUE 6.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n IF INDEX < 1 OR INDEX > 5\n MOVE 'Array index out of bounds' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\n ELSE\n DISPLAY 'Array element at index ' INDEX ': ' ARR(INDEX)\n END-IF.\nCATCH EXCEPTION.\n MOVE 'Array index out of bounds exception' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: ARRAY_INDEX_OUT_OF_BOUNDS. Description: This program demonstrates handling array index out of bounds errors.. Purpose: Illustrate error handling with array index out of bounds in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVALID_DATA_FORMAT.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-NUM PIC X(3) VALUE 'ABC'.\n01 VALID-NUM PIC 9(3).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n MOVE INPUT-NUM TO VALID-NUM.\nCATCH CONVERTING ERROR.\n MOVE 'Invalid data format: Unable to convert' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: INVALID_DATA_FORMAT. Description: This program demonstrates handling invalid data format errors during data conversion.. Purpose: Illustrate error handling with invalid data format in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. UNINITIALIZED_VARIABLE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 UNINITIALIZED-NUM PIC 9(3).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n DISPLAY UNINITIALIZED-NUM\nCATCH EXCEPTION.\n MOVE 'Uninitialized variable exception' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: UNINITIALIZED_VARIABLE. Description: This program demonstrates handling uninitialized variable errors.. Purpose: Illustrate error handling with uninitialized variables in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVALID_FILE_OPERATION.\nENVIRONMENT DIVISION.\nINPUT-OUTPUT SECTION.\nFILE-CONTROL.\nSELECT STUDENT-FILE ASSIGN TO 'STUDENTS.DAT'.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n CLOSE STUDENT-FILE.\nCATCH EXCEPTION.\n MOVE 'Invalid file operation' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: INVALID_FILE_OPERATION. Description: This program demonstrates handling invalid file operation errors.. Purpose: Illustrate error handling with invalid file operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. NULL_STRING.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NULL-STRING PIC X(10).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n IF NULL-STRING = SPACES\n DISPLAY 'String is null'\n END-IF.\nCATCH EXCEPTION.\n MOVE 'Null string exception' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: NULL_STRING. Description: This program demonstrates handling null string exceptions.. Purpose: Illustrate error handling with null strings in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVALID_OPERATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9(3).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n COMPUTE NUM = 'ABC' + 1.\nCATCH EXCEPTION.\n MOVE 'Invalid operation exception' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: INVALID_OPERATION. Description: This program demonstrates handling invalid operation errors.. Purpose: Illustrate error handling with invalid operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FILE_NOT_FOUND.\nENVIRONMENT DIVISION.\nINPUT-OUTPUT SECTION.\nFILE-CONTROL.\nSELECT STUDENT-FILE ASSIGN TO 'STUDENTS.DAT'.\nDATA DIVISION.\nFILE SECTION.\nFD STUDENT-FILE.\n01 STUDENT-RECORD.\n 05 STUDENT-ID PIC X(5).\n 05 STUDENT-NAME PIC X(20).\nWORKING-STORAGE SECTION.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n OPEN INPUT STUDENT-FILE.\nCATCH EXCEPTION.\n MOVE 'File not found' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: FILE_NOT_FOUND. Description: This program demonstrates handling file not found errors.. Purpose: Illustrate error handling with file not found in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVALID_INPUT.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-NUM PIC X(3) VALUE 'ABC'.\n01 VALID-NUM PIC 9(3).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n MOVE INPUT-NUM TO VALID-NUM.\nCATCH CONVERTING ERROR.\n MOVE 'Invalid input format: Please enter a numeric value' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: INVALID_INPUT. Description: This program demonstrates handling invalid input errors during data conversion.. Purpose: Illustrate error handling with invalid input in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ARRAY_ALLOCATION_FAILED.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 ARR PIC X(5) OCCURS 10 TIMES.\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n PERFORM VARYING I FROM 1 BY 1 UNTIL I > 15\n MOVE 'X' TO ARR(I)\n END-PERFORM.\nCATCH EXCEPTION.\n MOVE 'Array allocation failed' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: ARRAY_ALLOCATION_FAILED. Description: This program demonstrates handling array allocation failures.. Purpose: Illustrate error handling with array allocation failures in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INVALID_RECORD_FORMAT.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STUDENT-RECORD PIC X(10).\n01 ERROR-MESSAGE PIC X(50).\nPROCEDURE DIVISION.\nTRY.\n MOVE '12345JohnDoe' TO STUDENT-RECORD.\n UNSTRING STUDENT-RECORD DELIMITED BY ALL SPACE INTO STUDENT-ID STUDENT-NAME.\nCATCH EXCEPTION.\n MOVE 'Invalid record format' TO ERROR-MESSAGE\n DISPLAY ERROR-MESSAGE\nEND-TRY.\nSTOP RUN.",
"documentation": "Program Name: INVALID_RECORD_FORMAT. Description: This program demonstrates handling invalid record format errors.. Purpose: Illustrate error handling with invalid record formats in COBOL."
},
{
"cobol_code": " IDENTIFICATION DIVISION.\n PROGRAM-ID. OLDER_STYLE.\n PROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: OLDER_STYLE. Description: This program demonstrates COBOL code written in an older style.. Purpose: Illustrate traditional COBOL syntax."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MODERN_STYLE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: MODERN_STYLE. Description: This program demonstrates COBOL code written in a more modern style.. Purpose: Illustrate simplified COBOL syntax."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRUCTURED_STYLE.\nPROCEDURE DIVISION.\n PERFORM DISPLAY_HELLO.\n STOP RUN.\n\nDISPLAY_HELLO SECTION.\n DISPLAY 'Hello, world'.\n EXIT.",
"documentation": "Program Name: STRUCTURED_STYLE. Description: This program demonstrates COBOL code written in a structured style using sections.. Purpose: Illustrate structured programming approach in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. OBJECT_ORIENTED_STYLE.\nPROCEDURE DIVISION.\n CALL 'HELLO_WORLD' USING WS-PARAMETERS.\n STOP RUN.",
"documentation": "Program Name: OBJECT_ORIENTED_STYLE. Description: This program demonstrates COBOL code written in an object-oriented style using CALL statements.. Purpose: Illustrate procedural programming approach in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FUNCTIONAL_STYLE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 WS-NUMBER PIC 9(3) VALUE 123.\nPROCEDURE DIVISION.\n DISPLAY FUNCTION WS-NUMBER TO CHAR.\n STOP RUN.",
"documentation": "Program Name: FUNCTIONAL_STYLE. Description: This program demonstrates COBOL code written in a functional style using FUNCTION.. Purpose: Illustrate functional programming approach in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. COMMENTED_STYLE.\n*\n* This program demonstrates COBOL code with comments.\n*\nPROCEDURE DIVISION.\n* Display 'Hello, world'\n DISPLAY 'Hello, world'.\n* Stop program execution\n STOP RUN.",
"documentation": "Program Name: COMMENTED_STYLE. Description: This program demonstrates COBOL code with extensive comments.. Purpose: Illustrate good commenting practices in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INDENTED_STYLE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: INDENTED_STYLE. Description: This program demonstrates COBOL code with consistent indentation.. Purpose: Illustrate code readability improvement through indentation."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. INLINE_COMMENT_STYLE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'. *> Display message\n STOP RUN.",
"documentation": "Program Name: INLINE_COMMENT_STYLE. Description: This program demonstrates COBOL code with inline comments.. Purpose: Illustrate inline commenting in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. NO_DIVISION_STYLE.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: NO_DIVISION_STYLE. Description: This program demonstrates COBOL code without using DIVISIONs.. Purpose: Illustrate less structured COBOL code."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SHORT_NAMES_STYLE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: SHORT_NAMES_STYLE. Description: This program demonstrates COBOL code with short identifier names.. Purpose: Illustrate brevity in identifier naming in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. LONG_NAMES_STYLE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: LONG_NAMES_STYLE. Description: This program demonstrates COBOL code with long descriptive identifier names.. Purpose: Illustrate verbosity in identifier naming in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. DRY_PRINCIPLE_STYLE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 WS-HELLO-MESSAGE PIC X(20) VALUE 'Hello, world'.\nPROCEDURE DIVISION.\n DISPLAY WS-HELLO-MESSAGE.\n STOP RUN.",
"documentation": "Program Name: DRY_PRINCIPLE_STYLE. Description: This program demonstrates COBOL code adhering to the DRY (Don't Repeat Yourself) principle.. Purpose: Illustrate code reusability and maintenance in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. NON_DRY_PRINCIPLE_STYLE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: NON_DRY_PRINCIPLE_STYLE. Description: This program demonstrates COBOL code violating the DRY (Don't Repeat Yourself) principle.. Purpose: Illustrate code redundancy and maintenance issues in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. DISPLAY_MESSAGE.\nPROCEDURE DIVISION.\n DISPLAY 'Hello, world'.\n STOP RUN.",
"documentation": "Program Name: DISPLAY_MESSAGE. Description: This program displays a simple message.. Purpose: Illustrate basic output functionality in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ADDITION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM1 PIC 9(2) VALUE 10.\n01 NUM2 PIC 9(2) VALUE 20.\n01 RESULT PIC 9(3).\nPROCEDURE DIVISION.\n COMPUTE RESULT = NUM1 + NUM2.\n DISPLAY 'Sum: ' RESULT.\n STOP RUN.",
"documentation": "Program Name: ADDITION. Description: This program adds two numbers.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. SUBTRACTION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM1 PIC 9(2) VALUE 20.\n01 NUM2 PIC 9(2) VALUE 10.\n01 RESULT PIC 9(3).\nPROCEDURE DIVISION.\n COMPUTE RESULT = NUM1 - NUM2.\n DISPLAY 'Difference: ' RESULT.\n STOP RUN.",
"documentation": "Program Name: SUBTRACTION. Description: This program subtracts one number from another.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MULTIPLICATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM1 PIC 9(2) VALUE 10.\n01 NUM2 PIC 9(2) VALUE 20.\n01 RESULT PIC 9(4).\nPROCEDURE DIVISION.\n COMPUTE RESULT = NUM1 * NUM2.\n DISPLAY 'Product: ' RESULT.\n STOP RUN.",
"documentation": "Program Name: MULTIPLICATION. Description: This program multiplies two numbers.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. DIVISION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUMERATOR PIC 9(2) VALUE 20.\n01 DENOMINATOR PIC 9(2) VALUE 10.\n01 RESULT PIC 9(2).\nPROCEDURE DIVISION.\n DIVIDE NUMERATOR BY DENOMINATOR GIVING RESULT.\n DISPLAY 'Quotient: ' RESULT.\n STOP RUN.",
"documentation": "Program Name: DIVISION. Description: This program divides one number by another.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MODULUS.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 DIVIDEND PIC 9(2) VALUE 20.\n01 DIVISOR PIC 9(2) VALUE 10.\n01 REMAINDER PIC 9(2).\nPROCEDURE DIVISION.\n DIVIDE DIVIDEND INTO DIVISOR GIVING REMAINDER.\n DISPLAY 'Remainder: ' REMAINDER.\n STOP RUN.",
"documentation": "Program Name: MODULUS. Description: This program calculates the remainder of one number divided by another.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EXPONENTIATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 BASE PIC 9(2) VALUE 2.\n01 EXPONENT PIC 9(2) VALUE 3.\n01 RESULT PIC 9(4).\nPROCEDURE DIVISION.\n COMPUTE RESULT = BASE ** EXPONENT.\n DISPLAY 'Result: ' RESULT.\n STOP RUN.",
"documentation": "Program Name: EXPONENTIATION. Description: This program calculates the exponentiation of a number.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. ABSOLUTE_VALUE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC S9(3) VALUE -50.\n01 ABS-RESULT PIC S9(3).\nPROCEDURE DIVISION.\n COMPUTE ABS-RESULT = FUNCTION ABS(NUM).\n DISPLAY 'Absolute value: ' ABS-RESULT.\n STOP RUN.",
"documentation": "Program Name: ABSOLUTE_VALUE. Description: This program calculates the absolute value of a number.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. RANDOM_NUMBER.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 RAND-NUM PIC 9(2).\nPROCEDURE DIVISION.\n COMPUTE RAND-NUM = FUNCTION RANDOM(100).\n DISPLAY 'Random number between 1 and 100: ' RAND-NUM.\n STOP RUN.",
"documentation": "Program Name: RANDOM_NUMBER. Description: This program generates a random number within a specified range.. Purpose: Illustrate basic arithmetic operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MAXIMUM_NUMBER.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM1 PIC 9(2) VALUE 30.\n01 NUM2 PIC 9(2) VALUE 20.\n01 MAX-NUM PIC 9(2).\nPROCEDURE DIVISION.\n IF NUM1 > NUM2\n MOVE NUM1 TO MAX-NUM\n ELSE\n MOVE NUM2 TO MAX-NUM\n END-IF.\n DISPLAY 'Maximum number: ' MAX-NUM.\n STOP RUN.",
"documentation": "Program Name: MAXIMUM_NUMBER. Description: This program finds the maximum of two numbers.. Purpose: Illustrate basic comparison operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. MINIMUM_NUMBER.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM1 PIC 9(2) VALUE 30.\n01 NUM2 PIC 9(2) VALUE 20.\n01 MIN-NUM PIC 9(2).\nPROCEDURE DIVISION.\n IF NUM1 < NUM2\n MOVE NUM1 TO MIN-NUM\n ELSE\n MOVE NUM2 TO MIN-NUM\n END-IF.\n DISPLAY 'Minimum number: ' MIN-NUM.\n STOP RUN.",
"documentation": "Program Name: MINIMUM_NUMBER. Description: This program finds the minimum of two numbers.. Purpose: Illustrate basic comparison operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. EVEN_OR_ODD.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9(2) VALUE 11.\n01 RESULT PIC X.\nPROCEDURE DIVISION.\n IF NUM IS EVEN\n MOVE 'Even' TO RESULT\n ELSE\n MOVE 'Odd' TO RESULT\n END-IF.\n DISPLAY 'Number is ' RESULT.\n STOP RUN.",
"documentation": "Program Name: EVEN_OR_ODD. Description: This program determines if a number is even or odd.. Purpose: Illustrate basic comparison operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. LEAP_YEAR.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 YEAR PIC 9(4) VALUE 2024.\n01 IS-LEAP-YEAR PIC X.\nPROCEDURE DIVISION.\n IF YEAR IS LEAP YEAR\n MOVE 'Yes' TO IS-LEAP-YEAR\n ELSE\n MOVE 'No' TO IS-LEAP-YEAR\n END-IF.\n DISPLAY 'Is leap year? ' IS-LEAP-YEAR.\n STOP RUN.",
"documentation": "Program Name: LEAP_YEAR. Description: This program determines if a given year is a leap year.. Purpose: Illustrate basic conditional operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. PRIME_NUMBER.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9(2) VALUE 13.\n01 IS-PRIME PIC X.\n01 DIVISOR PIC 9(2) VALUE 2.\nPROCEDURE DIVISION.\n MOVE 'Yes' TO IS-PRIME.\n PERFORM UNTIL DIVISOR >= NUM / 2\n IF NUM MOD DIVISOR = 0\n MOVE 'No' TO IS-PRIME\n EXIT PERFORM\n END-IF\n ADD 1 TO DIVISOR\n END-PERFORM.\n DISPLAY 'Is prime? ' IS-PRIME.\n STOP RUN.",
"documentation": "Program Name: PRIME_NUMBER. Description: This program determines if a number is a prime number.. Purpose: Illustrate basic conditional operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FACTORIAL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 NUM PIC 9(2) VALUE 5.\n01 FACTORIAL PIC 9(4).\n01 INDEX PIC 9(2).\nPROCEDURE DIVISION.\n MOVE 1 TO FACTORIAL.\n PERFORM VARYING INDEX FROM 1 BY 1 UNTIL INDEX > NUM\n MULTIPLY INDEX BY FACTORIAL GIVING FACTORIAL\n END-PERFORM.\n DISPLAY 'Factorial of ' NUM ' is ' FACTORIAL.\n STOP RUN.",
"documentation": "Program Name: FACTORIAL. Description: This program calculates the factorial of a number.. Purpose: Illustrate basic looping operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. FIBONACCI.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 N PIC 9(2) VALUE 10.\n01 A PIC 9(10) VALUE 0.\n01 B PIC 9(10) VALUE 1.\n01 TEMP PIC 9(10).\n01 INDEX PIC 9(2).\nPROCEDURE DIVISION.\n DISPLAY A.\n DISPLAY B.\n PERFORM VARYING INDEX FROM 3 BY 1 UNTIL INDEX > N\n COMPUTE TEMP = A + B\n DISPLAY TEMP\n MOVE B TO A\n MOVE TEMP TO B\n END-PERFORM.\n STOP RUN.",
"documentation": "Program Name: FIBONACCI. Description: This program generates the Fibonacci series up to a specified limit.. Purpose: Illustrate basic looping operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_LENGTH.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 LENGTH PIC 9(3).\nPROCEDURE DIVISION.\n COMPUTE LENGTH = FUNCTION LENGTH(INPUT-STRING).\n DISPLAY 'Length of string: ' LENGTH.\n STOP RUN.",
"documentation": "Program Name: STRING_LENGTH. Description: This program calculates the length of a string.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_REVERSAL.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 OUTPUT-STRING PIC X(20).\nPROCEDURE DIVISION.\n MOVE INPUT-STRING TO OUTPUT-STRING.\n STRING OUTPUT-STRING DELIMITED BY SIZE INTO OUTPUT-STRING REVERSE.\n DISPLAY 'Reversed string: ' OUTPUT-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_REVERSAL. Description: This program reverses a string.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_CONCATENATION.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 STRING1 PIC X(10) VALUE 'Hello'.\n01 STRING2 PIC X(10) VALUE 'World'.\n01 CONCATENATED-STRING PIC X(20).\nPROCEDURE DIVISION.\n MOVE STRING1 TO CONCATENATED-STRING.\n STRING STRING2 DELIMITED BY SIZE INTO CONCATENATED-STRING.\n DISPLAY 'Concatenated string: ' CONCATENATED-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_CONCATENATION. Description: This program concatenates two strings.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_SEARCH.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 SEARCH-STRING PIC X(5) VALUE 'world'.\n01 FOUND PIC X.\nPROCEDURE DIVISION.\n IF INPUT-STRING CONTAINS SEARCH-STRING\n MOVE 'Yes' TO FOUND\n ELSE\n MOVE 'No' TO FOUND\n END-IF.\n DISPLAY 'String found? ' FOUND.\n STOP RUN.",
"documentation": "Program Name: STRING_SEARCH. Description: This program searches for a substring within a string.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_REPLACE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 REPLACE-STRING PIC X(5) VALUE 'there'.\n01 REPLACED-STRING PIC X(20).\nPROCEDURE DIVISION.\n MOVE INPUT-STRING TO REPLACED-STRING.\n STRING REPLACE-STRING DELIMITED BY SIZE INTO REPLACED-STRING\n WITH POINTER INDEX\n COMPUTE INDEX = INDEX - FUNCTION LENGTH(REPLACE-STRING)\n MOVE 'there' TO REPLACED-STRING\n DISPLAY 'String after replacement: ' REPLACED-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_REPLACE. Description: This program replaces a substring within a string.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_SPLIT.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 FIRST-WORD PIC X(5).\n01 SECOND-WORD PIC X(5).\nPROCEDURE DIVISION.\n STRING INPUT-STRING DELIMITED BY ' ' INTO FIRST-WORD SECOND-WORD.\n DISPLAY 'First word: ' FIRST-WORD.\n DISPLAY 'Second word: ' SECOND-WORD.\n STOP RUN.",
"documentation": "Program Name: STRING_SPLIT. Description: This program splits a string into two words based on a delimiter.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_UPPERCASE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 UPPERCASE-STRING PIC X(20).\nPROCEDURE DIVISION.\n MOVE FUNCTION UPPER-CASE(INPUT-STRING) TO UPPERCASE-STRING.\n DISPLAY 'Uppercase string: ' UPPERCASE-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_UPPERCASE. Description: This program converts a string to uppercase.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_LOWERCASE.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE 'Hello, world'.\n01 LOWERCASE-STRING PIC X(20).\nPROCEDURE DIVISION.\n MOVE FUNCTION LOWER-CASE(INPUT-STRING) TO LOWERCASE-STRING.\n DISPLAY 'Lowercase string: ' LOWERCASE-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_LOWERCASE. Description: This program converts a string to lowercase.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_TRIM.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(20) VALUE ' Hello, world '.\n01 TRIMMED-STRING PIC X(20).\nPROCEDURE DIVISION.\n MOVE FUNCTION TRIM(INPUT-STRING) TO TRIMMED-STRING.\n DISPLAY 'Trimmed string: ' TRIMMED-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_TRIM. Description: This program trims leading and trailing spaces from a string.. Purpose: Illustrate basic string manipulation operations in COBOL."
},
{
"cobol_code": "IDENTIFICATION DIVISION.\nPROGRAM-ID. STRING_PAD.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 INPUT-STRING PIC X(10) VALUE 'Hello'.\n01 PADDED-STRING PIC X(20).\n01 PADDING-CHAR PIC X VALUE '-'.\n01 PADDING-LENGTH PIC 9(2) VALUE 10.\nPROCEDURE DIVISION.\n STRING INPUT-STRING DELIMITED BY SIZE INTO PADDED-STRING.\n STRING PADDING-CHAR DELIMITED BY SIZE INTO PADDED-STRING\n PAD RIGHT WITH PADDING-LENGTH CHARACTERS.\n DISPLAY 'Padded string: ' PADDED-STRING.\n STOP RUN.",
"documentation": "Program Name: STRING_PAD. Description: This program pads a string with a specified character.. Purpose: Illustrate basic string manipulation operations in COBOL."
}
]