PublicouFernando Ector Alterado mais de 8 anos atrás
Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares Parte deste material é adaptado de lâminas das Profas. Patrícia Jaques, Mônica Py e Deise Saccol
2 Faça um algoritmo para ler 4 números e mostrar a sua média
Início soma = 0 Ler N soma = soma+N Media = soma/4 Mostrar Media Fim Início Ler N1 Ler N2 Ler N3 Ler N4 Media = (N1+N2+N3+N4)/4 Mostrar Media Fim
3 Faça um algoritmo para ler 100 números e mostrar a sua média!!!
Lógica de programação ESTRUTURAS DE REPETIÇÃO Se uma ação se repete em um algoritmo, em vez de escrevê-la várias vezes, em certos casos podemos resumir anotando uma vez só e solicitando que ela se repita, usando uma das estruturas de repetição. As principais estruturas de repetição são: PARA...ATÉ...FAÇA ENQUANTO...FAÇA REPITA...ATÉ
Lógica de programação Para...até...faça : Para <variavel> = <inicio> até <fim> faça <instruções> Enquanto...Faça : Enquanto <condição> faça Repita ...Até : Repita até <condição>
6 Exemplo Pseudocódigo: 1. Início
Ler 50 números fornecidos pelo usuário e calcular e exibir a média. Pseudocódigo: 1. Início 2. Soma = <<< o acumulador precisa ter um valor inicial Para cont =1 até 50 faça ler N soma = soma + N 4. Media = soma / 50 Mostrar media Fim
7 Lógica de programação PARA...ATÉ...FAÇA Formato: Para <variável> = <valor inicial> até <valor final> faça <ações> Significado: A <variável> é inicializada com <valor inicial>. Após cada execução das <ações>, é somado 1 à <variável> e repete- se as <ações>, continuando assim até que a <variável> atinja o <valor final>, quando executa as <ações> pela última vez. Esta estrutura de repetição cria um contador automático, que nós não precisamos mandar incrementar. Ao usar esta estrutura já está subentendido que a <variável> inicia com <valor inicial> e é incrementada a cada ciclo (podendo-se inclusive aproveitar seu valor dentro do ciclo), e que as <ações> serão repetidas até que a <variável> tenha o <valor final>.
8 Lógica de programação Exemplo da estrutura PARA...ATÉ...FAÇA: "Mostrar os quadrados dos inteiros de 3 a 11." Pseudocódigo: Para CONT = 3 até 11 faça Mostrar (CONT *CONT) Usamos esta estrutura quando sabemos quantas vezes temos de repetir certas ações, mesmo que o número de vezes só seja conhecido durante a execução. Por exemplo: "Perguntar ao usuário de quantos valores ele quer calcular a média. Ler os números e calcular a média." Isto será repetido 9 vezes.
Lógica de programação Para esse problema construímos um algoritmo que será genérico, ou seja, que poderá ser usado para calcular a média de quantos números se quiser! Pseudocódigo: 1- Início 2- Mostrar "De quantos valores você quer calcular a média?" 3- Ler QUANT (aqui se descobre quantas repetições) 4- SOMA = 0 5- Para CONT = 1 até QUANT faça Ler N (aqui é lido cada número, um em cada ciclo) SOMA = SOMA + N (aqui os valores lidos são acumulados) 6- MEDIA = SOMA / QUANT (isto está fora do loop) 7- Mostrar MEDIA 8- Fim
10 Exercício Faça um algoritmo que calcule a soma dos números inteiros entre 5 e 16, inclusive. Exemplo de solução: Início Soma=0 Para Num=5 até 16 faça Soma=Soma + Num Mostrar Soma Fim
11 Faça um algoritmo para mostrar os 30 primeiros números ímpares
1. Início 2. Para I=1 até 30 faça impar=I*2-1 Mostrar impar 3. Fim
12 Exercício Faça um algoritmo para calcular e escrever o valor de S:
13 Exemplo de solução 1. Início 2. S=0 3. Para I=1 ate' 50 faça
14 Exercício Faça um algoritmo para informar se um número lido é primo ou não. Faça um teste de mesa para testar a sua solução!!!
15 Exemplo de solução 1. Início 2. Mostrar "informe o número" 3. Ler N
4. ehprimo=1 5. para J=2 até N-1 faça se N mod J =0 então ehprimo=0 6. Se ehprimo=1 então mostrar " o número eh primo" senão mostrar "o número não eh primo" 7. Fim
16 Outra solução Início 2. Mostrar "informe o número" 3. Ler N 4. tot=0
5. para J=1 até N faça se N mod J =0 então tot=tot+1 6. Se tot=2 então mostrar " o número eh primo" senão mostrar "o número não eh primo" 7. Fim
17 Exercício Faça um algoritmo para calcular a soma dos números primos menores que 100 Faça um teste de mesa para testar a sua solução
18 Exemplo de solução Início Soma=2 >>> 2 é o primeiro primo
3. Para N=3 até 99 faça ehprimo=1 para J=2 até I-1 faça se N mod J =0 então ehprimo=0 se ehprimo=1 então soma=soma+N 4 mostrar soma 5. Fim Aqui ve se N é primo
19 Exercício Faça um algoritmo para calcular e mostrar os 20 primeiros termos da série de Fibonacci: O primeiro termo é zero O segundo termo é um Os demais são a soma dos dois termos anteriores 0, 1, 1, 2, 3, 5, 8, 13, ….
20 Exemplo de solução 1. Início 2. Mostrar 0 3. Mostrar 1 4. penultimo=0
6. Para I=3 até 20 faça proximo=ultimo + penultimo mostrar proximo penultimo=ultimo ultimo=proximo 7. Fim
21 ENQUANTO ... FAÇA... Formato:
Lógica de programação Formato: Enquanto <operação lógica> faça<ações> Significado: A <operação lógica> é testada. Se for verdadeira, então executar <ações> e em seguida testar novamente a operação lógica. Este ciclo prossegue até que em algum teste a operação lógica resulte em falso. Nesta estrutura temos novamente, assim como nas estruturas de decisão, uma operação lógica determinando se devemos continuar a repetir (resultado V) ou parar de repetir (resultado F) as ações. Devemos garantir que o dado testado na operação lógica tenha seu valor modificado por alguma das ações repetidas, senão nunca teremos um resultado F no teste e a repetição permanecerá num ciclo infinito (loop)!
22 Exemplo da estrutura ENQUANTO...FAÇA:
Lógica de programação Exemplo da estrutura ENQUANTO...FAÇA: Ler números positivos pelo teclado e mostrar o maior número lido (encerrar a leitura quando for lido o número 0) Pseudocódigo: Início MAIOR  (MAIOR por enquanto é o menor valor possível) N  (só para o 1.o teste funcionar...) Enquanto (N <> 0) faça Ler N (aqui o valor de N muda, é a entrada do usuário) Se (N > MAIOR) então MAIOR  N Mostrar MAIOR (isto só executa quando o enquanto terminar) Fim
23 Exercício Faça um algoritmo para mostrar os 30 primeiros números ímpares
24 Exemplos de solução 1. I=0 2. Enquanto I<30 faça 2.1 I=I+1
impar=I*2-1 mostrar impar I=0 Impar=1 3. Enquanto I<30 faça mostrar impar impar=impar+2 I=I+1 c=1 impar=1 3. Enquanto c<=30 faça se impar mod 2 = 1 (é um número ímpar) então mostrar impar c=c+1 impar=impar+1
25 Exercício Faça um algoritmo para calcular e escrever o valor de S:
26 Exemplo de solução 1. Início S=0 I=1 3. Enquanto I<=50 faça
27 Exercício Faça um algoritmo que encontre o primeiro número inteiro positivo que elevado ao quadrado seja maior que este número multiplicado por 5.
28 Exemplo de solução 1. início 2. I=1 3. enquanto I*I <=I*5 faça 3.1 I=I+1 4. mostrar I 5. fim
29 REPITA ... ATÉ Lógica de programação Formato: repita <ações> até <operação lógica> Significado: As ações são executadas e depois a <operação lógica> é testada. Se for falsa, executar novamente <ações> e em seguida testar novamente a operação lógica. Este ciclo prossegue até que em algum teste a operação lógica resulte em verdadeiro. As <ações> serão executadas pelo menos uma vez.
30 Exercício Faça um algoritmo para mostrar os 30 primeiros números ímpares
31 Exemplo de solução 1. início 2. I=0 3. repita 3.1 I=I+1
impar=I*2-1 mostrar impar até I>=30 4. fim
32 Exercício Faça um algoritmo que fique num ciclo de leitura até que o usuário informe um número positivo (i.e., ignorar números não positivos) e depois mostre a raiz quadrada do número positivo informado.
33 Exemplo de solução início repita mostrar "digite um número positivo" ler N até N > 0 mostrar "a raiz quadrada deste número e': " mostrar sqrt(N) fim