
!
      PROGRAM P38
!
!  This program will find the perimeter and the area of a triangle
!
!
     IMPLICIT NONE
     REAL :: A,B,C,PERI,SEMI,AREA
     INTEGER :: N
!
!    Tell program where data for  READ *  is coming from
     OPEN(UNIT=5, FILE='P38.DAT')      ! UNIT=5 is the default input
!
! 
!    READ DATA
!
     DO N=1,20
        READ *,A,B,C
        IF( A == -90.0 ) STOP

        IF( A <= 0 .OR. B <= 0 .OR. C <= 0 ) THEN
          PRINT 5,A,B,C
          PRINT *,'ALL THE VALUES MUST BE POSITIVE.'
5         FORMAT(' A=',F8.3,'  B=',F8.3,' C=',F8.3)
        ELSE
          PERI = A+B+C
          SEMI = PERI/2
          AREA = SEMI * (SEMI-A) * (SEMI-B) * (SEMI-C)
          IF (AREA .LT. 0) THEN
             PRINT 5,A,B,C
             PRINT *,'TWO SIDES SHORTER THAN THIRD'
          ELSE
             PRINT 8,A,B,C,PERI,SQRT(AREA)
8            FORMAT(' A=',F8.3,' B=',F8.3,' C=',F8.3,' PERIMETER =', &
             F8.3,' AREA=',F8.3)
          END IF
        END IF
     END DO
     STOP
     END PROGRAM P38