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

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

PROGRAMAÇÃO I UNIDADE 4.

Apresentações semelhantes


Apresentação em tema: "PROGRAMAÇÃO I UNIDADE 4."— Transcrição da apresentação:

1 PROGRAMAÇÃO I UNIDADE 4

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

3 Estruturas de Repetição
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 Programação I

4 Comando while 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. Programação I

5 Comando while: exemplo
/* Fatorial (versão 1)*/ #include <stdio.h> #include <stdlib.h> 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; Programação I

6 Comando for 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 ) ... expressão_de_incremento Programação I

7 Comando for: exemplo 1 /* Fatorial (versão 2) */ #include <stdio.h> #include <stdlib.h> 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; Programação I

8 Comando for: exemplo 2 /* MDC (usando for)*/ #include <stdio.h> #include <stdlib.h> 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; Programação I

9 Comando do-while 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); Programação I

10 Comando do-while: exemplo 1
/* Fatorial (versao 3) */ #include <stdio.h> #include <stdlib.h> 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; } Programação I

11 Comando do-while: exemplo 2
/* Fatorial (versao 4) */ #include <stdio.h> #include <stdlib.h> 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; } Programação I

12 Interrupção de Laços Comando break
Interrompe a execução do comando de laço. Exemplo: #include <stdio.h> #include <stdlib.h> 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 Programação I

13 Interrupção de Laços gera a saída: 0 1 2 3 4 6 7 8 9 fim
Comando continue Termina a iteração corrente e passa para a próxima. Exemplo: #include <stdio.h> #include <stdlib.h> 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 Programação I

14 Interrupção de Laços Comando continue
deve-se ter cuidado para não criar uma “iteração infinita” . /* INCORRETO */ #include <stdio.h> #include <stdlib.h> 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 Programação I


Carregar ppt "PROGRAMAÇÃO I UNIDADE 4."

Apresentações semelhantes


Anúncios Google