Baixe o app para aproveitar ainda mais
Prévia do material em texto
��PROGRAMAÇÃO I Praça xi-Nova américa Prof. ANITA LOPES �� ESTRUTURAS DE REPETIÇÃO: PARA, ENQUANTO, REPETIR Nossos algoritmos terão que ser executados mais de uma vez, e para que não tenhamos que reescrever trechos idênticos que aumentariam, consideravelmente o tamanho do algoritmo, faremos uso das estruturas de repetição. São três as estruturas de repetição: 1ª- para Usada quando o número de repetições for conhecido durante a elaboração do algoritmo ou quando puder ser fornecido o número de repetições durante a execução. Ex: faça um algoritmo que possa entrar com 2 notas de 20 alunos e imprima a média de cada aluno. para( <valor inicial> ; <expressão de teste> ; <incremento>) { bloco de comandos } <valor inicial> <nome da variável> <- valor inicial ; - tipo da variável: enumerável (inteira ou caracter de um caracter) - no UAL: int - é um comando de atribuição. O valor atribuído pode ser: constante, variável ou expressão - exemplos: x <- 0; x <- strtam(pal); x <- a + 1; <expressão de teste> <nome da variável> <( >, < , >= ou <=)> <valor> ; - na verdade é uma expressão relacional como as usadas na estrutura do se - o valor inicial pode ser: constante, variável ou expressão - exemplos: x >= 0; x < strtam(pal); x <= a + 1; <incremento> <nome da variável> <- <nome da variável> < operador> <valor> - é um comando de atribuição. O valor incrementado pode ser: constante, variável. ou expressão - este comando é normalmente chamado de acumulador, pois sempre acrescenta um valor à mesma variável - exemplos: x <- x + 1 x <- x + 2 x ++ x-- x <- x * a acumulador Expressão formada pelo comando de atribuição que acumula valores em uma variável Exemplos: cont<- cont + x; soma o valor da variável x à cont e armazena em cont fat <- fat * x ; multiplica o valor de fat por x e armazena em fat contador Expressão formada pelo comando de atribuição que acumula valores em uma variável Normalmente chamamos de contador a um caso especial do acumulador onde o valor incrementado é uma constante. Exemplos: cont<- cont + 1; soma 1 à variável cont e armazena em cont cont<- cont - 1; decrementa 1 da variável cont e armazena em cont Em algumas linguagens, temos disponível dois operadores: ++ e – que simplificarão a expressão de incremento ou decremento quando for igual a 1. Operador ++ c <- c + 1 ; equivale c ++; Operador -- c <- c - 1 ; equivale c -; Observações: 1) Esta estrutura é a própria expressão de uma PA, veja bem: 1 : 2 : 3 : 4 : 5 a1 = 1 an <= 5 r= 1 e n = (na - a1 + r) / r = 5 O número de vezes de repetição do bloco de comandos será igual ao NÚMERO DE TERMOS DA SÉRIE, portanto, não importa, na maioria das vezes os valores que a variável que controla a repetição assumirá. A variável que controla a repetição deverá ser declarada e poderá ser impressa se precisarmos dela para numerar uma lista, posicionar, etc. A variável que controla a repetição JAMAIS aparecerá num comando de leitura e, em algumas linguagens, em um comando de Atribuição. Vejamos um exemplo: Faça um algoritmo que entre com 5 números e imprima o quadrado de cada número. prog exemplo int c; real num; para( c<- 1; c <= 5; c <- c + 1) { imprima "numero: "; leia num ; imprima num ^ 2; } imprima "\n"; fimprog MP c num 1 2 2 4 3 5 4 8 5 12 Saída numero: 2 4 numero: 4 16 numero: 5 25 numero: 8 64 numero: 12 144 2ª- enquanto Usada quando o número de repetições for desconhecido, sendo necessária uma chave (flag / teste) para interromper a repetição. É uma estrutura que testa a condição no início, e só repete se a condição for verdadeira. Simula, com facilidade a estrutura do faca ... enquanto( repetir ... ate que em algumas linguagens) e a estrutura do para desde que criemos uma variável que terá seu valor incrementado/decrementado dentro da estrutura de repetição. É a mais "poderosa" estrutura de repetição. A variável ou variáveis do teste deverão receber valores através de um comando de leitura ou de atribuição, antes da estrutura, e dentro da estrutura, na maioria das vezes, {como último comando antes da } enquanto ( condição) { bloco de comandos } "LEMA" Um comando leia (ou de atribuição) antes do enquanto para entrar na repetição e um comando leia (ou de atribuição) antes da }, para sair da repetição. Na prática, usamos a estrutura do enquanto das seguintes maneiras: leia nome da variável presente na condição; enquanto ( condição que inclui a variável do comando de leitura) { bloco de comandos leia nome da variável presente na condição; } ou nome da variável presente na condição <- valor; enquanto ( condição que inclui a variável do comando de leitura) { bloco de comandos nome da variável presente na condição <- expressão que altera o valor; } 3ª- faca .... enquanto Estrutura usada quando o número de repetições for desconhecido. Sua diferença em relação ao enquanto é que ela testa ao final, significando que ela executa o bloco de comandos pelo menos uma vez. Essa estrutura também precisa de uma chave para interromper a repetição. Muito usada em algoritmos com menus. A estrutura da repetição é mais parecida com a estrutura do para, não precisando de leitura/atribuição antes do faca para entrar na estrutura, pois testa, como já disse, ao final. faca { bloco de comandos } enquanto (condição) enquanto repete enquanto a condição for verdadeira, e faca ... enquanto repete enquanto a condição for verdadeira. Observação: A condição é uma estrutura relacional ou lógica BIBLIOGRAFIA FARRER, Harry et al. Algoritmos estruturados. 3 ed. Rio de Janeiro: Guanabara, 2001. GUIMARÃES, A. de M., LAJES, N. A. de C. Algoritmos e estrutura de dados. Rio de Janeiro: LTC, 1996. LOPES, A, GARCIA, G. Introdução à programação - 500 algoritmos resolvidos. 1 ed. Rio de Janeiro: Érica, 2002. MANZANO, J. A. N.G., OLIVEIRA, J. F. de. Algoritmos: lógica para desenvolvimento de programação. 11 ed. São Paulo: Érica, 2001. Estrutura do para [2, Seção 4.2] [3, Seção 4] [4, Seção 5.3] Estrutura do enquanto [3, Seção 4] [4, Seção 5.1] Estrutura do faca ... enquanto [2, Seção 4.1] [3, Seção 4] [4, Seção 5.2] estruturas de repetição PÁGINA:� PAGE �4�
Compartilhar