Baixe o app para aproveitar ainda mais
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.
Compartilhar