Buscar

8 Estrutura de repetição

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Estrutura de repetição
Esta aula tem como foco o entendimento de utilização de estruturas de
repetição, tornando possível a repetição de um trecho do algoritmo por várias
vezes.
Estrutura de repetição
Uma estrutura de repetição é empregada quando se deseja executar um conjunto de
instruções varias vezes. Essa repetição esta vinculada a quantidade de vezes que se deseja repetir o
trecho de instruções (PARA) ou de um teste lógico para parada, este pode ser efetuado no início
(ENQUANTO) ou no fim (FAÇA-ENQUANTO) do bloco de instruções. Quando o teste é feito no
início, as instruções do bloco são executadas enquanto a condição testada seja verdadeira, sendo
assim, pode acontecer das instruções contidas dentro do bloco não serem executas nenhuma vez.
Por outro lado, quando o teste é realizado no final do bloco, as instruções são executadas no mínimo
uma vez, visto que o teste a ser realizado fica logo após as instruções contidas no laço de repetição.
Nesta estrutura, da mesma forma que na anterior, a repetição é finalizada quando o teste for
verdadeiro, ou seja, o algoritmo fica executando as instruções que estiverem dentro deste laço
enquanto o teste seja verdadeiro.
Vale ressaltar a possibilidade de um laço de repetição mal definido, cujo código nunca
modifique o estado da variável vinculado a condição de parada, a rotina será executada para
sempre, essa situação é chamada de loop infinito. Outro ponto é quando esta mudança da variável
nunca alcançara um estado de falso, esse caso também deixará o laço travado de forma infinita.
Contudo, existem casos, por exemplo, trabalhando com microcontroladores, onde o laço infinito
é bem vindo, ele é necessário para que o dispositivo não seja desativado. Outra condição que todos
podemos verificar com clareza o uso do laço infinito, é o sistema operacional que aguarda uma ação
do usuário, seja via teclado, mouse ou outro dispositivo qualquer, o sistema esta sempre verificando
uma interação do usuário.
Vejamos o emprego de um algoritmo único com o emprego das três técnicas de laço de
repetição a seguir. O algoritmo deverá apresentar na tela todos os números positivos no intervalo de
1 a 100.
Estrutura de repetição com quantidade de repetições
definidas (Para)
Neste algoritmo, a variável cont é usada para realizar a contagem de 1 até 100 e também é
verificado seu valor em cada passagem do laço de repetição para apresentar os números positivos,
ou seja, se o resto da divisão (%) do contador por dois for igual a zero, significa que ele é positivo.
Uma variável desta natureza (controle de passagens por um laço de repetição) é chamada de
"contador". Os motivos para contar algo em algoritmos são os mais diversos: contar quantas vezes
um determinado ciclo é executado, realizar uma somatória para o cálculo de média, etc.
Podemos verificar nesse caso o emprego do laço de repetição com o comando Para, esse tipo
de laço o valor inicial do contador e o valor qual deve ser utilizado para parada do mesmo é
especifico. Após entrar no laço de repetição, ele executa o teste para verificar se o valor do contador
é positivo. Sendo verdade, o algoritmo apresenta o valor do contador na tela, e segue para o
incremento do contador. Caso a resposta do teste seja falsa, ele vai diretamente para o incremento,
desta forma, independente da resposta do teste, irá ser realizado o incremento do contador e o
processo não entrará em loop infinito. Feito o incremento então o algoritmo retorna para o comando
Para e verificará se chegou em 100. Esse processo será repetido até essa condição ser verdade.
Uso de estrutura de repetição com teste lógico no início
(Enquanto)
Neste caso, é possível notar algumas pequenas diferenças no pseudocódigo e no fluxograma,
uma destas alterações importantes a se destacar, é a necessidade de iniciar a variável do contador
com um valor. No exemplo, cont foi inicializado com o valor 1.
Outra alteração é na estrutura de repetição utilizada, neste caso teve o emprego do laço
condicional Enquanto. Este tipo de repetição, a parada esta vinculada ao teste lógico, neste caso,
um teste lógico simples, com base em um contador.
A diferença no fluxograma dos dois casos iniciais, é somente a inclusão da inicialização do
contador com 1, e dentro do diagrama de repetição, não temos mais a inicialização do contador, mas
sim apenas o teste com o critério de parada. O resto do fluxograma segue exatamente igual o
primeiro, pois não existem outros pontos a serem alterados na troca do laço de repetição para e o
laço enquanto.
Estrutura de repetição com teste lógico no fim (Faça-
Enquanto)
Ao analisar este ultimo caso de repetição, podemos notar a sua diferença no pseudocódigo na
localização do enquanto, no trecho onde estava o comando enquanto, ficou apenas o faça, ou
seja, o algoritmo irá executar ao menos uma vez até chegar o comando enquanto, para verificar o
critério de parada.
No fluxograma, temos também o deslocamento para baixo do laço de repetição, esta é a única
alteração se comparado com o fluxograma anterior.
Referências
DASGUPTA, Sanjoy; PAPADIMITRIOU, Christos; VAZIRANI, Umesh. Algoritmos. São Paulo: McGraw
Hill, 2009.
HEINEMAN, George T.; POLLICE, Gary; SELKOW, Stanley. Algoritmos: o guia essencial. Rio de
Janeiro: Alta Books, 2009.
MANZANO, André Luiz N. G.; MANZANO, Maria Izabel N. G. Estudo dirigido de informática básica.
São Paulo: Érica, 2008.
MANZANO, José Augusto N. G. Estudo dirigido de linguagem C. São Paulo: Érica, 2009.
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de Oliveira. Algoritmos, Lógica para
desenvolvimento de programação de computadores. São Paulo: Érica, 19 ed., 2006.
MIZRAHI, Victorine Viviane. Treinamento em linguagem C. São Paulo: Pearson, 2008. 2v.
SCHILDT, Herbert. Mayer. C completo e total. São Paulo: Pearson, 2006.
VILARIM, Gilvan. Algoritmos de programação para Iniciantes. São Paulo: Ciência Moderna, 2004.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais