|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6528 (0x1980) Types: TextFile Names: »PI.LST«
└─⟦1b6e6286b⟧ Bits:30003265 CIS COBOL version 4.4 til CP/M-80 (BG/0000/BL) └─ ⟦this⟧ »PI.LST«
\f ** CIS COBOL V4.4 PI.CBL PAGE: 0001 ** IDENTIFICATION DIVISION. 0118 PROGRAM-ID. PI-CALC. 0118 AUTHOR. PF/TR. 0118 * ENVIRONMENT DIVISION. 0118 CONFIGURATION SECTION. 0118 OBJECT-COMPUTER. APPLE-II. 0118 SPECIAL-NAMES. CONSOLE IS CRT. 0118 * DATA DIVISION. 0118 WORKING-STORAGE SECTION. 0184 * 01 SCREEN PIC X(1920). 0184 00 * 01 DI-1 REDEFINES SCREEN. 0184 00 02 FILLER PIC X(160). 0184 00 02 DI-TX1 PIC X(160). 0224 A0 02 DI-TX2 PIC X(13). 02C4 02 DI-TERM PIC X(15). 02D1 02 FILLER PIC X(136). 02E0 02 DI-TX3 PIC X(6). 0368 02 DI-PI PIC X(15). 036E 02 FILLER PIC X(1415). 037D * 01 DI-2 REDEFINES SCREEN. 0184 00 02 FILLER PIC X(333). 0184 00 02 DI-TERM2 PIC X(15). 02D1 02 FILLER PIC X(142). 02E0 02 DI-PI2 PIC X(15). 036E 02 FILLER PIC X(1415). 037D * 01 WORK-AREA. 0904 02 PI PIC S9V9(14). 0904 02 TERM PIC S9V9(14). 0913 02 W PIC S9V9(14). 0922 02 N PIC 9999. 0931 02 N1 PIC 9999. 0935 02 N2 PIC 9999. 0939 02 ED PIC -9.9(12). 093D * 01 CONSTANTS. 094C 02 TX1 PIC X(17) VALUE "CALCULATION OF PI". 094C 02 TX2 PIC X(12) VALUE "NEXT TERM IS". 095D 02 TX3 PIC X(5) VALUE "PI IS". 0969 * PROCEDURE DIVISION. 0000 LA-START. 0008 00 DISPLAY SPACE. 0009 MOVE SPACE TO SCREEN. 000C MOVE TX1 TO DI-TX1. 0012 MOVE TX2 TO DI-TX2. 0019 MOVE TX3 TO DI-TX3. 0020 MOVE 0.5 TO ED. 0027 MOVE ED TO DI-TERM. 0033 MOVE 3 TO ED. 003B MOVE ED TO DI-PI. 0046 DISPLAY DI-1. 004E MOVE 0.5 TO PI. 0068 \f ** CIS COBOL V4.4 PI.CBL PAGE: 0002 ** MOVE 0.5 TO TERM. 0072 MOVE 3 TO N. 007C LOOP. 0085 00 MOVE N TO N2. 0086 SUBTRACT 2 FROM N2. 008F MULTIPLY N2 BY N2. 009F MULTIPLY N2 BY TERM. 00B0 MOVE N TO N1. 00C1 SUBTRACT 1 FROM N1. 00CA MULTIPLY N BY N1. 00DA MULTIPLY 4 BY N1. 00EB DIVIDE N1 INTO TERM. 00FB IF TERM < 0.0000000000001 THEN GO TO HALT. 010C ADD TERM TO PI. 0129 MOVE PI TO W. 013A MULTIPLY 6 BY W. 0143 MOVE W TO ED. 0153 MOVE ED TO DI-PI2. 015F MOVE TERM TO ED. 0167 MOVE ED TO DI-TERM2. 0173 DISPLAY DI-2. 017B ADD 2 TO N. 018C IF N < 100 GO TO LOOP. 019C HALT. 01AE 00 STOP RUN. 01AF ** CIS COBOL V4.4 REVISION 1 URN BG/0000/BL ** COMPILER COPYRIGHT (C) 1978,1981 MICRO FOCUS LTD ** ERRORS=00000 DATA=02414 CODE=00530 DICT=00393:19306/19699 GSA FLAGS= OFF «eof»