Nächste Seite: Aufgabe 4
Aufwärts: Lösungen
Vorherige Seite: Aufgabe 2
  Inhalt
PROGRAM A_09
IMPLICIT NONE
INTEGER :: k, n, iostat, gross, klein
DO
DO
WRITE (*,'(A)',ADVANCE='NO') 'Geben Sie eine INTEGER-Zahl ein: '
READ (*,*,IOSTAT=iostat) n
IF (iostat < 0) THEN
STOP
ELSE IF ((iostat == 0) .AND. (n > 0)) THEN
EXIT
END IF
ENDDO
gross = n
klein = 1
k = (klein+gross)/2
DO
IF ((k*k <= n) .AND. ((k+1)**2 > n)) EXIT
IF (k*k > n) THEN
gross = k
ELSE
klein = k
ENDIF
k = (klein+gross)/2
ENDDO
IF (k**2 == n) THEN
WRITE (*,*) 'Die Wurzel aus ',n,' = ',k
ELSE
WRITE (*,*) 'Die Wurzel aus ',n,' ~ ',k
ENDIF
END DO
END PROGRAM
Reinfried O. Peter
2001-09-07