Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
100
Task/Nth-root/COBOL/nth-root.cob
Normal file
100
Task/Nth-root/COBOL/nth-root.cob
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. Nth-Root.
|
||||
AUTHOR. Bill Gunshannon.
|
||||
INSTALLATION. Home Office.
|
||||
DATE-WRITTEN. 26 Mar 2026.
|
||||
************************************************************
|
||||
** Program Abstract:
|
||||
** Compute the Nth Root of a positive real number.
|
||||
**
|
||||
** Takes initial value from console.
|
||||
**
|
||||
** Prints first ten roots.
|
||||
**
|
||||
** Enter 0 for first value to terminate program.
|
||||
************************************************************
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
|
||||
01 Num PIC 9(5).
|
||||
01 Loop PIC 9(5).
|
||||
01 Base PIC 9(5)V9(5).
|
||||
01 Z PIC 9(5)V9(5).
|
||||
01 Precision PIC 9V9(9).
|
||||
|
||||
01 TEMP0 PIC 9(9)V9(9).
|
||||
01 TEMP1 PIC 9(9)V9(9).
|
||||
01 RESULTS.
|
||||
05 Field1 PIC ZZZZ9.
|
||||
05 FILLER VALUE SPACES PIC X(8).
|
||||
05 Field2 PIC ZZZZ.ZZZZZZZZZ.
|
||||
|
||||
01 HEADER.
|
||||
05 FILLER PIC X(72)
|
||||
VALUE " Number Root".
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
|
||||
Main-Program.
|
||||
PERFORM FOREVER
|
||||
|
||||
MOVE 0.000001 to Precision
|
||||
PERFORM Get-Input
|
||||
|
||||
DISPLAY HEADER
|
||||
PERFORM VARYING Loop FROM 1 BY 1 UNTIL Loop = 10
|
||||
MOVE Loop TO Num
|
||||
PERFORM Compute-Root
|
||||
|
||||
MOVE Num TO Field1
|
||||
MOVE TEMP1 TO Field2
|
||||
DISPLAY RESULTS
|
||||
END-PERFORM
|
||||
END-PERFORM.
|
||||
|
||||
Get-Input.
|
||||
DISPLAY "Input Base Number: " WITH NO ADVANCING
|
||||
ACCEPT Base
|
||||
IF Base EQUALS ZERO
|
||||
THEN
|
||||
DISPLAY "Good Bye."
|
||||
STOP RUN
|
||||
END-IF.
|
||||
|
||||
Compute-Root.
|
||||
|
||||
MOVE Base TO TEMP0
|
||||
DIVIDE Base BY Num GIVING TEMP1
|
||||
|
||||
PERFORM WITH TEST AFTER UNTIL FUNCTION ABS(TEMP1 - TEMP0 )
|
||||
< Precision
|
||||
MOVE TEMP1 TO TEMP0
|
||||
COMPUTE TEMP1 = (( Num - 1.0) * TEMP1 + Base /
|
||||
TEMP1 ** (Num - 1.0)) / Num
|
||||
END-PERFORM.
|
||||
|
||||
END-PROGRAM.
|
||||
|
||||
<pre>
|
||||
Output:
|
||||
|
||||
Input Base Number: 144
|
||||
Number Root
|
||||
1 144.000000000
|
||||
2 12.000000000
|
||||
3 5.241482788
|
||||
4 3.464101615
|
||||
5 2.701920077
|
||||
6 2.289428485
|
||||
7 2.033937009
|
||||
8 1.861209718
|
||||
9 1.737072938
|
||||
Input Base Number: 0
|
||||
Good Bye.
|
||||
|
||||
</pre>
|
||||
Loading…
Add table
Add a link
Reference in a new issue