Buscar

Estruturas de Repetição em Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmos Aplicados a Engenharia 
 Aula 08 
Os direitos desta obra foram cedidos à Universidade Nove de Julho 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Este material é parte integrante da disciplina, oferecida pela UNINOVE. 
O acesso às atividades, conteúdos multimídia e interativo, encontros virtuais, fóruns de 
discussão e a comunicação com o professor devem ser feitos diretamente no ambiente 
virtual de aprendizagem UNINOVE. 
 
 
Uso consciente do papel. 
Cause boa impressão, imprima menos. 
 
Aula 8: Estrutura de repetição 
 
Objetivo: 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.

Continue navegando