Teste Lógico No Início Do Looping
Teste Lógico No FimDo Looping
Variáveis de Controle

Existem ocasiões onde se é necessário efetuar a repetição de um trecho de programa um determinado número de vezes. Neste caso, poderá ser criado um looping que efetue o processamento de um determinado trecho, tantas vezes quando forem necessárias. Os loopings também são chamados de : laços de repetição ou malhas de repetição.
Supondo-se que você tivesse um programa que deveria executar um determinado trecho de instruções por 5 vezes. Com o conhecimento possuído até este momento, você com toda certeza, irá escrever o mesmo trecho repetindo-o o número de vezes necessárias. Por exemplo, imagine um programa que peça a leitura de um valor para a variável X, multiplique este valor por 3 implicando-o à variável de resposta R e apresente o valor obtido, repetindo esta seqüência por cinco vezes, conforme mostrado abaixo no pseudocódigo:

Programa PEDE_NÚMERO
Var
               X : inteiro
               R: inteiro

Início
               Leia X
               R = X* 3
               Escreva R
               Leia X
               R = X* 3
               Escreva R
               Leia X
               R = X* 3
               Escreva R
               Leia X
               R = X* 3
               Escreva R
               Leia X
               R = X* 3
               Escreva R
Fim

Para estes casos existem comandos apropriados para efetuar a repetição de determinados trechos de programas o número de vezes que for necessário. A principal vantagem deste recurso é que o programa passa a ter um tamanho menor podendo sua amplitude ser aumentada sem se alterar o tamanho do código de programação. Desta forma, pode-se determinar repetições com números variados de vezes.

 

Repetição do Tipo: Teste Lógico no Início do Looping

Caracteriza-se por uma estrutura que efetua em teste lógico no início de um looping, verificando se é permitido executar o trecho de instruções subordinado a este looping. A estrutura em questão é denominada de enquanto, sendo conseguida com a utilização do conjunto de instruções enquanto...faça...fim_enquanto.
A estrutura enquanto...faça...fim_enquanto tem o seu funcionamento controlado por decisão. Sendo assim poderá executar um determinado conjunto de instruções enquanto a condição verificada for verdadeira. No momento em que esta condição se torna falsa, o processamento da rotina é desviado para fora do looping. Se a condição for falsa logo de início, as instruções contidas no looping serão ignoradas.

Fluxograma

Cuidado para não confundir esta nova estrutura com a estrutura de decisão usada anteriormente. Aqui existe um retorno À condição após a execução do bloco de operações, até que a condição se torne falsa.

Pseudocódigo

Enquanto (<condição>) faça
               <instruções para condição verdadeira>
Fim_enquanto

Como um exemplo, considere o problema: "Pedir a leitura de um valor para a variável X, multiplicar este valor por 3 implicando-o à variável de resposta R e representar o valor obtido, repetindo esta seqüência por cinco vezes".
Observe que neste problema, deverá ser executado um mesmo trecho de programa por 5 vezes. Quando alguém tem quem executar uma determinada tarefa um número de vezes, este efetua a contagem do que está fazendo. Desta forma, terá a certeza de que a tarefa executada foi feita de acordo coma sua necessidade, nem mais, nem menos. É exatamente isto que deverá ser feito np programa, o controle do número de vezes que a rotina desejada deverá ser executada. Para tanto, deverá ser utilizado um contador controlado pela instrução enquanto...faça...fim_enquanto. Veja o fluxograma e o pseudocódigo.

Algoritmo

  1. Criar uma variável para servir como contador com valor inicial 1;
  2. Enquanto o valor do contador for menor ou igual a 5, processar os passos 3,4 e 5;
  3. Ler um valor para a variável X;
  4. Efetuar a multiplicação do valor X por 3, implicando o resultado em R;
  5. Apresentar o valor calculado contido na variável R;
  6. Acrescentar +1 a variável do tipo contador, definida no passo 1;
  7. Quando contador for maior que 5, encerrar o processamento do looping.

    Pseudocódigo

    Pseudocódigo

    Programa LOOPING_1 A

    Var
                   X, R : inteiro
                   CONT : inteiro

    Inicio
                   CONT = 1
                   Enquanto (CONT <= 5) faça
                                  Leia X
                                  R = X * 3
                                  Escreva R
                                  CONT = CONT + 1
                   Fim_enquanto
    Fim

