algoritmosV

Salve, salve pessoas!
Seguindo com nossos estudos acerca dos algoritmos, chegamos a uma etapa bem bacana, as estruturas de repetição.
Seja para realizar uma contagem, para manter uma ação sendo executada várias vezes ou para garantir que uma rotina ocorra repetidamente, é preciso dominar a arte de repetir trechos de código.
É possível, ainda, mesclar o uso de estruturas de repetição e de estruturas de desvio condicional. Aliás, todas as estruturas de repetição aplicam um se em seu funcionamento.
Existem três tipos diferentes de estruturas de repetição, cada qual com sua particularidade e, embora seja possível resolver um mesmo problema com as três, vamos ver que há uma certa aplicação específica para cada uma delas.

para
Definição
Repetir um trecho de código por N vezes, partindo de um ponto inicial até um ponto final definidos, segundo um fator de incremento ou decremento que pode ou não ser padrão (1)

Aplicação
Criar loops controlados, onde sabe-se qual o ponto de partida e o de término. Isso não significa que não se possa encerrar o loop antes de chegar-se ao valor limite.

Sintaxe Básica
para <FATOR> de <INI> ate <FIM> passo <N> faca
//Faz algo
fimpara
Exemplo


enquanto
Definição
Repetir um trecho de código por N vezes, desde que a condição inicial tenha sido atendida, até que a condição inicial se torne falsa.

Aplicação
Criar loops que não tenham a obrigatoriedade de serem executados, uma vez que a condição inicial pode não ser satisfeita e que não tenham um ponto de encerramento já conhecido.

Sintaxe Básica
enquanto <EXPRESSAO> faca
//Faz algo
fimenquanto
Exemplo


repita
Definição
Repetir um trecho de código por uma vez, ao menos e N vezes, no máximo.

Aplicação
Criar loops que, obrigatoriamente, necessitem ser executados pelo menos uma vez e que não tenham um limite já conhecido.

Sintaxe Básica
repita
//Faz algo
ate <CONDICAO>
Exemplo


Como podemos perceber, cada uma das três estruturas de repetição possui suas peculiaridades.
Vamos ver alguns detalhes delas.

para

O para tem como finalidade realizar um número controlado de iterações (iteração é a ação de repetir um trecho de código), partindo de um valor inicial até um valor final.
O padrão de incremento, no visualg, é 1, ou seja, se fizermos um para como abaixo

ele irá executar exatas 5 vezes (indo de 1 até 5, inclusive).
Porém, este incremento só é válido para iterações onde o ponto de partida é menor que o ponto de término. Isso é, de certa forma, lógico, afinal, se você tem 100, acrescenta 1, terá um resultado maior que 0. Para realizarmos iterações decrescentes, temos que fazer uso da propriedade passo, indicando como fator um valor negativo. Veja o exemplo abaixo:


Veja que, agora, podemos partir de um valor maior (100) até um menor (0), pois não estamos incrementando, pelo contrário, cada iteração decrementa 1 unidade no valor do elemento de controle (i).

enquanto

A principal característica da estrutura de repetição enquanto é sua validação no início de sua estrutura. Isso permite que seja feito um controle e que o trecho de código que a mesma delimita somente seja executado caso a condição seja verdadeira.
Vejamos:



Embora não exista um se validando o valor da variável i, caso o mesmo seja menor que zero, a estrutura enquanto não repetirá seu código nenhuma vez. Porém, caso seja um valor acima de zero, então, o laço se repetirá por N vezes, até que o valor de i torne-se igual a zero.

repita

De todas as estruturas de repetição, a única que garante que o trecho delimitado por ela seja executado ao menos uma vez é a repita.
Isto ocorre por que sua estrutura realiza a validação da condição no fim do bloco e, para que ela prossiga, é preciso que esta condição não seja verdadeira.
Vejamos


O exemplo acima deixa claro que, caso o usuário deseje, o trecho do repita será executado apenas uma vez. Não há opção de não executá-lo.

No próximo post, vetores. Até lá.

Nenhum comentário:

Postar um comentário