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

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

Estruturas de Repetição

Apresentações semelhantes


Apresentação em tema: "Estruturas de Repetição"— Transcrição da apresentação:

1 Estruturas de Repetição

2 Sumário Estruturas de Controle: Exercícios. while (enquanto);
for (para); do-while (faça-enquanto). Exercícios.

3 Comandos de Repetição Os comandos de repetição (ou iteração) são caracterizados por permitir que uma sequência de comandos seja executada um número repetido de vezes, sujeito, normalmente, a uma condição de término. O C possui três comandos que permitem a construção de repetições, são eles: while, for e do-while.

4 Comando while O comando while (enquanto) é usado quando se deseja executar uma sequência de comandos que possui um número variável, e normalmente desconhecido, de vezes.

5 Comando while while ( <expressão> ) <sequência>

6 Comando while Antes da sequência ser executada, a expressão (condição) é avaliada. Caso seja verdadeira, a sequência será repetidamente executada enquanto a condição for verdadeira. A condição deverá ser uma expressão que retorne um valor lógico.

7 Comando while Note que se a condição for falsa já na primeira avaliação, a sequência de comandos não será executada nenhuma vez. A condição representada por <expressão> deverá, em algum momento, ser falsa, caso contrário a sequência será executada indefinidamente (loop infinito).

8 Exemplo 1 /* Mostrar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int cont; cont = 1; while (cont <= 100) printf("%d\n", cont); cont = cont + 1; } return 0;

9 Comando while O valor da condição que controla a execução da sequência é modificado pela variável contadora (“cont”) que a cada iteração é incrementada de uma unidade. A aplicação normal do comando while se dá em problemas onde o número de repetições não é conhecido. O exemplo anterior tem apenas o objetivo de mostrar o uso do comando, pois o outro comando de repetição (for) tem a sua construção mais simples.

10 Exemplo 2 #include <stdio.h> int main() { int cont; cont = 2;
/* Mostrar os números inteiros pares menores que 100 */ #include <stdio.h> int main() { int cont; cont = 2; while (cont < 100) printf("%d\n", cont); cont = cont + 2; } return 0;

11 Exemplo 3 #include <stdio.h> int main() { int num, soma;
/* Somar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int num, soma; num = 1; soma = 0; while (num <= 100) { soma = soma + num; num = num + 1; } printf("%d\n", soma); return 0;

12 Exemplo 4 /* Calcular o fatorial de um número fornecido pelo usuário */ #include <stdio.h> int main() { int N; unsigned long int Fat; printf("Entre com um numero: "); scanf("%d", &N); if (N >= 0) { Fat = 1; while (N > 1) { Fat = Fat * N; N--; } printf("Fatorial = %ld\n", Fat); else printf("Numero Invalido!\n"); return 0;

13 Comando for for ( <inicialização> ; <condição> ; <incremento> ) <sequência>

14 Exemplo 5 /* Mostrar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int i; for (i=1; i<=100; i++) printf("%d\n", i); } return 0;

15 Comando for A variável i , nesse caso, é conhecida como variável de iteração. Na primeira passagem pelo for, seu valor é 1. Depois, a instrução seguinte é executada: printf("%d\n", i). Após o comando, o programa volta ao for, e i assume o valor 2. Então, a instrução printf("%d\n", i) é executada novamente. O programa volta ao for novamente, enquanto a condição seja satisfeita: i< = 100 .

16 Exemplo 6 Exemplo: Escrever os números de 1 a 10 em ordem ascendente e descendente: /* Ordem ascendente */ for (i=1; i<=10; i++) printf("%d\n", i) /* Ordem descendente */ for (i=10; i>=1; i--) printf("%d\n", i)

17 Exemplo 7 #include <stdio.h> int main() { int i; char ch; /* Imprime numeros de 1 a 100 */ for (i=1; i<=100; i++) printf("%d\n", i); /*Imprime os numeros pares de 2 a 100 */ for (i=2; i<=100; i+=2) for (ch='a'; ch<='z'; ch++) { /* Imprime o numero da tabela ASCII */ printf("%d - ", ch); /* Imprime os caractere de 'a' a 'z' */ printf("%c\n", ch); } return 0;

