EP1

EP1

por Alessandro Bezerra da Silva -
Número de respostas: 2

Pessoal, gostaria de saber se posso criar uma função para cálculo de exponenciais, já que não posso usar a**b. Ou preciso fazer essa implementação de outra maneira? Obrigado desde já!

Em resposta à Alessandro Bezerra da Silva

Re: EP1

por Marcelo Queiroz -

Oi, Alessandro!

Bom, sua pergunta mostra que você leu a parte do enunciado que diz:

"A fim de exercitarmos nosso aprendizado, o uso do operador ** (exponenciação) está ​ interditado no EP1, ou seja, você terá que construir a distribuição sem usar explicitamente qualquer expressão da forma ​x**y​".

Então entendo que o problema está na interpretação do texto. Concordo com você que ele poderia estar mais explícito... no meu entender, x**y ou pow(x,y) ou exp(x,y) são todas expressões formalmente equivalentes, no sentido de produzir todas o mesmo resultado x*x*x*...*x (y vezes), resultado esse aliás que todos sabemos como implementar, pois é uma simplificação do problema de multiplicar n números que resolvemos em aula. Nesse sentido, me parece que escrever uma função

def pow(x,y):
    pow=1
    while y>0:
        pow *= x
        y -= 1
    return pow

não cumpriria muito a finalidade (expressa no enunciado) de exercitarmos nosso aprendizado. Você não acha?

Sobre sua segunda pergunta, o enunciado também traz a resposta: "Dica: compute as potências ​100, 101,..., 10N-1 iterativamente, a fim de construir cada um dos termos da soma que define dist."

Abraços,

Marcelo