Além da utilização das variáveis X e R, foi necessário criar uma terceira variável (CONT) para controlar a contagem do numero de vezes que o trecho de programa devera ser executado.
Logo após o inicio do programa, a variável contador é atribuída com o valor 1(CONT ). Em seguida a instrução enquanto (CONT < =5) faça efetua a checagem da condição estabelecida, verificando que a condição é verdadeira. Pois o valor da variável CONT que neste momento é 1, é realmente menor que 5 e enquanto for deverá processar o looping.
Sendo assim, tem inicio a execução da rotina de instruções contidas entre as instruções enquanto e a instrução fim_enquanto. Depois de efetuar a primeira leitura, cálculo e apresentação do valor calculado, o programa encontra a linha CONT CONT + 1, sendo assim CONT 1+1 que resultará CONT=2.
Agora que a variável CONT possui o valor 2, o processamento do programa volta para a instrução enquanto (CONT < = 5) faça, uma vez que o valor da variável CONT é menor que 5. Será então, executada a rotina das instruções, só que desta vez a variável CONT passará a possuir o valor 3. Desta forma o programa processará novamente a rotina de instruções passando o valor de CONT para 4, que será verificado e sendo menor que 5 será executado mais uma vez a mesma rotina de instruções. Neste ponto, a variável CONT passa a possuir o valor 5. Perceba que a instrução enquanto (CONT < =5) faça irá efetuar a checagem do valor da variável CONT que é 5 com a condição CONT < = 5. Veja que 5 não é menor que 5 mas é igual, sendo essa condição verdadeira, deverá a rotina ser executada mais uma vez. Neste momento, o valor da variável CONT passa a ser 6, que resultará para a instrução enquanto uma condição falsa. E por conseguinte desviará o processamento para a primeira instrução após a instrução fim_enquanto, que no caso é a instrução fim dando o encerramento do programa.
Para ilustrar de forma um pouco diferente, imagine que o problema anterior deverá ser executado enquanto o usuário queira. Desta forma, em vez de possuir dentro da rotina um contador de vezes, pode-se possuir uma instrução pedindo que o usuário informe se deseja continuar ou não. Veja a seguir o exemplo desta nova situação:

Algoritmo

  1. Criar uma variável para ser utilizada como resposta;
  2. Enquanto a resposta for sim, executar os passos 3, 4 e 5;
  3. Ler um valor para a variável X;
  4. Efetuar a multiplicação do valor de X por 3, implicando o resultado em R;
  5. Apresentar o valor calculado contido na variável R;
  6. Quando a resposta for diferente de sim, encerrar o processamento.

    Pseudocódigo


    Pseudocódigo

    Programa LOOPING_ 1 B
    Var
                   X, R : inteiro
                   RESP : caractere

    Inicio
                   RESP = "sim"
                   Enquanto (RESP= "sim") faça
                                  Leia X
                                  R = X* 3
                                  Escreva R

                                  Escreva "Deseja continuar?"
                                  Leia RESP
                   Fim_enquanto
    Fim

Veja que o contador foi substituído pela variável RESP, que enquanto for igual a "SIM" ou igual a "S", executará a rotina existente entra as instruções enquanto e fim_enquanto. Neste caso, o número de vezes que a rotina se repetirá será controlado pelo usuário e será encerrada somente quando alguma informação diferente de "SIM" ou "S" for fornecida para a variável RESP.

 <<topo>>

 

Repetição do Tipo: Teste Lógico no fim do Looping

Caracteriza-se por uma estrutura que efetua um teste lógico no fim de um looping. Esta estrutura é parecida com a estrutura enquanto. A estrutura em questão é denominada de repita, sendo conseguida com a utilização do conjunto de instruções repita...até_que.
A estrutura repita...até_que tem seu funcionamento controlado por decisão. Porém, irá efetuar a execução de um conjunto de instruções, enquanto a condição é verdadeira.
Desta forma repita tem seu funcionamento em sentido contrário a enquanto, pois sempre irá processar um conjunto de instruções, no mínimo uma vez até que a condição se torne Verdadeira. Para a estrutura repita um conjunto de instruções é executado enquanto a condição se mantém Falsa e até que ela seja Verdadeira.
Para exemplificar a utilização de repita será utilizado o mesmo exemplo anterior: "Pedir a leitura de um valor para a variável X, multiplicar este valor por 3, implicando-o à variável de resposta R e apresentar o valor obtido, repetindo esta seqüência por cinco vezes".

Algoritmo

  1. Criar uma variável contadora;
  2. Ler um valor para a variável X;
  3. Efetuar a multiplicação do valor de X por 3, implicando o resulta em R;
  4. Apresentar o valor calculado contido na variável R;
  5. Acrescentar um ao contador;
  6. Repetir os passos 2, 3, 4 e 5 até que o contador seja maior que 5.

    Pseudocódigo

    Pseudocódigo

    Programa LOOPING_2 A
    Var
                   X, R : inteiro
                   Cont : inteiro

    Inicio
                   CONT = 1
                   Repita
                                  Leia X
                                  R = X*3
                                  Escreva R
                                  CONT = CONT + 1
                   Até_que (CONT > 5)
    Fim

