# 1. Introduction

Calculating the power of a number refers to multiplying the number by itself a specified number of times. For instance, 2 raised to the power 3 (2^3) equals 2 * 2 * 2 = 8. In this tutorial, we will implement a Scala program to calculate the power of a number using both iterative and recursive methods.

# 2. Program Steps

1. Initialize the Scala environment.

2. Implement the iterative method to calculate the power of a number.

3. Implement the recursive method to calculate the power of a number.

4. Print the result of both methods.

5. Execute the program.

# 3. Code Program

``````object PowerCalculator {
def main(args: Array[String]): Unit = {
val base = 2
val exponent = 3

// Calculate power using iterative method
val iterativeResult = powerIterative(base, exponent)
println(s"\$base raised to the power of \$exponent (Iterative) = \$iterativeResult")

// Calculate power using recursive method
val recursiveResult = powerRecursive(base, exponent)
println(s"\$base raised to the power of \$exponent (Recursive) = \$recursiveResult")
}

// Iterative method to calculate power
def powerIterative(base: Int, exponent: Int): Int = {
var result = 1
for (_ <- 1 to exponent) {
result *= base
}
result
}

// Recursive method to calculate power
def powerRecursive(base: Int, exponent: Int): Int = {
if (exponent == 0) 1
else base * powerRecursive(base, exponent - 1)
}
}

``````

### Output:

```2 raised to the power of 3 (Iterative) = 8
2 raised to the power of 3 (Recursive) = 8
```

### Explanation:

1. We encapsulate our program within the PowerCalculator object.

2. In the main function, we declare our base number base and the exponent exponent.

3. The powerIterative method calculates the power of a number using a for-loop. It initializes a result variable to 1 and multiplies it by the base number for exponent times.

4. The powerRecursive method calculates the power of a number using recursion. The base case is when the exponent is 0, returning 1. Otherwise, it multiplies the base with a recursive call by decrementing the exponent.

5. We then call both methods and print the results. For our given sample (2^3), the output is 8 for both methods.