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

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

COMANDO DE REPETIÇÃO Com pós condição Comandos de desvio.

Apresentações semelhantes


Apresentação em tema: "COMANDO DE REPETIÇÃO Com pós condição Comandos de desvio."— Transcrição da apresentação:

1 COMANDO DE REPETIÇÃO Com pós condição Comandos de desvio

2 Sintaxe: do { comando; } while ( condição ); Com um comando só, as chaves são podem ser omitidas. Com a pós condição, os comandos são executados ao menos uma vez.

3 Exemplo Vamos criar um programa que simula o movimento de uma bola de ping-pong batendo nas bordas da tela:

4 Exemplo O movimento da bola se repete até que uma tecla seja pressionada. Funções da conio.h usadas no programa: kbhit(): devolve 1 se uma tecla foi pressionada e 0 em caso contrário.

5 Exemplo sound(n): emite som com freqüência de n hertz. nosound(): cessa o som emitido pelo alto-falante. delay(m): gera uma pausa de m milissegundos.

6 Código fonte pingpong.c #include main() { int x = 1, y = 1; int dx=-1, dy=-1; clrscr();

7 Exemplo – pingpong.c do { gotoxy(x,y); putch(01); delay(800); gotoxy(x,y); putch(32); if (x==1 || x==80) { sound(500); delay(800); nosound(); dx = -dx; }

8 Exemplo – pingpong.c if (y==1 || y==24) { sound(500); delay(800); nosound(); dy = -dy; } x += dx; y += dy; }while ( !kbhit() ); }

9 Comandos de Desvio Comando break Interrompe um laço, quando encontrado. Pode ser usado para interromper quaisquer laços – for, while ou do-while.

10 Exemplo Verificando se um número é primo. Suponha o número 7: 7 % 2 = 1 7 % 3 = 1 7 % 4 = 3 7 % 5 = 2 7 % 6 = 1 7 é um número primo!

11 Suponha agora o número 9: 9 % 2 = 1 9 % 3 = 0 9 não é um número primo!

12 Exemplo – primo.c #include main() { int n, k; clrscr(); printf("\nDigite um número natural: "); scanf("%u", &n); for (k=2; k<=n-1; k++) if (n%k == 0) break; if (k==n) printf("\nO número é primo"); else printf("\nO número não é primo"); getch(); }

13 Comando continue Força a próxima iteração do laço e pula o código que estiver abaixo. Nos laços while e do-while um comando continue faz com que o controle do programa vá diretamente para o teste condicional e depois continua o processo do laço.

14 Comando continue No caso do laço for, o computador primeiro executa o incremento do laço e, depois, o teste condicional, e finalmente faz com que o laço continue. O comando continue deve ser evitado, pois dificulta a leitura do código!

15 Programa com desvio #include void main() { float p1, p2; clrscr(); while (1) { printf("Digite a 1¦ nota:"); scanf("%f", &p1); if (p1 10) { printf("Nota inv lida, digite novamente.\n"); continue; } while (1) { printf("Digite a 2¦ nota:"); scanf("%f", &p2); if (p2>=0 && p2<=10) break; } break; } printf("Fim do programa!"); getch(); }

16 Exemplos de desvios while (1) { printf("Digite a 1¦ nota:"); scanf("%f", &p1); if (p1 10) { printf("Nota inv lida, digite novamente.\n"); continue; } while (1) { printf("Digite a 2¦ nota:"); scanf("%f", &p2); if (p2>=0 && p2<=10) break; } break; }


Carregar ppt "COMANDO DE REPETIÇÃO Com pós condição Comandos de desvio."

Apresentações semelhantes


Anúncios Google