Teste Lógico no Início do Looping

Caracteriza-se por uma estrutura que efetua um teste lógico no início de um looping, verificando se é permitido executar o trecho de instruções subordinado a esse looping. A estrutura em questão é denominada de enquanto, sendo conseguida com a utilização do conjunto de instruções enquanto...faca...fimenquanto.

A estrutura enquanto...faca...fimenquanto 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 são ignoradas.

Diagrama de Blocos

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.


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 de X por 3, implicando o resultado em R; 
5. Apresentar o valor calculado contido na variável R; 
6. Acrescentar +1 a variável contador, definida no passo 1; 
7. Quando o contador for maior que 5, encerrar o processamento do looping. 

Diagrama de Blocos



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 número de vezes que o trecho de programa deverá ser executado.

Logo após o início do programa, a variável contador é atribuída com o valor 1 (CONT <- 1). Em seguida , a instrução enquanto (CONT <= 5) faca efetua a checagem da condição estabelecida, verificando que a condição é verdadeira, pois o valor da variável CONT neste momento é 1, é realmente menor ou igual a 5, e enquanto for deverá processar o looping.

Sendo assim, tem início a execução da rotina de instruções contidas entre as instruções enquanto e a instrução fimenquanto. Depois de efetuar a primeira leitura, cálculo e apresentação do valor calculado, o programa encontra a linha CONT <- CONT + 1, sendo assim 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) faca, uma vez que o valor da variável CONT é menor ou igual a 5. Será então executada a rotina de 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 ou igual a 5, será executada 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) faca 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 esta 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 fimenquanto, que no caso é a instrução fimalgoritmo, 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.  

Diagrama de Blocos


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








Comentários

Postagens mais visitadas deste blog

Atividades Phyton com Estrutura de Repetição

Introdução à Lógica

Leitura e Escrita de Registros