|
|
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 - metrics - 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»