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

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

1MF. Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional.

Apresentações semelhantes


Apresentação em tema: "1MF. Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional."— Transcrição da apresentação:

1 1MF. Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional

2 2MF. Comando if if (condição) instrução; # include main ( ) { char ch; ch = getchar ( ); if (ch == p) printf (Premiu a tecla p); } if (condição) { instrução1; intrução2; } #include main ( ) { if (getchar()) == p ) { printf (Digitou p); printf ( Pressione outra tecla ); getchar( ); }

3 3MF. if aninhados Se um comando if está dentro do outro if, dizemos que o if interno está aninhado. #include void main ( ) { char ch; printf ( digite uma letra entre A e Z); ch = getchar ( ); if (ch >= A) if (ch < = Z) printf (Acertou); } #include void main ( ) { char ch; printf ( digite uma letra entre A e Z); ch = getchar ( ); if((ch >= A) && (ch < = Z)) printf (Acertou); }

4 4MF. Comando if-else O comando if só executa a instrução caso a condição do teste seja verdadeira, nada fazendo se a expressão for falsa. O comando else executará uma instrução ou um conjunto de instruções se a expressão for falsa.

5 5MF. Comando if-else if (condição) instrução; else instrução; #include void main ( ) { if (getchar ( ) == p) printf (Digitou p); else printf (Não digitou p); } #include void main ( ) { int nota; if (nota>= 10) printf (Tem positiva); else printf (Teve negativa); }

6 6MF. Exemplo #include void main() { int a,b; printf(Digite 2 números: ); scanf(%d%d,&a,&b); if (b) printf(%f,a/b); else printf(Não se pode efectuar divisões por zero\n); } Deve evitar-se divisões por Zero, recorrendo ao comando if-else.

7 7MF. Comando if-else aninhados if (condição1) instrução else if (condição2) instrução else if (condição3)... #include void main ( ) { int numero; scanf (%d, &numero); if (número < 0) printf (número menor que zero); else if (numero < 10) printf ( numero entre 0 e < 10); else if (numero < 100) printf (numero de 10 a < 100); else printf (número > 100); }

8 8MF. EX1: if (n > 0) if (a > b){ z = a; calculafatorial(z); } else z = b; Ex1: Quando n > 0 e a < b Ex2: Quando n < 0 O último else é sempre associado ao if mais interno Quando será executado z = b? Ex2: if (n > 0) { if (a > b) z = a; } else z = b; Como decide computador de que if o else pertence?

9 9MF. Exercício 1 #include void main() { int i; printf(Digite sua idade: ); scanf(%d,&i); if (i > 70) printf(Esta Velho!); else if (i > 21) printf(Adulto); else printf(Jovem); } Programa Adulto (maior que 21), Jovem ou Velho (maior que 70).

10 Acha o número maior entre três nº main() { int a,b,c; printf(Digite o 1º Número: ); scanf(%d,&a); printf(\nDigite o 2º Número: ); scanf(%d,&b); printf(\nDigite o 3º Número: ); scanf(%d,&c); if (a > b) if (a > c) printf(\nO Maior é %d,a); else printf(\nO Maior é %d,c); else if (b > c) printf(\nO Maior é %d,b); else printf(\nO Maior é %d,c); } main() { int a,b,c,d; printf(Digite o 1º Número: ); scanf(%d,&a); printf(\nDigite o 2º Número: ); scanf(%d,&b); printf(\nDigite o 3º Número: ); scanf(%d,&c); if (a > b) d = a; else d = b; if (c > d) printf(\nO Maior é %d,c); else printf(\nO Maior é %d,d); } Exercício 2

11 11MF. Dados 2 números apresenta-os ordenados main() { int a,b,t; printf(Digite o 1º Número: ); scanf(%d,&a); printf(\nDigite o 2º Número: ); scanf(%d,&b); if (a < b) { t = a; a = b; b = t; } printf(\nOrdenados: %d e %d,b,a); } Exercício 3

12 12MF. Comando ?: Forma compacta de expressar uma instrução if – else (condição) ? expressão1 : expressão2 Max = (num1 > num2) ? num1 : num2 Note: if (num1 > num2) max = num1; else max = num2; Exemplo: ABS = (num < 0) ? - num : num;

13 13MF. Comando Switch Forma de se substituir o comando if – else ao executar- se vários testes Diversas vezes precisamos determinar se um valor se encontra numa lista de valores. Apesar de podermos usar uma seqüência de ifs, este recurso além de não ser elegante, por vezes confunde o entendimento do programa. A melhor opção é o comando switch.

14 Comando Switch switch { case : ; [break;] case : ; [break;] case : ; [break;] [default : ;] } OBS: variável deve ser uma variável do tipo inteiro ou carácter; break serve para terminar a seqüência de comandos em execução, por serem opcionais, se forem suprimidos permitem que o case a seguir seja executado, sem haver qualquer quebra na seqüência do processamento. Sintaxe:

15 Comando Switch #include void main ( ) { char op; float num1, num2; printf ( digite um nº, um operador e um nº); scanf ( %f %c %f, &num1, &op, &num2); switch (op) { case +: printf ( Soma= %f, num1 + num 2); break: case -: printf ( Diferença= %f, num 1 - num 2); break; default: printf ( operador inválido); }

16 16MF. Exercício Seguindo a idéia do exercício anterior incrementa a calculadora com mais funções matemáticas. Sugestão: usa funções da biblioteca matemática math.h como por exemplo: sin(x) cos(x) log(x) sqrt(x) pow(x1,x2)


Carregar ppt "1MF. Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional."

Apresentações semelhantes


Anúncios Google