# função exponencial (a^b)
expo <- function(a, b) {
prod <- 1
if (b > 0) {
for(i in 1:b) {
prod <- prod*a
}
} else if (b < 0 & a != 0) {
for(i in 1:abs(b)) {
prod <- prod*(1/a)
}
} else if (b < 0 & a == 0) {
prod <- paste("não existe divisão por zero")
}
return(prod)
}
## número positivo elevado à um expoente positivo
expo(10, 3)
## [1] 1000
## número negativo elevado à um expoente positivo
expo(-10, 3)
## [1] -1000
## número positivo elevado à um expoente negativo
expo(10, -3)
## [1] 0.001
## número negativo elevado à um expoente negativo
expo(-10, -3)
## [1] -0.001
## número nulo elevado à um expoente positivo
expo(0, 3)
## [1] 0
## número nulo elevado à um expoente negativo
expo(0, -3)
## [1] "não existe divisão por zero"
## número positivo elevado à zero
expo(10, 0)
## [1] 1
## número negativo elevado à zero
expo(-10, 0)
## [1] 1