Faça uma função que receba, por parâmetro, dois valores A e B, calcule e retorne A^B (sem utilizar funções ou operadores de potência prontos). O programa principal deverá ler as entradas e imprimir os resultados.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Faça uma função que receba, por parâmetro, dois valores A e B, calcule e retorne A^B (sem utilizar funções ou operadores de potência prontos). O programa principal deverá ler as entradas e imprimir os resultados.
Olá Marcus, tudo bem?
Então, vou tentar dar uma ajuda, mas não vou colocar uma resposta... afinal, só com a prática você vai conseguir aprender, certo?
O portugol é ótimo para praticar a criação de algoritmos, no caso, você precisa receber dois valores e realizar uma operação de potenciação.
O importante na criação de algoritmos é você ter a capacidade de destrinchar o problema... Assim, ao invés de você ter 01 problema complexo, você terá vários problemas simples de serem solucionados... atingindo por fim, a solução do 01 que vinha buscando. Vamos ao exercício:
Podemos notar que o código, para executar conforme o esperado precisa seguir alguns passos, são eles:
Após realizado estes passos, uma operação deve ser realizada, sendo ela a de potenciação. Uma potência, consiste na multiplicação do número da base por ele mesmo por X vezes, que será determinada pelo expoente, logo, teremos algo como:
(A * A) por B vezes.
Espero ter conseguido esclarecer essa dúvida.
Tente montar a resolução do exercício e poste no fórum para que possamos aprender juntos ^^.
Espero ter ajudado.
new Saudacao();; ; )
Yan Victor, eu criei o código com base no que entendi sobre o que você falou. Mas ele está calculando o valor errado, poderia dar uma olhada por favor?
programa
{
funcao inicio()
{
inteiro base, expoente, calculo
escreva("Digite um o valor da base.: ")
leia(base)
escreva("Digite um valor para o expoente.: ")
leia(expoente)
calculo = (base * base) * expoente
escreva(calculo)
}
}
Olá.
O cálculo está dando errado porque você está multuplicando A * A e após, o resultado de A, multiplicando por B.
O que nós precisamos fazer é multiplicar o A por A, uma certa quantidade de vezes, por exemplo:
Se o usuário informar o valor de A = 5; e B = 3, teremos a seguinte conta:
5 * 5 * 5, o que nos resultará 125
portanto, precisamos multiplicar o A por A, um número B de vezes.
O restante do código está Perfeito!!
vamos lá! mais essa mudança e estará tudo perfeito!!
new Saudacao();
; )