Logo após o inicio do programa, a variável contador é atribuída com o valor 1 (CONT = 1). Em seguida a instrução repita indica que todo trecho de instruções situado até a instrução até_que deverá ter seu processamento repetido até que a condição CONT > 5 seja satisfeita.
Sendo assim, tem início a execução da rotina de instruções contidas entre as instruções repita e até_que. Depois de efetuar a primeira execução das instruções, o programa encontra a linha CONT CONT + 1, neste momento a variável CONT é somada a mais 1 passando a ter o valor 2. Em seguida é encontrada a linha com a instrução até_que (CONT >5), que efetuará o retorno a instrução repita para que seja reprocessada a seqüência de comandos, até que a instrução o valor da variável CONT seja maior que 5 e encerre o looping.
A seguir, é apresentado o exemplo em que não se utiliza o contador como forma de controle de execução de vezes de uma rotina em uma estrutura de repetição. Considere que será o usuário que encerrará o processamento segundo sua vontade.

Algoritmo

  1. Criar uma variável para ser utilizada como resposta;
  2. Ler um valor para a variável X;
  3. Efetuar a multiplicação do valor de X por 3, implicando o resultado em R;
  4. Apresentar o valor calculado contido na variável R;
  5. Repetir os passos 2, 3, 4 e 5 até que a resposta do usuário seja não.

    Pseudocódigo

    Pseudocódigo

    Programa LOOPING_2 B
    Var
                   X, R : inteiro
                   RESP: caractere

    Inicio
                   RESP = "SIM"
                   Repita
                                  Leia X
                                  R = X*3
                                  Escreva R
                                  Escreva "Deseja continuar?"
                                  Leia RESP
                   Até_que RESP < > "SIM"
    Fim

Veja que a variável RESP não necessitou ser utilizada com algum valor, pois mesmo que o tivesse feito, não exerceria influência direta sobre a estrutura repita, uma vez que no mínimo são sempre executadas as instruções constantes no looping, para somente no final ser verificada a condição, no caso RESP= "SIM".

 <<topo>>

 

Repetição do tipo: Variável de controle

Anteriormente, foram vistas duas formas de se elaborar looping. Uma usando o conceito enquanto e a outra usando o conceito repita. Foi visto também como se elaborar rotinas que efetuaram a execução de um looping um determinado número de vezes através da utilização de um contador (através de uma variável de controle).
Porém, existe uma possibilidade de facilitar o uso de contadores finitos, sem fazer uso das duas estruturas anteriores, deixando-se para utilização de loopings onde não se conhece de antemão o número de vezes que uma determinada seqüência de instruções deverá ser executada. Os loopings que possuem um número finito de execuções poderão ser processados através de estrutura de laços contados para, sendo conseguida com a utilização do conjunto de instruções para...de...até...passo...faça...fim_para .
A estrutura para...de...até...passo...faça...fim_para tem o seu funcionamento controlado por uma variável denominada contador. Sendo assim, poderá executar um determinado conjunto de instruções um determinado número de vezes.
Com relação à representação gráfica em fluxograma, existem várias formas adotadas por diversos profissionais no mercado, sendo assim, não existe um padrão de montagem do fluxograma.

Fluxograma

Com relação ao fluxograma, será neste indicado a variável a ser controlada com a implicação dos valores de: início; fim e incremento, separados por vírgula. Para representar esta operação em um fluxograma será utilizado o símbolo denominado Processamento predefinido ou Preparação.


Pseudocódigo

Para < variável > de < início > até < fim > passo <incremento > faça
               <instruções >
Fim_para

Para exemplificar considere o problema anterior: "Pedir a leitura de um valor para a variável X,multiplicar este valor por 3 implicando-o à variável de resposta R e apresentar o valor obtido, repetindo esta seqüência por cinco vezes".

Algoritmo

  1. Definir um contador variando de 1 a 5;
  2. Ler um valor para a variável X;
  3. Efetuar a multiplicação do valor de X por 3, implicando o resultado em R;
  4. Apresentar o valor calculado contido na variável R;
  5. Repetir os passos 2, 3, 4 e 5 até que o contador seja encerrado.

Fluxograma


Pseudocódigo

Programa LOOPING_2 A
Var
               X ,R : inteiro
               CONT : inteiro
Início
               Para CONT de 1 até 5 passo 1 faça
                              Leia X
                              R = X * 3
                              Escreva R
               Fim_para
Fim

Será executado o conjunto de instruções entre a instrução para e a instrução fim_para, sendo a variável CONT (variável de controle) inicializada com valor 1 e incrementada de mais 1 através da instrução passo até o valor 5. Este tipo de estrutura de repetição poderá ser utilizado todas as vezes que se tiver a necessidade de repetir trechos finitos, onde se conhece o valor inicial e o valor final.

 <<topo>>

1
Hosted by www.Geocities.ws