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

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

UNIDADE 4 PROGRAMAÇÃO I. Programação I 2 Estruturas de Repetição: while do-while for.

Apresentações semelhantes


Apresentação em tema: "UNIDADE 4 PROGRAMAÇÃO I. Programação I 2 Estruturas de Repetição: while do-while for."— Transcrição da apresentação:

1 UNIDADE 4 PROGRAMAÇÃO I

2 Programação I 2 Estruturas de Repetição: while do-while for

3 Estruturas de Repetição Programação I 3 As estruturas de repetição permitem executar repetidamente um conjunto de instruções, até que uma determinada condição seja alcançada. Repetições são programadas através da construção de laços (ou ciclos). Repetição com teste no início: while e for Repetição com teste no final: do-while

4 Comando while Programação I 4 O comando while repete a execução de um bloco de comandos enquanto uma determinada condição for satisfeita. O teste é feito no início. Sintaxe do comando while: while ( expr) { bloco de comandos } ─ Enquanto expr for verdadeira (≠ 0), executa o bloco de comandos. ─ Quando expr for falsa (= 0), o bloco termina. A execução prossegue com os comandos subsequentes ao bloco while.

5 Comando while: exemplo Programação I 5 /* Fatorial (versão 1)*/ #include int main (void) { int k,n; long int f = 1; printf("Digite um numero inteiro nao negativo:"); scanf("%d", &n); /* calcula fatorial */ k = 1; while (k <= n) { f = f * k; /* a expressão “f = f * i” é equivalente a “f *= k” */ k = k + 1; /* a expressão “k = k + 1” é equivalente a “k++” */ } printf(" Fatorial = %d \n", f); system(“PAUSE”) return 0; }

6 Comando for Programação I 6 Comando for : – Forma compacta para exprimir laços. Sua sintaxe é: for ( expressão_inicial; expressão_booleana; expressão_de_incremento) { bloco de comandos } – equivalente a: expressão_inicial; while ( expressão_booleana ) { bloco de comandos... expressão_de_incremento }

7 Comando for: exemplo 1 Programação I 7 /* Fatorial (versão 2) */ #include int main (void) { int k,n; long int f = 1; printf("Digite um numero inteiro nao negativo:"); scanf("%d", &n); /* calcula fatorial */ for (k=1; k <= n; k++) { f = f * k; } printf(" Fatorial = %d \n", f); System(“PAUSE”) return 0; }

8 Comando for: exemplo 2 Programação I 8 /* MDC (usando for)*/ #include int main(void){ int x,y,r; /* entrada de dados */ printf("Calculo do MDC\n\n"); printf("Primeiro numero....: "); scanf("%d",&x); printf("Segundo numero.....: "); scanf("%d",&y); /* calcula mdc*/ for(r = x%y; r!=0; r = x%y) { x=y; y=r; } printf("\nO MDC e' %d\n\n",y); system("pause"); return 0; }

9 Comando do-while Programação I 9 A linguagem C oferece uma terceira construção de laços através do comando do-while: ─ expr é avaliada no final do laço; isto significa que o bloco de comandos é executado pelo menos uma vez. ─ Se expr for verdadeira (≠ 0), executa novamente o bloco de comandos. Quando expr for falsa (= 0), o bloco termina. Sintaxe: do { bloco de comandos } while ( expr);

10 Comando do-while: exemplo 1 Programação I 10 /* Fatorial (versao 3) */ #include int main (void) { int i; int n; int f = 1; /* requisita valor até um número não negativo ser informado */ do { printf("Digite um valor inteiro nao negativo:"); scanf ("%d", &n); } while (n<0); /* calcula fatorial */ for (i = 1; i <= n; i++) f *= i; printf(" Fatorial = %d\n", f); system("PAUSE"); return 0; }

11 Comando do-while: exemplo 2 Programação I 11 / * Fatorial (versao 4) */ #include int main (void) { int i; int n; int f; do { printf("Digite um valor inteiro nao negativo:"); scanf ("%d", &n); f=1; /* calcula fatorial */ for (i = 1; i <= n; i++) f *= i; printf(" Fatorial = %d\n", f); } while (n>=0); system("pause"); return 0; }

12 Interrupção de Laços Programação I 12 Comando break ─ Interrompe a execução do comando de laço. Exemplo: #include int main (void) { int i; for (i = 0; i < 10; i++) { if (i == 5) break; printf("%d ", i); } printf("fim\n"); system(“pause”); return 0; } A saída deste programa, se executado, será: fim

13 Interrupção de Laços Programação I 13 Comando continue ─ Termina a iteração corrente e passa para a próxima. Exemplo: #include int main (void) { int i; for (i = 0; i < 10; i++ ) { if (i == 5) continue; printf("%d ", i); } printf("fim\n"); system(“pause”); return 0; } gera a saída: fim

14 Interrupção de Laços Programação I 14 Comando continue ─ deve-se ter cuidado para não criar uma “iteração infinita”. /* INCORRETO */ #include int main (void) { int i = 0; while (i < 10) { if (i == 5) continue; printf("%d ", i); i++; } printf("fim\n"); system(“pause”); return 0; } cria “iteração infinita” pois i não será mais incrementado quando chegar a 5


Carregar ppt "UNIDADE 4 PROGRAMAÇÃO I. Programação I 2 Estruturas de Repetição: while do-while for."

Apresentações semelhantes


Anúncios Google