1. 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 \;x^y\;, onde x é um número real e y é um número inteiro, usando apenas o comando while. Vamos ler x e y 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 y\ge0, vamos multiplicar x por si mesmo y vezes.
  • Se y<0, calculamos \;x^{|y|}\; 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
\text{resultado} \gets \text{resultado} \times x
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 \;x^y = 1 / x^{|y|}.
if inverso:
 resultado \(=1.0\) / resultado

Passo 7

Exibir o valor final de \;x^y\; 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)

Exercícios relacionados