1 / 24

Introdução a Programação Estruturas de repetição Prof. Luis Otavio Alvares

Introdução a 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. Lógica de programação. ESTRUTURAS DE REPETIÇÃO

pilis
Download Presentation

Introdução a Programação Estruturas de repetição Prof. Luis Otavio Alvares

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução a 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. 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. • Podemos executar uma ação (ou um conjunto de ações) um número definido ou indefinido de vezes, ou enquanto um estado permanecer ou até que um estado seja atingido. • As principais estruturas de repetição são: • PARA...ATÉ...REPETIR • ENQUANTO...REPETIR • REPETIR...ENQUANTO

  3. Lógica de programação Fluxograma de uma estrutura de repetição: INÍCIO CONT = 1 Neste ponto do algoritmo podemos incluir qualquer conjunto de instruções que quisermos repetir 10 vezes. CONT = CONT + 1 CONT <= 10? Sim Não FIM

  4. instrução F condição V Estruturas de repetição Lógica de programação Enquanto...Repetir Enquanto (condição) repetir <instruções> Repetir...Enquanto Repetir <instruções> enquanto (condição) Para...até...repetir Para <variavel> = <inicio> até <fim> repetir <instruções> F condição V instrução

  5. Lógica de programação • Até agora para vários valores informados pelo usuário líamos cada valor de forma separada • Por exemplo, no algoritmo para o cálculo da média de quatro números, líamos 4 valores em 4 variáveis diferentes. Mas também poderíamos: • ler um valor para 1 variável e repetir isso 4 vezes, adicionando cada valor lido ao total em uma outra variável, a cada repetição. • Após as 4 repetições, a soma dos 4 números estaria acumulada na outra variável, bastando uma instrução para dividi-la por 4 e assim obter a média.

  6. Exemplo Para • Ler 50 números fornecidos pelo usuário e calcular e exibir a média. Pseudocódigo: 1. Início 2. Soma = 0 <<< o acumulador precisa ter um valor inicial 3. Para cont =1 até 50 repetir 3.1 ler num 3.2 soma = soma + num 4. Media = soma / cont • Mostrar media • Fim

  7. Lógica de programação PARA...ATÉ...REPETIR • Formato: Para <variável> = <valor inicial> até <valor final> repetir <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>. • 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É...REPETIR:“Mostrar os quadrados dos inteiros de 3 a 11.” • Pseudocódigo: Para CONT = 3 até 11 repetir 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.

  9. E se eu quisesse calcular a média de N números? 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 repetir 5.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 MEDIA 8- Fim

  10. Exercício • Faça um algoritmo para calcular e escrever o valor de S:

  11. Exemplo de solução 1. Início 2. S=0 3. Para I=1 ate’ 50 repetir 3.1 S=S+(I*2-1)/I 4. Mostrar S 5. Fim

  12. Exercício Faça um algoritmo para calcular os 20 primeiros termos da série de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, …. com F0=0 e F1=1

  13. Exemplo de solução 1. Início 2. Mostrar 0 3. Mostrar 1 4. n_2=0 5. n_1=1 6. Para I=3 até 20 repetir 6.1 n=n_1 + n_2 6.2 mostrar n 6.3 n_2=n_1 6.4 n_1=n 7. Fim

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

  15. Exemplo de solução • Início 2. Para I=1 até 99 repetir 2.1 eprimo=1 2.2 para J=2 até I-1 repetir 2.2.1 se I%j=0 então eprimo=0 2.3 se eprimo=1 então mostrar I 3. Fim

  16. Estruturas de repetição em C

  17. Estrutura de repetição: comando for • Comando for for (var=valor inicial; condição; incremento/decremento) comando; for (var=valor inicial; condição; incremento/decremento) { comando1; comando2; comando3; } Exemplo: for (cont=3; cont<=11; cont++) printf (“%d”,cont);

  18. Comando for for (var=valor inicial; condição; inc/dec) comando1; Não esquecer dos parênteses O comando1 será executado enquanto a condição for verdadeira O incremento ou decremento é executado automaticamenteapós a execução docomando1

  19. Exercício Escrever um algoritmo que lê 5 valores, e conta quantos destes valores são negativos, escrevendo esta informação. #include <stdio.h> #include <stdlib.h> main(){ int numero, cont, neg=0; for (cont=0; cont<5; cont++) { printf ("\nDigite um numero inteiro: "); scanf ("%d", &numero); if (numero<0) neg=neg+1; } printf ("\nO numero de valores negativos e’ %d\n", neg); system("pause"); }

  20. Cuidado!!! • Se o valor da variável de controle do comando for for alterado explicitamente dentro do bloco de repetição … • Exemplo: saída: #include <stdio.h> #include <stdlib.h> main(){ int I; for (I=1; I<=10; I++){ printf (“%d\n",I); if (I==5) I=8; } system("pause"); } 1 2 3 4 5 9 10 Press any key to continue . . .

  21. Lembre-se!!! Qual o valor da variável de controle do for após a execução do comando for? O valor que foi testado e não passou na condição. Exemplo: saída: #include <stdio.h> #include <stdlib.h> main(){ int cont; for (cont=1; cont<=10; cont=++){ printf ("%d\n", cont); } printf("valor apos o FOR: %d\n",cont); system("pause"); } 1 2 3 4 5 6 7 8 9 10 valor apos o FOR: 11 Press any key to continue...

  22. Só use quando estritamente necessário: E para forçar o término da repetição? Use um break. Exemplo : saída: #include <stdio.h> #include <stdlib.h> main(){ int I; for (I=1; I<=10; I=I+1){ printf ("%d\n",I); if (I==5) break; } printf(“apos o FOR: %d\n",I); system("pause"); } 1 2 3 4 5 apos o FOR: 5 Press any key to continue... Atenção para o valor de saída da variável de controle

  23. Cuidado!! • Faça sempre um teste de mesa com os valores inicial e final do loop do comando for, pois a maioria dos erros são na primeira ou na última execução do laço. • Erros comuns: • Executar o laço (repetição) uma vez a mais ou a menos que o desejado • Atribuir o valor inicial de alguma variável dentro do laço, quando deveria ser fora • Não atribuir o valor inicial de uma variável (principalmente em for s aninhados)

  24. Exercícios • Faça um programa para calcular e escrever o valor de S: • Faça um programa para calcular os 20 primeiros termos da série de Fibonacci • Faça um programa para calcular os números primos menores que 100

More Related