Introdução
Laço de Repetição Enquanto em Algoritmos, também conhecidas como Loops (Laços), representa a repetição condicional de comandos.
Ou seja, é possível repetir um determinado bloco de comandos enquanto uma condição, que pode ser simples ou composta, continue a ser verdadeira.
Nesse sentido, quando um laço de repetição deve ser usado? quando um comando ou um bloco de comandos deve se repetir, respeitando a condição de parada desta estrutura.
Contudo, quando trabalhamos com algoritmos temos duas formas mais tradicionais de representá-los, por: Fluxograma, ou Pseudocódigo.
Fluxograma é a representação de Forma Gráfica de um algoritmo.
Pseudocódigo
Já, pseudocódigos tem o mesmo objetivo, mas são representações em forma de verbos (pseudo comandos), que tem o objetivo de representar ações que ocorrem em um algoritmo.
Portanto, será usado neste artigo os exemplos em pseudocódigos, sua estrutura básica é apresentada abaixo:
DECLARAÇÃO
--área para declarar variáveis
INÍCIO
--área para inserir os comandos - pseudocódigos
FIM
Algoritmo Pseudocódigo: Base para o experimento prático
Primeiramente, será usado um algoritmo base (algoritmo aluno) que recebe o nome do aluno, o código da disciplina, e a média final da disciplina.
Lembrando, neste exemplo só é possível a digitação dos dados de um único aluno.
DECLARAÇÃO nome : Literal
disciplina : Inteiro
media : Real INÍCIO MOSTRAR "Digite o nome do aluno:"
LER nome
MOSTRAR "Digite o código da disciplina:"
LER disciplina
MOSTRAR "Digite a média final da disciplina:"
LER media FIM
Estrutura ENQUANTO
A saber, o pseudocódigo ENQUANTO representa o laço de repetição que implementa a condição de parada no início da estrutura. E sua sintaxe é denotada abaixo:
...
ENQUANTO <condição> FAÇA
-- Bloco de programação que será repetido dentro do laço
FIM-ENQUANTO
...
A estrutura ENQUANTO é composta por um início, representado pelo pseudocódigo ENQUANTO
e pelo fim, representado pelo FIM-ENQUANTO
.
Contudo, qualquer pseudocódigo que estiver entre o início de um bloco ENQUANTO e seu fim, serão repetidos quantas vezes a condição permitir.
Embora, um detalhe importante deve ser citado, para que entre na estrutura ENQUANTO a <condição>
precisa ser verdadeira, senão há o risco da mesma não ser executada nenhuma vez.
A imagem Loop (laço), ilustra o funcionamento da estrutura ENQUANTO e o entendimento do conceito do LOOP (Laço).
Com a finalidade de ilustrar, a estrutura pode ser entendida da seguinte forma: quando a execução chega até a linha: ENQUANTO <condição> FAÇA
, a <condição>
é verificada, se for falsa, pulará toda estrutura ENQUANTO, indo para a linha posteriormente abaixo ao FIM-ENQUANTO.
Contudo, está seja verdadeira, entrará e executará todas as linhas do bloco de programação que estarão entre o ENQUANTO e o FIM-ENQUANTO.
Por fim, quando a execução chega ao FIM-ENQUANTO o LOOP é ativado, levando o fluxo de execução para a linha do ENQUANTO, onde será verificada novamente a condição.
Se a mesma for verdadeira novamente, repetirá o processo; caso seja falsa, saíra da estrutura remetendo a execução do código para a linha posterior ao FIM-ENQUANTO.
Imagem: Loop (Laço)
Uma situação que deve ser evitada é o laço infinito, quando a <condição>
sempre tem como resultado verdadeira, dessa forma, a repetição acontecerá infinitamente. Não haverá uma forma natural de interrompê-la.
Para evitar essa situação, antes de chegar ao FIM-ENQUANTO deve-se criar um mecanismo que modifique a condição para que quando voltar ao ENQUANTO, a mesma seja falsa e termine o LOOP.
Experimento Prático
Então, agora que a estrutura de aplicação do pseudocódigo ENQUANTO foi entendida, chega a hora de implantar a estrutura ENQUANTO ao pseudocódigo aluno, para que o usuário defina quantos alunos deseja digitar.
Dessa forma, será implantada uma estrutura ENQUANTO, que será responsável em controlar se o usuário quer digitar um novo aluno.
Para isso, será criada uma nova variável que será usada na <condição>
da estrutura ENQUANTO. Essa variável será para perguntar para o usuário se deseja digitar um novo aluno, ou não.
Portanto, essa variável será do tipo inteiro, onde o valor 1 representará que o usuário quer digitar um novo aluno. E, se o valor for 0 (zero) terminará o LOOP.
DECLARAÇÃO nome : Literal disciplina : Inteiro media : Real
opcao: Inteiro INÍCIO
opcao <- 1
ENQUANTO opcao <> 0 FAÇA MOSTRAR "Digite o nome do aluno:" LER nome MOSTRAR "Digite o código da disciplina:" LER disciplina MOSTRAR "Digite a média final da disciplina:" LER media
MOSTRAR "Deseja digitar um novo aluno? (1 - continuar / 0 sair)"
LER opcao
FIM-ENQUANTO FIM
As linhas destacadas na cor vermelha, são as linhas responsáveis por implantar a estrutura ENQUANTO com a pergunta se o usuário deseja continuar e digitar um novo aluno.
Explicação linha a linha do Experimento Prático (Estrutura ENQUANTO)
- opcao: Inteiro
- linha responsável por definir a variável
opcao
do tipointeiro
, que vai controlar a intenção do usuário em continuar ou não a digitar novos alunos.
- linha responsável por definir a variável
- opcao <- 1
- A variável
opcao
precisa receber um valor inicial diferente de 0 (zero) para poder entrar pelo menos uma vez na estrutura ENQUANTO.
- A variável
- ENQUANTO opcao <> 0 FAÇA
- Início da estrutura ENQUANTO, início do LOOP (Laço), a estrutura precisa de uma
<condição>
para controlar o LOOP. - A condição de parada é que a variável
opcao
seja igual a 0 (zero).
- Início da estrutura ENQUANTO, início do LOOP (Laço), a estrutura precisa de uma
- MOSTRAR “Deseja digitar um novo aluno? (1 – continuar / 0 sair)”
- Mostra na tela o texto entre aspas, com a pergunta para verificar se o usuário quer digitar um novo aluno.
- LER opcao
- Espera a digitação do usuário.
- O que é digitado vai para a variável
opcao
, após ser digitado o [enter]. - Lembrando que para essa variável os valores desejados são 1 para continuar ou 0 (zero) para sair.
- FIM-ENQUANTO
- Termina a estrutura ENQUANTO, voltando a linha do ENQUANTO, ou seja, ativando o LOOP, nesta volta a condição é checada novamente; se verdadeira entra novamente no LOOP, se falsa termina.
- Por isso, é importante a pergunta se “Deseja digitar um novo aluno? (1 – continuar / 0 sair)” e a leitura novamente da variável opção com essa resposta LER opcao.
Em resumo, enquanto o usuário responder com o valor 1 (um) a pergunta “Deseja digitar um novo aluno? (1 – continuar / 0 sair)” a estrutura ENQUANTO voltará para o início e verificará a condição, como o valor é diferente de 0 (zero), será acionada novamente.
Então, Laço de Repetição Enquanto em Algoritmos é um tema importante quando se fala em Algoritmos, principalmente porque as estruturas de repetição são muito usadas em sistemas.
Com o propósito de ver outras postagens sobre algoritmos, clique aqui para acompanhar.