- Utilizando o comando “while” faça um programa que calcula o valor de x elevado a y, onde x é um número real lido do teclado e y é um número inteiro lido do teclado.
Passo 1
O enunciado pede um programa que calcule o valor de
, onde
é um número real e
é um número inteiro, usando apenas o comando while. Vamos ler
e
do teclado e implementar a lógica de potência por multiplicação repetida.
Passo 2
Ler as entradas: em Python, usamos
input()
e convertemos para os tipos apropriados.x = float(input("Digite o valor de x (real): "))
y = int(input("Digite o valor de y (inteiro): "))
Passo 3
Inicializar o resultado e preparar para lidar com expoente negativo.
- Se
, vamos multiplicar por si mesmo vezes. - Se
, calculamos e depois invertemos (recíproco).
resultado \(=1.0\)
expoente = y
Passo 4
Tratar o caso de expoente negativo invertendo o sinal de
expoente
e lembrando de inverter o resultado ao final.if expoente < 0:
expoente = -expoente
inverso = True
else:
inverso = False
Passo 5
Usar o while para multiplicar repetidamente. A cada iteração, fazemos
e reduzimos
expoente
até chegar a zero.contador \(=0\)
while contador < expoente:
resultado *= x
contador \(+=1\)
Passo 6
Se o expoente original era negativo, inverter o .
resultado
para obter
if inverso:
resultado \(=1.0\) / resultado
Passo 7
Exibir o valor final de
na tela.
print("O resultado de", x, "elevado a", y, "é", resultado)
Resposta
x = float(input("Digite o valor de x (real): "))
y = int(input("Digite o valor de y (inteiro): "))
resultado \(=1.0\)
expoente = y
if expoente < 0:
expoente = -expoente
inverso = True
else:
inverso = False
contador \(=0\)
while contador < expoente:
resultado *= x
contador \(+=1\)
if inverso:
resultado \(=1.0\) / resultado
print("O resultado de", x, "elevado a", y, "é", resultado)