Cursos / Redes de Computadores / Lógica de Programação / Aula
Lembrando brevemente o que você viu anteriormente sobre a estrutura de repetição enquanto: essa é uma estrutura sem a variável de controle, portanto, é a estrutura mais apropriada quando não se conhece ou não se sabe o número de repetições (laços) que serão executados.
Nesse sentido, é importante sempre definir a expressão que será utilizada no teste lógico dessa estrutura. Você deve sempre ficar atento e tomar o cuidado para que a expressão permita a conclusão da quantidade de repetições de forma apropriada e, assim, não deixar que a estrutura permaneça repetindo indefinidamente, o que acarretará o chamado Loop Infinito.
Relembre agora a sintaxe dessa estrutura:
Agora que você já está com a memória refrescada no que diz respeito à estrutura de repetição enquanto, conhecerá a sintaxe de como realizar o aninhamento dela.
Observe o código abaixo.
No exemplo, você observou a presença das duas estruturas de repetição, uma interna a outra? A estrutura interna possui a mesma sintaxe da estrutura externa, porém, todo o seu código está na área de comandos do enquanto externo.
Veja, agora, o exemplo com um pequeno código, em Potigol. Observe que nas linhas 1 e 2 foram declaradas duas variáveis i e j, e ambas possuem o valor inicial igual a 1. Na linha 3, inicia-se a primeira estrutura de repetição enquanto, que é encerrada na linha 16. Aninhada a essa estrutura, há uma outra repetição enquanto, que começa na linha 8 e termina na linha 11.
Execute o código e observe o resultado. Em seguida, analise o código com atenção, buscando compreender o seu funcionamento. Sinta-se à vontade para modificar os valores de parada das expressões presentes em cada uma das estruturas de repetição e, posteriormente, avalie o resultado gerado pelo algoritmo.
Isso aconteceu porque o j foi impresso desde o valor 1 até o número 10, mas esse processo ocorreu 5 vezes. Cada vez que o valor de j alcançou o valor máximo e encerrou a execução da estrutura enquanto interna, o valor i foi incrementado em apenas 1. Por esse motivo, o valor de j é impresso 50 vezes, isto é, 10 x 5.
Em outras palavras, para que ocorra um ciclo (laço) completo da estrutura de repetição externa, todo o código interno desta precisa ser executado. Porém, quando se há uma estrutura de repetição interna sendo aninhada, é necessário que a estrutura interna seja processada completamente, concluindo todos os seus laços, para que, então, as linhas seguintes de código, após a estrutura interna, possam ser executadas e, assim, concluir o laço da estrutura externa.
Versão 5.3 - Todos os Direitos reservados