Prévia do material em texto
Comando while, variáveis
contadoras e acumuladoras
(utilizando a linguagem Python)
Apresentação
Muitas vezes um trecho de código precisa ser executado repetidas vezes. A linguagem de
programação Python contém estruturas/laços de repetição, como o while, que possibilitam repetir
uma ação inúmeras vezes e, caso o código não seja bem estruturado, criar até um laço infinito. A
estrutura de repetição while executa um trecho de código enquanto o teste lógico (condição) for
verdadeiro e, quando for falso, a repetição se encerra.
Nesta Unidade de Aprendizagem, você vai conhecer o laço de repetição while e como trabalhar
com as variáveis contadoras e acumuladoras para controlar o laço. Em seguida, você verá como
verificar o funcionamento do laço de repetição por meio do teste de mesa. E, por fim, resolverá
problemas computacionais utilizando o while.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Descrever o comando while, variáveis contadoras e acumuladoras. •
Realizar testes de mesa em problemas que utilizem o comando while, variáveis contadoras e
acumuladoras.
•
Resolver problemas computacionais utilizando o comando while e as variáveis contadoras e
acumuladoras.
•
Desafio
Muitas aplicações em programação necessitam de um menu de opções para se comunicar com
usuário. O menu interage com o usuário solicitando as informações que deverão ser inseridas no
programa e devolvendo respostas na tela do computador. Nesse contexto, uma aplicação
interessante do uso de menu de opções é criar uma calculadora para interagir com o usuário.
Você trabalha como desenvolvedor de software de uma empresa multinacional que negocia
criptomoedas. Seu gerente de software, a pedido dos clientes, solicitou que você implemente uma
nova funcionalidade no sistema: um menu que contenha uma calculadora para converter
criptomoeda em reais e vice-versa. Além da conversão entre moeda, é requisitado que a
calculadora tenha um menu interativo, como mostrado na figura a seguir:
Sendo assim, desenvolva um código em Python que atenda a solicitação do seu gerente, utilizando a
estrutura de repetição que você aprendeu nesta unidade de aprendizagem, ou seja, o while.
Infográfico
Laços de repetição podem ser, no primeiro momento, um pouco complicados para entender. Isso,
porque as estruturas de repetição, como o comando while, alteram o fluxo linear de um programa e
permitem implementar uma determinada lógica que repete um trecho de programa enquanto uma
condição especificada for verdadeira.
No Infográfico a seguir, você vai visualizar alguns passos para melhorar o seu aprendizado ao
estudar laços de repetição while na linguagem de programação Python.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Conteúdo do Livro
A linguagem Python contém estruturas de repetição que permitem executar trechos de código
quantas vezes forem necessárias. Uma dessas estruturas é o laço while (tradução "enquanto"), que
possibilita criar loops para executar uma ou mais instruções, enquanto uma determinada condição
for verdadeira.
Leia o capítulo Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem
Python), da obra Pensamento Computacional, para compreender o funcionamento desse laço de
repetição e veja alguns exemplos de aplicações práticas utilizando esse comando.
Boa leitura!
PENSAMENTO
COMPUTACIONAL
Fernando Esquírio Torres
Comando while,
variáveis contadoras e
acumuladoras (utilizando
a linguagem Python)
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
� Descrever o comando while e as variáveis contadoras e acumuladoras.
� Realizar testes de mesa em problemas que utilizem o comando while
e as variáveis contadoras e acumuladoras.
� Resolver problemas computacionais utilizando o comando while
e as variáveis contadoras e acumuladoras.
Introdução
Neste capítulo, você vai estudar a estrutura de repetição while e enten-
der como funcionam as variáveis contadoras e acumuladoras, necessárias
para controlar os laços de repetição e acumular valores de variáveis,
respectivamente. Em seguida, você vai aprender como verificar o fluxo
de repetição do laço while por meio de um teste de mesa. Por fim, você
vai compreender como utilizar esse laço de repetição para solucionar
problemas computacionais.
Laços de repetição while
Imagine que você é um programador e está desenvolvendo um programa em
Python para ler as notas de três alunos. A solução proposta por você é imple-
mentar três linhas de código com o comando input() para fazer a leitura
dessas notas, como demonstra a Figura 1.
Figura 1. Programa para ler as notas de três alunos.
O código implementado na Figura 1 resolve satisfatoriamente seu problema
para a leitura de três notas. Porém, se o problema possuir uma escala maior,
como ler as notas de 50 alunos, não será uma boa prática de programação
escrever 50 linhas de código com o comando input() para a leitura de todas
essas notas. Uma solução mais profissional e recomendada nesse caso é a
utilização de uma estrutura que possa repetir a leitura da nota quantas vezes
for necessário. Essa estrutura, amplamente utilizada em programação para nos
auxiliar nesse tipo de problema, é chamada de laço ou estrutura de repetição.
Ela permite a repetição de um bloco de código enquanto uma determinada
condição for verdadeira, evitando a escrita recorrente de trechos de código.
Os laços (loops) de repetição são utilizados para repetir blocos de código
específicos por um certo número de vezes ou até que uma condição seja atin-
gida, conforme leciona Banin (2018). A primeira estrutura de repetição que
você vai estudar é o while. Porém, antes de aprender sobre esse assunto, é
necessário que você compreenda o que são blocos de instrução, tema importante
a ser abordado neste momento.
Blocos de instrução
Segundo Ramalho (2015), os blocos de instrução são um conjunto de comandos
pertencentes a uma função, uma estrutura condicional, um laço de repetição,
etc. Na maioria da linguagens de programação, os blocos são delimitados por
abertura ( { ) e fechamento ( } ) de chaves ({ }). Porém, na linguagem Python,
os blocos de instrução são delimitados pela indentação do código, ou seja,
o recuo aplicado ao código fonte em relação à sua margem, a fim de tornar o
código mais legível e facilitar o reconhecimento de sua estrutura (Figura 2).
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)2
Figura 2. Delimitação do bloco de instruções (a) na linguagem C e (b) em Python.
(a)
(b)
Na Figura 2a, que mostra um código implementado na linguagem C, é
possível observar que o conjunto de instrução (bloco) que pertence ao laço
de repetição while está delimitado pelas chaves { } e que o comando
printf (utilizado na linguagem C para imprimir dados na tela), que está
fora da área delimitada pelas chaves, não pertence a esse bloco. Na Figura 2b,
em Python, é possível ver que o que define o conjunto de instrução do
laço while é a indentação do código à direta. Os comandos de impressão
(print('Mensagem impressa')) e de incremento (i+=1) apresentam
um espaço (semelhante a um parágrafo), que identifica o bloco de instruções
pertencente ao laço while. O segundo print, alinhado ao comando while,
já está fora do bloco de instruções.
3Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Comando while
Segundo Barry (2018), o laço de repetição while (“enquanto”, em inglês)
permite repetir um conjunto de instruções enquanto a condição testada for
verdadeira. Essa condição, que é sempre testada no início do laço, contém
uma expressão booleana que pode assumir o valor de verdadeira ou falsa. O
f uxograma da Figura 3 mostra o funcionamento do comando while, em
que a condição é testada antes de iniciar a iteração do laço; enquanto ela for
verdadeira,o loop será repetido.
Figura 3. Fluxograma do laço while.
A sintaxe do comando while é:
#inicialização da variável contadora
while condição:
#sequência de comando(s) executado(s) no corpo do while
comando _ 1
comando _ 2
...
comando _ n
#incremento ou decremento da variável contadora
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)4
Variável contadora
No comando while, a variável contadora é utilizada como controle do
laço; ela determina o número de vezes que o conjunto de instruções do laço
while será executado. Ela deve ser inicializada antes do comando while e
ser incrementada ou decrementada dentro do bloco de instrução do comando
while, de modo que a condição se torne falsa quando o número de repetições
desejadas for atingido.
Incrementar é somar uma quantidade do valor atual de uma variável. Decrementar é
diminuir uma quantidade do valor atual de uma variável.
Fique atento a essa questão, pois, do contrário, você pode criar um loop
infinito indesejado, conforme aponta Borges (2014).
O exemplo da Figura 4 traz o laço de repetição while utilizando uma variável con-
tadora, que incrementa o seu valor a cada execução do loop. O bloco de instruções
dentro do laço é repetido três vezes.
(a)
(b)
Figura 4. (a) Laço de repetição while com incremento da variável contadora e (b) resultado
da execução do código.
5Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
O código da Figura 4a inicializa, fora do laço de repetição, a variável contadora de
controle, nomeada nesse exemplo como cont, que recebe valor 1. O teste lógico no
comando while é cont=1, ou seja,
o laço vai repetir o bloco de instruções enquanto a variável cont for maior ou igual
a 1. Assim, a condição de parada do laço acontece quando cont assumir um valor
menor do que 1. Nesse exemplo, o bloco de instruções possui dois comandos: a função
print(), para imprimir a mensagem na tela, e o decremento de uma unidade da
variável contadora, (cont-=1). O resultado da execução desse código é mostrado na
Figura 5b, em que podemos averiguar que o bloco do comando while é executado
e imprime a mensagem de dentro do laço cinco vezes.
Instruções break e continue
O comando break, quando utilizado dentro de um laço de repetição, serve
para interromper a repetição, encerrando a execução do loop e, em seguida,
saltando para a linha de código imediatamente após o bloco de instruções do
laço, conforme leciona Perkovic (2016).
O exemplo mostrado na Figura 6 traz o laço de repetição infinito, que é um laço que
apresenta uma condição de teste sempre verdadeira, implementado com while. Ele
contém o valor True (Verdadeiro) como teste lógico e a estrutura condicional if
para determinar quando executar o comando break e encerrar a execução do loop.
O código da Figura 6a é um loop infinito, pois a condição do comando while é
sempre verdadeira (True); assim, não há uma condição de parada. A variável conta-
dora de controle cont é inicializada fora do laço com o valor 1; em toda a execução
do loop, ela é incrementada de uma unidade no comando cont+=1 e testada na
estrutura condicional if (cont>3). Quando o valor de cont for maior do que 3,
o teste lógico da estrutura condicional if é verdadeiro e, então, o comando break
é executado, parando o laço de repetição while. O resultado da execução desse
código é mostrado na Figura 6b, em que é possível perceber que o comando while
imprime a mensagem dentro do laço três vezes, semelhante ao exemplo da Figura 4.
7Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
(a)
(b)
Figura 6. (a) Laço de repetição while com instrução break e (b) resultado da execução
do código.
O comando continue interrompe o fluxo de execução do laço de repe-
tição. Porém, ele avança para a próxima execução do loop, conforme explica
Perkovic (2016).
O exemplo mostrado na Figura 7 traz o laço de repetição while e a estrutura con-
dicional if para determinar quando executar o comando continue e saltar para a
nova execução do loop. Ou seja, se a condição do if for verdadeira, o continue é
executado e o loop retorna ao início, ignorando as próximas linhas de código.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)8
(a)
(b)
Figura 7. (a) Laço de repetição while com instrução continue e (b) resultado da
execução do código.
O código da Figura 7a apresenta o while com a variável contadora de controle
cont, que é inicializada fora do laço com o valor 1. A cada execução do loop, ela é
incrementada de uma unidade no comando cont+=1 e testada na estrutura condi-
cional if (cont%2==1), que testa se um valor é ímpar, isto é, se o resto da divisão de
cont/2 é igual a 1. Se a condição for verdadeira, o comando continue é executado,
pulando a linha do comando print (cont) e iniciando a próxima execução do
laço de repetição. O resultado da execução desse código é mostrado na Figura 7b. Ao
final, verificamos que o comando while imprime os números pares positivos até 10.
Teste de mesa para o laço de repetição while
O teste de mesa é uma técnica utilizada para verificar manualmente o fluxo de
execução de um programa, sem utilizar o computador e necessitando apenas
de papel e caneta, conforme aponta Barry (2018). Esse teste é útil para verificar
erros de lógica e, geralmente, é utilizado quando não existe uma ferramenta
automatizada de debug ou de simulação para verificar o funcionamento do
código implementado.
9Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Como o teste de mesa é uma avaliação manual do funcionamento do pro-
grama, seu escopo deve ser muito bem definido, para que o desenvolvedor
consiga rastrear os estados de todas as variáveis observadas. Em programas
maiores, esse tipo de teste pode ser feito em blocos, testando, por exemplo, o
comportamento das variáveis dentro do laço de repetição while.
A configuração dos testes de mesa depende fortemente da função do código
implementado e do tipo de lógica que se pretende avaliar. De forma geral,
segundo Slatkin (2015), para realizar o teste de mesa, é necessário seguir os
seguintes passos:
1. Indicar as variáveis, os testes lógicos e/ou os resultados de operações
que serão rastreadas no teste de mesa.
2. Criar uma tabela com linhas e colunas, em que as colunas serão os
elementos rastreados, que foram identificados no primeiro passo, e
as linhas serão enumeradas de acordo com as instruções observadas/
executadas durante o teste de mesa.
3. Percorrer o trecho de código a ser testado linha por linha, preenchendoa tabela com os valores atualizados dos elementos rastreados ao final
da execução de cada linha observada.
4. Executar o terceiro passo do teste até o final do trecho de código que
se deseja verificar.
No laço de repetição while, o teste de mesa verifica o seu funcionamento,
atualizando o conteúdo dos elementos rastreados a cada reinício do loop. Dentro
de um laço de repetição while, os elementos que poderão ser rastreados são
número de iteração/repetição do while, status da condição testada, conteúdo
das variáveis contadora e acumuladora (se houver), entre outros. A Figura 8
mostra o laço de repetição que soma o 10 primeiros números positivos (Figura
8a) e o teste de mesa desse código (Figura 8b).
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)10
Figura 8. (a) Teste de mesa do comando while e (b) tabela com teste de mesa do código.
(a)
(b)
O teste de mesa da Figura 8b mostra a mensagem impressa com os elemen-
tos rastreados: o número da iteração/repetição do laço de repetição while,
o status da condição testada e os conteúdos das variáveis contadora cont
e acumuladora soma a cada reinício do loop. Na primeira vez que o laço
de repetição é executado, a condição testada é verdadeira, a variável cont
contém o valor 1 e a soma do valor acumulado é 1. Na segunda repetição do
laço, a condição testada ainda é verdadeira, o conteúdo da variável cont é
incrementado de uma unidade, por causa da execução do comando da linha
9 (Figura 8a), cont+=1, e o conteúdo da variável soma é atuaizado para 3.
Isso porque é acumulado o valor anterior (1) dessa variável, sendo somado
com o valor atual da variável cont (2), por meio do comando da linha 6
(Figura 8a), soma += cont. À medida que cada iteração/repetição do laço
while ocorre, a variável contadora cont é incrementada em uma unidade,
e a variável soma acumula o valor do somatório dos n números. O teste de
mesa é realizado até que a condição lógica do laço while assume o valor
False (última linha da Figura 8b).
11Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Variável acumuladora
Variáveis acumuladoras são comumente empregadas em laços de repetição.
Sua função é acumular um determinado valor a cada iteração/repetição do
loop. Dessa forma, o valor da variável acumuladora é somado com um valor
numérico ou com o conteúdo de outra variável, conforme leciona Matthes
(2016).
O código mostrado na Figura 8a possui um laço while com uma variável
acumuladora soma. Essa variável acumula o seu próprio valor anterior, mais
outro valor ou o valor de uma variável (no caso, a variável cont), acumulando,
assim, o valor somado a cada iteração do while.
Aplicações práticas utilizando o laço de
repetição while
Existem diversas aplicações para o laço de repetição while. Dentre elas,
pode-se citar a criação de menus interativos para se comunicar com o usuário e
a impressão de uma sequência numérica, como fatorial, somatório e produtório
de números, progressões aritmética e geométrica, sequência de Fibonacci,
entre outros, conforme expõe Downey (2016).
Sequência de Fibonacci
Segundo Matthes (2016), a sucessão ou sequência de Fibonacci é uma sequência
numérica em que os dois primeiros números têm valor F0= 0 e F1= 1 e os outros
números da sequência são calculados pela equação Fn = F(n-1) + F(n-2). Assim, o ter-
ceiro elemento é calculado por F3 = F2 + F1 = 1, o quarto elemento é F4 = F3 + F2 = 2,
o quinto é F5 = F4 + F3 = 3, e assim por diante. O código da Figura 9 mostra
um programa da sequência de Fibonacci, em que o usuário escolhe quantos
elementos da sequência ele quer imprimir.
O código da Figura 9 possui dois comandos while, sendo que o primeiro
controla a continuidade de execução do programa. Ele repetirá o cálculo da
sequência de Fibonacci (comando a, b = b, a+b) até que o usuário digite
um valor diferente de 1; caso o usuário digite o valor 0, a variável de controle
é atualizada, e é encerrada a execução do programa. O segundo comando
while é responsável por calcular e imprimir os elementos da sequência de
Fibonacci conforme a quantidade de números escolhida pelo usuário.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)12
Figura 9. (a) Método format() para strings e (b) um resultado da formatação.
(a)
(b)
Calculadora simples com menu interativo
O laço de repetição while também é utilizado na construção de menus intera-
tivos, que servem para comunicar ao usuário informações importantes, como
orientações de funcionamento, ajuda, inserção de dados ou encerramento do
programa, conforme aponta Slatkin (2015). A aplicação da Figura 10 mostra
como construir um menu interativo para uma calculadora, que faz diversas
operações entre dois números reais.
13Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Figura 10. Calculadora simples com um menu interativo.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)14
A calculadora da Figura 10 possui um laço de repetição while sempre
verdadeiro (while True:), permitindo que o menu interativo seja apresentado
ao usuário até que o teste lógico da estrutura condicional (if (controle
== 7):) seja verdadeiro. Essa condição do if só será verdadeira se o usuário
escolher a opção 7; então, a instrução break será executada, finalizando o
laço de repetição. Quando o usuário escolhe outra opção (de 1 a 6), a estrutura
condicional composta if-elif interage com o usuário, solicitando a entrada
do(s) valor(es) numérico(s) e realizando a operação matemática escolhida.
BANIN, S. L. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo:
Érica, 2018. 264 p.
BARRY, P. Use a cabeça! Python. 2. ed. Rio de Janeiro: Alta Books, 2018. 616 p. (Série Use
a Cabeça/Head First).
BORGES, L. E. Python para desenvolvedores: aborda Python 3.3. São Paulo: Novatec,
2014. 320 p.
DOWNEY, A. B. Pense em Python: pense como um cientista da computação. São Paulo:
Novatec, 2016. 312 p.
MATTHES, E. Curso intensivo de Python: uma introdução prática e baseada em projetos
à programação. São Paulo: Novatec, 2016. 656 p.
PERKOVIC, L. Introdução à computação usando Python: um foco no desenvolvimento
de aplicações. Rio de Janeiro: LTC, 2016. 516 p.
RAMALHO, L. Python fluente. São Paulo: Novatec, 2015. 800 p.
SLATKIN, B. Python eficaz: 59 maneiras de programar melhor em Python. São Paulo:
Novatec, 2015. 296 p.
Leituras recomendadas
HETTINGER, R.; CARROLL, W. I. Python Enhancement Proposal (PEP) 315: Enhanced
while loop. Python Software Foundation, Wilmington, 2003. Disponível em: https://
www.python.org/dev/peps/pep-0315/. Acesso em: 3 jun. 2019.
LABAKI, J. Testes, loops, varreduras e erros. In: LABAKI, J. Introdução a Python: módulo
A. Ilha Solteira: Departamento de Engenharia Mecânica, Universidade Estadual Pau-
lista “Júlio de Mesquita Filho”, 2004. p. 29–46. Disponível em: https://www.dcc.ufrj.
br/~fabiom/mab225/pythonbasico.pdf. Acesso em: 3 jun. 2019.
15Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
PINA JÚNIOR, J. C.; MORIMOTO, C. H. Comando de repetição: while. In: PINA JÚNIOR, J.
C.; MORIMOTO, C. H. Introdução à Computação com Python. São Paulo: Departamento
de Ciência da Computação, IME-USP, 2019. Disponível em: https://panda.ime.usp.br/
cc110/static/cc110/03-while.html. Acesso em: 3 jun. 2019.
VIEGAS, T. B. Correções para PEP8 - Listas 03 e 04. Python Brasil Exercícios, [S. l.], 4 ago.
2014. Disponível em: https://github.com/selatotal/pythonBrasilExercicios/tree/mas-
ter/03_EstruturasRepeticao. Acesso em: 3 jun. 2019.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)16
Dica do Professor
A linguagem de programação Python permite usar um bloco de comando else contido em
comandos de repetição, como no comando while. Esses dois comandos juntos em um trecho de
código podem ser estranhos para programadores de outraslinguagens de programação, que estão
acostumados a ver o else somente em conjunto às estruturas de decisão, como if.
Em Python, usar o while e o else em uma única estrutura é um recurso interessante para melhorar a
legibilidade dos seus programas. Dessa forma, é importante que você saiba como é possível unir
esses dois comandos para desenvolver códigos bem estruturados.
Na Dica do Professor, você verá como funciona a instrução else juntamente com o laço de
repetição while na linguagem de programação Python.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Exercícios
1) O comando while pode ser usado para repetir uma ação/comando várias vezes. Desse modo,
suponha que desejamos imprimir os números de 0 a N, em que N é um valor inserido pelo
usuário e que produz uma saída como a seguir:
Entre o valor de N:5
0
1
2
3
4
5
Marque a alternativa que contém o código para imprimir os números de 0 a N, em que N é o
valor informado pelo usuário.
A)
B)
C)
D)
E)
2) O teste de mesa é uma técnica para verificar manualmente o fluxo de execução de um programa
sem utilizar o computador e necessitando apenas de “papel e caneta”. No laço de repetição while, o
teste de mesa verifica o seu funcionamento, atualizando o conteúdo dos elementos rastreados,
como, por exemplo, as variáveis contadora e acumuladora. Sendo assim, faça o teste de mesa do
código mostrado a seguir:
Rastreie o conteúdo da variável contadora e da acumuladora e marque a alternativa com os valores
finais da variável contadora e da acumuladora, impressos nos comandos print das linhas 7 e 8.
A) cont = 10
soma = 55
B) cont = 12
soma = 30
C) cont = 14
soma = 42
D) cont = 0
soma = 0
E) cont = 12
soma = 12
3) O comando break, quando utilizado dentro de um laço de repetição, serve para interromper a
repetição, encerrando a execução do loop e, em seguida, salta para a linha de código
imediatamente após o bloco de instruções do laço e o comando continuarem; interrompe o fluxo
de execução do laço de repetição, porém ele avança para a próxima execução do loop. Baseado
nessa informação e no material abordado nesta Unidade de Aprendizagem, marque a alternativa
correta com a saída do código a seguir:
A) 0;2;4;6;8;
B) 0;1;2;3;4;5;
C) 0;0;0;0;0;
D) 0;1;2;3;4;5;6;7;8;9;
E) 1;3;5;7;9;
4) Na matemática, o produtório é o resultado de multiplicações sucessivas de uma quantidade
finita de números inteiros, começando com o valor 1 indo até um valor N. O produtório pode
ser definido matematicamente pela equação:
Por exemplo: o produtório de 1 até 5 é Prod = 1*2*3*4*5 = 120
Sendo assim, marque a alternativa que contém um código para calcular o produtório de um
valor N digitado pelo usuário no teclado e lido pela função input().
A)
B)
C)
D)
E)
O laço de repetição while é utilizado para repetir blocos de código específicos por um certo número
de vezes enquanto uma determinada condição seja verdadeira. Essa condição do laço while pode
ser o resultado de um teste lógico ou o conteúdo de uma variável, sendo que o valor 0 (zero) é
interpretado como falso e qualquer outro valor diferente de zero é interpretado como verdadeiro.
No trecho de código a seguir, a variável condição tem seu conteúdo atualizado com um valor
numérico e, então, é testada nos dois laços while.
5)
Sendo assim, marque a alternativa com a explicação correta do que acontece quando o código for
executado.
A) O valor 0 e o valor 1 são impressos uma vez cada.
B) O valor 0 não é impresso e o valor 1 é impresso repetidas vezes até que o programa seja
terminado.
C) O valor 0 e o valor 1 não são impressos nenhuma vez.
D) O valor 0 é impresso repetidas vezes até que o programa seja terminado e o valor 1 não é
impresso.
E) O valor 0 não é impresso e o valor 1 é impresso uma vez.
Na prática
Diversos problemas do mundo real envolvem encontrar o valor máximo ou mínimo de uma função,
o que é chamado de otimização. Problemas práticos dessa natureza são muito abrangentes e
podem ser encontrados em diversas áreas, como Engenharia, Logística e Administração.
Existem diversos algoritmos para resolver problemas de otimização que podem ser implementados
em Python, dentre eles, um dos métodos mais conhecidos para a otimização de problemas simples
é o algoritmo gradiente descendente.
Na Prática, veja como é feita essa implementação.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Saiba mais
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Iteração
Neste site, você poderá aprender mais sobre como funciona a interação em um laço com o
comando while.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Repetições (laços) com while
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Fatorial
Veja o funcionamento do laço while para solucionar o problema de fatorial.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Estrutura de repetição while
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Enhanced while loop
Conheça mais sobre o laço de repetição while neste site em inglês.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.