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

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

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

Apresentações semelhantes


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

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

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

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

4 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. MF.

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

6 Exemplo #include <stdio.h> 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. MF.

7 Comando if-else aninhados
if (condição1) instrução else if (condição2) else if (condição3)... #include <stdio.h> 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”); } MF.

8 Como decide computador de que if o else pertence?
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; 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 MF.

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

10 Acha o número maior entre três nº
Exercício 2 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); if (b > c) printf(“\nO Maior é %d”,b); } 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); printf(“\nO Maior é %d”,d); } Acha o número maior entre três nº

11 Dados 2 números apresenta-os ordenados
Exercício 3 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); MF.

12 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; MF.

13 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. MF.

14 Comando Switch Sintaxe: OBS: switch <variável> {
“ 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. switch <variável> { case <constante 1> : <comandos>; [break;] case <constante 2> : case <constante 3> : [default : <comandos>;] }

15 Comando Switch #include <stdio.h> 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 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) MF.


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

Apresentações semelhantes


Anúncios Google