Prévia do material em texto
Python Repetições – While O que é While? O while é um comando que manda um bloco de código ser executado enquanto uma condição não for satisfeita. Assim, permite que sejam criados loops de execução, como temos em jogos e aplicativos com interfaces gráficas. É um comando muito útil, mas pode ser perigoso, pois quando não tratamos corretamente o critério de parada, o laço (loop) pode não ter fim, com isso o programa não faz o que deveria. Vamos ver um exemplo básico de como funciona o while em Python: Neste código, será mostrada a mensagem x > 0 até que x seja igual a zero. Quando o valor de x passar para 0, a verificação x > 0 retornará falso, assim o programa saindo do looping. Já agora iremos ver o seguinte comando: De início temos um comando que seria executado eternamente, já que while foi declarado como True, causando um loop infinito, porém isso não acontece devido a uma verificação, e quando a variável “i” estiver guardando um valor maior que 100, o comando break será executado. O comando break literalmente quebra o loop, então naquele instante, o programa sai do loop. 1 Praticando Vamos agora resolver a seguinte questão: 1-Faça um programa no qual há duas entradas, sendo uma base e um expoente. Eleve a base pelo seu expoente. OBS: Não usar a forma de potência. A primeira coisa em que devemos observar é o pedido de não usar forma de potência, ou seja, os famosos dois asteriscos depois do número base (2 ** 3 = 8). A segunda coisa será iniciar a entrada dos nossos dados, a base e o expoente: Vamos supor que nossa base será 2 e nosso expoente o número 3. Agora começaremos a lógica de verdade, pense em um número (que não seja negativo), que praticamente será menor do que qualquer expoente dado na entrada, esse número será o zero. Assim iremos criar uma variável cont (contador), que valerá zero: Logo após iremos imaginar nosso exercício em forma de equação, lembrando que nossa base vale 2 e expoente 3, ficando assim: 2 x 2 x 2 = 8 Porém se mudarmos da seguinte maneira, seu resultado será o mesmo: (((1 x 2) x 2) x 2) = 8 Agora vem aquela pergunta, por que a adição do número 1 na equação? Simples, pois o número 1 multiplicado por qualquer número é ele mesmo. Com isso iremos criar outra variável qualquer, de nome produto, que valerá 1: Agora para entendermos todo o processo acima citado, iremos reproduzir todos os comandos por completo: Para um melhor entendimento, iremos mencionar uma explicação por vez. Na linha “while cont<expoente:”, temos uma exigência para que while seja verdadeiro, ou seja, um expoente maior do que o nosso contador. Na linha “produto=produto*base”, temos uma multiplicação envolvendo a base, que resultará no mesmo valor da base, já que a variável produto vale 1. Na linha “cont=cont+1”, temos a soma de 1 em nosso contador, respeitando a progressão de 1 em 1 dele até o valor do expoente, transformando nosso while em falso, encerrando o programa e dando a resposta correta. Na próxima linha damos o comando print de nosso produto, anexado à barra esquerda, pois assim evitamos uma resposta dupla. Dúvida sobre o contador (cont): Em exponencial, multiplicamos a base de vez em vez, sem multiplicá-la duas vezes em locais distintos da equação, como na seguinte equação que há essa multiplicação simultânea: (1 x 2) x 2 x (2 x 2) x ( 2 x 2) Claramente a resposta será correta, porém há 3 multiplicações simultâneas, causando um possível erro na memória do computador, ou sendo até mesmo uma execução impossível. Por isso somamos ao nosso cont, o número 1, resumindo na seguinte equação: ((((((1 x 2) x 2) x 2) x 2) x 2) x 2) Cont = 0 = 1 = 2 = 3 = 4 = 5 = 6 = while falso Produto = +1 +1 + 1 + 1 + 1 + 1