PROGRAM calcula_potencia
    IMPLICIT NONE
    INTEGER :: expo
    REAL :: base, potencia

    WRITE(*, *)"Calcula a potencia de uma base real e um &
                &expoente nao negativo inteiro:"
    WRITE(*, *)"Informe a base real:"
    READ(*, *) base
    WRITE(*, *)"Informe o expoente inteiro nao negativo:"
    READ(*, *) expo
    WRITE(*, *)"O valor da potencia eh:", potencia(base, expo)
    STOP    
END PROGRAM calcula_potencia

FUNCTION potencia(base, expoente)
    IMPLICIT NONE
    INTEGER :: expoente, vezes
    REAL :: base, potencia

    potencia = 1
    DO vezes = 1, expoente, 1
        potencia = potencia * base
    END DO
    RETURN
END FUNCTION potencia
