A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Programação

Apresentações semelhantes


Apresentação em tema: "Introdução a Programação"— Transcrição da apresentação:

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 ESTRUTURAS DE REPETIÇÃO
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 Fluxograma de uma estrutura de repetição:
Lógica de programação INÍCIO FIM CONT <= 10? Não Sim CONT = 1 CONT = CONT + 1 Neste ponto do algoritmo podemos incluir qualquer conjunto de instruções que quisermos repetir 10 vezes.

4 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 F condição V instrução condição instrução V F

5 Mas também poderíamos:
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 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 3. Para cont =1 até 50 repetir ler num soma = soma + num 4. Media = soma / cont Mostrar media Fim

7 PARA...ATÉ...REPETIR Formato:
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 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 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
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
6. Para I=3 até 20 repetir n=n_1 + n_2 mostrar n n_2=n_1 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
para J=2 até I-1 repetir se I%j=0 então eprimo=0 se eprimo=1 então mostrar I 3. Fim

16 Estruturas de repetição em C

17 Estrutura de repetição: comando for
for (var=valor inicial; condição; incremento/decremento) comando; { 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 automaticamente após a execução do comando1

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


Carregar ppt "Introdução a Programação"

Apresentações semelhantes


Anúncios Google