Banner Hospedagem de Sites
10/04/2020

Laço de Repetição Enquanto em Algoritmos

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 tipo inteiro, que vai controlar a intenção do usuário em continuar ou não a digitar novos alunos.
  • 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.
  • 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). 
  • 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.

Share

Luis Alexandre da Silva

Professor e Consultor de tecnologia em desenvolvimento de sistemas.Possui mestrado em Ciência da Computação pela UNESP (2016), especialização em Gestão Integrada de Pessoas e Sistemas de Informação pela FIB (2008) e graduação em Análise de Sistemas pela Universidade do Sagrado Coração (1997).Por fim, tem experiência em Gerenciamento de Projetos, Linguagens de Programação e Banco de Dados. Atuando principalmente nos seguintes temas: ensino, gerenciamento de projetos, ITIL, Desenvolvimento WEB e processos BPO.

Você pode querer ver também...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *