        IDENTIFICATION DIVISION.
            PROGRAM-ID.     SQROOT.
            AUTHOR.         PETER.
            DATE-WRITTEN.   15 MAY 2012.
            
            
        ENVIRONMENT DIVISION.
        
        
        
        CONFIGURATION SECTION.
        
        
        DATA DIVISION.
        FILE SECTION.
        
        
        
        WORKING-STORAGE SECTION.
            01  W-CALCULATION.
                05  W-NUMBER                   PIC S9(4)V9(5) COMP.
                05  W-ROOT                     PIC S9(4)V9(5) COMP.
                05  W-ADJUST                   PIC S9(4)V9(5) COMP.
                05  W-LIMIT                    PIC S9(4)V9(5) VALUE +0.00005.
                05  W-WORK1                    PIC S9(4)V9(5).
        
            01  W-OUTPUT.
                05  FILLER                     PIC X(15) VALUE "SQUARE ROOT OF ".
                05  W-OUT-NUMBER               PIC Z(3)9.9(5).
                05  FILLER                     PIC X(04) VALUE " IS ".
                05  W-OUT-ROOT                 PIC Z(4).9(5).
                
        
        PROCEDURE DIVISION.
        
        A0001.
            ACCEPT W-NUMBER.
            
            PERFORM C-CALCULATE
                UNTIL W-WORK1 < W-LIMIT.
                
            MOVE W-NUMBER  TO  W-OUT-NUMBER.
            MOVE W-ROOT    TO  W-OUT-ROOT.
            
            DISPLAY W-OUTPUT.
            STOP RUN.
        
        C-CALCULATE SECTION.
            
            MOVE W-NUMBER TO W-ROOT.
            
            COMPUTE   W-ADJUST = ((W-NUMBER / W-ROOT) + W-ROOT) / 2;
            SUBTRACT  W-ADJUST FROM W-ROOT.
            
        C-CALC-EXIT.
            EXIT.
