17/05/2020

Laço de Repetição Para em Algoritmos

Introdução

Laço de Repetição Para em Algoritmos, também conhecidas como Loops (Laços), representa a repetição por quantidade de vezes de comandos. Ou seja, é possível repetir um determinado bloco de comandos por uma quantidade de vezes pré-determinada.

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: Pseudocódigo ou Fluxograma.

Pseudocódigo

Pseudocódigos são representações algorítmicas 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 PARA

A saber, o pseudocódigo PARA representa o laço de repetição que implementa a condição de parada em detrimento de uma quantidade de vezes. E sua sintaxe é denotada abaixo:

...
PARA <variável> DE <valor inicial> ATE <valor final> PASSO <incremento/decremento da variável> FAÇA
   -- Bloco de programação que será repetido dentro do laço
FIM-PARA
...

A estrutura PARA é composta por um início, representado pelo pseudocódigo PARA e pelo fim, representado pelo FIM-PARA. Contudo, qualquer pseudocódigo que estiver entre o início e fim deste bloco, serão repetidos pela quantidade de vezes determinada por sua condição.

Embora um detalhe importante deve ser citado, para que entre na estrutura PARA o <valor inicial> precisa ser menor que o <valor final>, quando a estrutura for incremental. 

Agora, se for um decremento o <valor inicial> precisa ser maior que o <valor final>.

Uma situação que deve ser evitada, é o laço infinito, que ocorre quando acidentalmente uma condição de parada jamais é satisfeita, ou então interfere no valor da variável de controle do laço fazendo com que a condição permaneça verdadeira para sempre.

Experimento Prático

Então, agora que a estrutura de aplicação do pseudocódigo PARA foi entendida, chega a hora de implantá-la no pseudocódigo aluno, para que o usuário a quantidade exata de alunos que deseja digitar.

Dessa forma, será implantada uma estrutura que será responsável em controlar se o a quantidade de alunos que o usuário irá digitar.

Para isso, antes de iniciar o laço PARA será pedido para o usuário informar a quantidade exata que irá digitar, essa informação será guardada na variável de controle do laço PARA.

DECLARAÇÃO
   nome : Literal
   disciplina : Inteiro
   media : Real
   contador: Inteiro
quantidade: Inteiro
INÍCIO
MOSTRAR "Digite a quantidade de Alunos que deseja digitar:"
LER quantidade PARA contador DE 1 ATE quantidade PASSO 1 FACA 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-PARA FIM

As linhas destacadas na cor vermelha, são as linhas responsáveis por implantar a estrutura PARA que controlará a quantidade de vezes que o código ira repetir.

Explicação linha a linha do Experimento Prático (Estrutura ENQUANTO)

  • contador: Inteiro
    • linha responsável por definir a variável contador do tipo inteiro, que vai controlar a intenção do laço PARA, esta será responsável pela contagem de vezes que a estrutura repete.
  • quantidade: Inteiro
    • A variável quantidade será responsável em receber a informação advinda do usuário de quantas vezes o código se repetirá. A mesma, será usada no controle de parada ATE da estrutura do laço PARA.
    • Sendo as linhas MOSTRAR “Digite a quantidade de Alunos que deseja digitar:” e LER quantidade responsáveis pelo seu recebimento.   
  • PARA contador DE 1 ATE 10 PASSO 1 FACA
    • Um laço para necessita de uma variável de controle que seja do tipo inteira, no caso a variável contador fará esse papel.
    • DE indica o valor inicial do laço.
    • ATE indica quando a estrutura deve parar, ou seja, a cada passagem pelo laço a variável contador será incrementada de acordo com o valor do PASSO.
    • Enquanto o valor for menor que o valor estipulado no ATE a estrutura executará mais uma vez o laço. 
    • Dessa forma, de acordo com esse código o processo se repetirá 10 vezes.
  • FIM-PARA
      • Termina a estrutura PARA, voltando à linha do PARA, incrementado ou decrementando a variável de controle contador de acordo com o valor estipulado no PASSO.
      • Após a variável contador ter seu valor modificado é testado se o valor ainda atende a condição de parada, que no caso está indicada no ATE.
      • Neste caso, se a variável contador tem o valor menor que 10.

Conclusão

Contudo, o uso do laço PARA tem aplicação em situações onde há a definição pré-definida de quantas vezes um determinado trecho do algoritmo deve ser repetido.

Já, quando não há essa definição em quantidade de vezes pode-se usar o laço ENQUANTO, indicado quando a condição de parada é fundamentada em uma determinada condição. Clique aqui para ver um artigo explicando o uso do EQUANTO em Algoritmos.

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ê também pode gostar...

Deixe uma resposta

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