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

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

Com pós condição Comandos de desvio

Apresentações semelhantes


Apresentação em tema: "Com pós condição Comandos de desvio"— Transcrição da apresentação:

1 Com pós condição Comandos de desvio
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 <stdio.h> #include <conio.h> main() { int x = 1, y = 1; int dx=-1, dy=-1; clrscr();

7 Exemplo – pingpong.c do { gotoxy(x,y); putch(01); delay(800);
if (x==1 || x==80) sound(500); 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 <stdio.h> 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 <stdio.h> #include <conio.h>
void main() { float p1, p2; clrscr(); while (1) printf("Digite a 1¦ nota:"); scanf("%f", &p1); if (p1<0 || p1>10) printf("Nota inv lida, digite novamente.\n"); continue; } printf("Digite a 2¦ nota:"); scanf("%f", &p2); if (p2>=0 && p2<=10) break; printf("Fim do programa!"); getch();

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


Carregar ppt "Com pós condição Comandos de desvio"

Apresentações semelhantes


Anúncios Google