18 Exemplo 8 /* Ler 4 notas e calcular a média delas */
#include <stdio.h> #define NUM 4 int main() { int i; float Valor, Soma, Media; Soma = 0; for (i=1; i<=NUM; i++) { printf("Entre com o numero: "); scanf("%f", &Valor); Soma = Soma + Valor; } Media = Soma / NUM; printf("A Media dos numeros = %f\n", Media); return 0;

19 Exemplo 9 /* Ler N números e calcular a média deles */
#include <stdio.h> int main() { int i, Num; float Valor, Soma, Media; printf("Entre com a quantidade de numeros: "); scanf("%d", &Num); Soma = 0; for (i=1; i<=Num; i++) { printf("Entre com o numero: "); scanf("%f", &Valor); Soma = Soma + Valor; } if (Num > 0) { Media = Soma / Num; printf("A Media dos numeros = %f\n", Media); return 0;

20 Exemplo 9 No programa anterior, o limite superior do comando for é uma variável lida no começo da execução do programa. Para alterar a quantidade de números a serem lidos basta executar o programa novamente e entrar com um novo valor.

21 Comando do-while O comando do-while (faça-enquanto), assim como o comando while, é usado quando não é conhecido o número de vezes que uma sequência de comandos deverá ser executada. Porém, a sequência será executada pelo menos uma vez.

22 Comando do-while do { <sequência> } while ( <expressão> );

23 Exemplo 10 /* Mostrar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int cont; cont = 1; do { printf("%d\n", cont); cont = cont + 1; } while (cont <= 100) return 0; }

24 Exemplo 11 /* Calcular o fatorial de um número fornecido pelo usuário
Após o resultado o usuário pode optar em fazer outro cálculo */ #include <stdio.h> #include <conio.h> int main() { int N, i; unsigned long int Fat; char op; do { printf("Entre com um numero: "); scanf("%d", &N); if (N > 0) { Fat = 1; for (i=2; i<=N; i++) Fat = Fat * i; printf("Fatorial de %d = %ld\n", N, Fat); } else printf("Numero Invalido!\n\n"); printf("Deseja Continuar <S> ou <N>?\n"); op = getchar(); } while (op == 'S' || op == 's'); /* ou toupper(op) == 'S' */ return 0;

25 Comandos de Repetição for (i=1; i<=10; i++) { printf("%d\n", i); }
// while i = 1; while (i <= 10) { printf("%d\n", i++); } // do-while i = 1; do { printf("%d\n", i++); } while (i <= 10);

26 Comando break Como visto anteriormente, o comando break pode ser utilizado em conjunto com o comando switch-case. Sua função era interromper o comando switch assim que uma das sequências de comandos da cláusula case fosse executada.

27 Comando break O comando break também serve para interromper a execução de qualquer comando de repetição (for, while ou do-while). O break faz com que a execução do programa continue na primeira linha seguinte ao laço ou bloco que está sendo interrompido.

28 Comando break #include <stdio.h> #include <stdlib.h> int main() { int i, n; for(i = 0; i < 10; i++) printf("Digite um numero positivo: "); scanf("%d", &n); if (n <= 0) break; /* interrompe a entrada de dados */ } return 0;

29 Comando continue O comando continue é muito parecido com o comando break. Tanto o comando break quanto o comando continue ignoram o restante da sequência de comandos que os sucedem no laço. A diferença é que, enquanto o comando break termina o laço de repetição, o comando continue interrompe apenas os comandos seguintes do laço e retorna ao teste de condição.

30 Comando continue #include <stdio.h> #include <stdlib.h> int main() { int i, n, soma=0; for(i = 0; i < 10; i++) printf("Digite um numero positivo: "); scanf("%d", &n); if (n < 0) continue; /* se o numero for negativo não soma */ soma=soma + n; } printf("Soma = %d\n", soma); return 0;

31 Referências BACKES, André R., Linguagem C: Descomplicada. Disponível em < res/fiorese/materiais/apostilaC_Univ_Fed_Ub erlandia.pdf>. Acesso em: 01 ago Página Prof. Simão:


Carregar ppt "Estruturas de Repetição"

Apresentações semelhantes


Anúncios Google