Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

33
1 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

description

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. Faça um algoritmo para ler 4 números e mostrar a sua média. Início Ler N1 Ler N2 Ler N3 Ler N4 - PowerPoint PPT Presentation

Transcript of Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Page 1: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

1

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

Page 2: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Faça um algoritmo para ler 4 números e mostrar a sua média

1. Início2. Ler N13. Ler N24. Ler N35. Ler N46. Media = (N1+N2+N3+N4)/47. Mostrar Media8. Fim

2

1. Início2. soma = 03. Ler N4. soma = soma+N5. Ler N6. soma = soma+N7. Ler N8. soma = soma+N9. Ler N10. soma = soma+N11. Media = soma/412. Mostrar Media13. Fim

Page 3: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Faça um algoritmo para ler 100 números e mostrar a sua média!!!

3

Page 4: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

4

• 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

Page 5: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

5

Para...até...faça : Para <variavel> = <inicio> até <fim> faça

<instruções>

Enquanto...Faça : Enquanto <condição> faça

<instruções>

Repita ...Até : Repita <instruções> até <condição>

Lógica de programaçãoEstruturas de repetição

Page 6: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

6

Exemplo • Ler 50 números fornecidos pelo usuário e calcular e

exibir a média.

Pseudocódigo:1. Início2. Soma = 0 <<< o acumulador precisa ter um

valor inicial

3. Para cont =1 até 50 faça3.1 ler N3.2 soma = soma + N4. Media = soma / 505. Mostrar media6. Fim

Page 7: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

7

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>.

Lógica de programação

Page 8: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

8

• 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.”

Lógica de programação

Isto será repetido 9 vezes.

Page 9: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

9

Lógica de programação

E se eu quisesse calcular a média de N números?

– 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ício2- Mostrar “De quantos valores você quer calcular a média?”3- Ler QUANT (aqui se descobre quantas repetições)4- SOMA = 05- Para CONT = 1 até QUANT faça5.1- Ler N (aqui é lido cada número, um em cada ciclo)5.2- SOMA = SOMA + N (aqui os valores lidos são acumulados)6- MEDIA = SOMA / QUANT (isto está fora do loop)7- Mostrar MEDIA8- Fim

Page 10: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exercício

Faça um algoritmo que calcule a soma dos números inteiros entre 5 e 16, inclusive.

10

Exemplo de solução:

InícioSoma=0Para Num=5 até 16 faça Soma=Soma + NumMostrar SomaFim

Page 11: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

• Faça um algoritmo para mostrar os 30 primeiros números ímpares

1. Início

2. Para I=1 até 30 faça

2.1 impar=I*2-1

2.2 Mostrar impar

3. Fim

11

Page 12: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exercício

• Faça um algoritmo para calcular e escrever o valor de S:

12

50

99...

4

7

3

5

2

3

1

1S

Page 13: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

13

1. Início2. S=03. Para I=1 ate’ 50 faça3.1 S=S+(I*2-1)/I4. Mostrar S5. Fim

Page 14: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

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!!!

14

Page 15: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

1. Início2. Mostrar “informe o número”3. Ler N4. ehprimo=15. para J=2 até N-1 faça se N mod J =0 então ehprimo=06. Se ehprimo=1 então mostrar “ o número eh

primo” senão mostrar “o número não eh

primo”7. Fim

15

Page 16: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Outra solução

Início2. Mostrar “informe o número”3. Ler N4. tot=05. para J=1 até N faça se N mod J =0 então tot=tot+16. Se tot=2 então mostrar “ o número eh primo” senão mostrar “o número não eh

primo”7. Fim

16

Page 17: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

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

17

Page 18: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

1. Início2. Soma=2 >>> 2 é o primeiro primo

3. Para N=3 até 99 faça 3.1 ehprimo=13.2 para J=2 até I-1 faça3.2.1 se N mod J =0 então ehprimo=03.3 se ehprimo=1 então soma=soma+N4 mostrar soma5. Fim

18

Aqui ve se N é primo

Page 19: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exercício

19

Faça um algoritmo para calcular e mostrar os 20 primeiros termos da série de Fibonacci:

O primeiro termo é zeroO segundo termo é umOs demais são a soma dos dois termos anteriores

0, 1, 1, 2, 3, 5, 8, 13, ….

Page 20: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

1. Início2. Mostrar 03. Mostrar 14. penultimo=05. ultimo=16. Para I=3 até 20 faça6.1 proximo=ultimo + penultimo6.2 mostrar proximo6.3 penultimo=ultimo6.4 ultimo=proximo7. Fim

20

Page 21: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

21

– 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)!

Lógica de programaçãoENQUANTO ... FAÇA...

Page 22: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

22

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ícioMAIOR 0 (MAIOR por enquanto é o menor valor possível)N 1 (só para o 1.o teste funcionar...)

Enquanto (N <> 0) façaLer 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

Lógica de programação

Page 23: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exercício

• Faça um algoritmo para mostrar os 30 primeiros números ímpares

23

Page 24: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplos de solução

1. c=12. impar=13. Enquanto c<=30 faça3.1 se impar mod 2 = 1 (é um número ímpar)3.1.1 então mostrar impar3.1.2 c=c+13.2 impar=impar+1

24

1. I=02. Enquanto I<30 faça2.1 I=I+12.2 impar=I*2-12.3 mostrar impar

1. I=02. Impar=13. Enquanto I<30 faça3.1 mostrar impar3.2 impar=impar+23.3 I=I+1

Page 25: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exercício

• Faça um algoritmo para calcular e escrever o valor de S:

25

50

99...

4

7

3

5

2

3

1

1S

Page 26: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

26

1. Início2.S=03.I=13. Enquanto I<=50 faça3.1 S=S+(I*2-1)/I3.2 I=I+14. Mostrar S5. Fim

Page 27: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

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.

27

Page 28: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

1. início2. I=13. enquanto I*I <=I*5 faça3.1 I=I+14. mostrar I5. fim

28

Page 29: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

29

– 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.

Lógica de programação REPITA ... ATÉ

Page 30: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exercício

• Faça um algoritmo para mostrar os 30 primeiros números ímpares

30

Page 31: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

1. início2. I=03. repita3.1 I=I+13.2 impar=I*2-13.3 mostrar impar até I>=304. fim

31

Page 32: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

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.

32

Page 33: Lógica de Programação: Estruturas de repetição Prof. Luis Otavio Alvares

Exemplo de solução

iníciorepita mostrar “digite um número positivo” ler Naté N > 0mostrar “a raiz quadrada deste número

e’: “mostrar sqrt(N)fim

33