fork download
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. SQROOT.
  3. AUTHOR. PETER.
  4. DATE-WRITTEN. 15 MAY 2012.
  5.  
  6.  
  7. ENVIRONMENT DIVISION.
  8.  
  9.  
  10.  
  11. CONFIGURATION SECTION.
  12.  
  13.  
  14. DATA DIVISION.
  15. FILE SECTION.
  16.  
  17.  
  18.  
  19. WORKING-STORAGE SECTION.
  20. 01 W-CALCULATION.
  21. 05 W-NUMBER PIC S9(4)V9(5) COMP.
  22. 05 W-ROOT PIC S9(4)V9(5) COMP.
  23. 05 W-ADJUST PIC S9(4)V9(5) COMP.
  24. 05 W-LIMIT PIC S9(4)V9(5) VALUE +0.00005.
  25. 05 W-WORK1 PIC S9(4)V9(5).
  26.  
  27. 01 W-OUTPUT.
  28. 05 FILLER PIC X(15) VALUE "SQUARE ROOT OF ".
  29. 05 W-OUT-NUMBER PIC Z(3)9.9(5).
  30. 05 FILLER PIC X(04) VALUE " IS ".
  31. 05 W-OUT-ROOT PIC Z(4).9(5).
  32.  
  33.  
  34. PROCEDURE DIVISION.
  35.  
  36. A0001.
  37. ACCEPT W-NUMBER.
  38.  
  39. PERFORM C-CALCULATE
  40. UNTIL W-WORK1 < W-LIMIT.
  41.  
  42. MOVE W-NUMBER TO W-OUT-NUMBER.
  43. MOVE W-ROOT TO W-OUT-ROOT.
  44.  
  45. DISPLAY W-OUTPUT.
  46. STOP RUN.
  47.  
  48. C-CALCULATE SECTION.
  49.  
  50. MOVE W-NUMBER TO W-ROOT.
  51.  
  52. COMPUTE W-ADJUST = ((W-NUMBER / W-ROOT) + W-ROOT) / 2;
  53. SUBTRACT W-ADJUST FROM W-ROOT.
  54.  
  55. C-CALC-EXIT.
  56. EXIT.
  57.  
Success #stdin #stdout 0.01s 6156KB
stdin
2.0
stdout
Standard output is empty