Quer ganhar dinheiro e viver como programador Python? Te ensinamos aqui!
Exponenciação na Matemática
A operação exponenciação, na Matemática, é a que tem o seguinte formato:Por exemplo:
2² = 4
2³ = 8
3² = 9
3³ = 27
Chamamos o x de base, o y de expoente e o z de potência.
Essa é a definição Matemática, que muito provavelmente você já conhece.
Agora vamos ver isso de uma outra perspectiva, de programação.
Potência em Python
Quando fazemos x elevado a y, estamos querendo dizer:"Quanto é x vezes x vezes x....y vezes?"
Por exemplo:
3⁴ quer dizer: 3 x 3 x 3 x 3
2⁵ quer dizer: 2 x 2 x 2 x 2 x 2
Então, x^y (x elevado a y), quer dizer que estamos x por x por x por x...isso um total de y vezes.
Exercício em Python
Agora que já aprendemos sobre exponenciação e como calcular a potência na Matemática, vamos ver um exercício interessante, postado no artigo sobre "Lista de Exercícios de Laços e Loops":Faça um programa que peça dois números, base e expoente, calcule e mostre o primeiro número elevado ao segundo número. Não utilize a função de potência da linguagem.
Bom, vamos lá.
Precisamos garantir duas coisas: que a base e o expoente sejam números positivos, e o expoente seja também inteiro.
Vamos armazenar o valor da base na variável base e o expoente em expoente.
Nosso resultado vai ficar armazenado na variável potencia, que deve iniciar com valor 1.
Temos que multiplicar a variável potencia por base, várias vezes.
Quantas vezes? expoente vezes!
Vamos usar uma variável de apoio count que serve de contador de 1 até potencia, que vai controlar quantas vezes os laços serão executados.
Exercício resolvido usando laço WHILE
print("base ^ expoente:")
base=int(input("Base: "))
expoente=int(input("Expoente: "))
potencia=1
count=1
while count <= expoente:
potencia *= base
count +=1
print(base,"^",expoente,"=",potencia)
Exercício resolvido usando laço FOR
print("base ^ expoente:")
base=int(input("Base: "))
expoente=int(input("Expoente: "))
potencia=1
for count in range(expoente):
potencia *= base
count += 1
print(base,"^",expoente,"=",potencia)
Alguém tem a resposta em c# ?. Por favor!!
ResponderExcluirResposta em Java
ResponderExcluirScanner scan = new Scanner(System.in);
System.out.println("Cálculo de potência");
System.out.println("Entre com a base");
int base = scan.nextInt();
System.out.println("Entre com o expoente");
int exp = scan.nextInt();
int potencia = 1;
int count = 1;
while(count <= exp)
{
potencia *= base;
count++;
}
System.out.println(base + " ^ " + exp + " = " + potencia);
}
}
O programa no laço WHILE tá igual ao q eu fiz, porém, esse programa não resolve o problema em caso de valores de expoente negativos...
ResponderExcluirConsegui resolver incluindo casos onde o expoente é 0 ou negativo!
ResponderExcluirbase = float(input("digite o valor da base:\n"))
expoente = int(input("digite o valor do expoente:\n"))
if expoente == 0:
potencia = 1
elif 0 < expoente:
contador=1
potencia = base
while contador < expoente:
potencia *= base
contador += 1
elif expoente < 0:
contador = -1
potencia = 1/base
while contador > expoente:
potencia *= 1/base
contador -= 1
print(potencia)