# 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