Aula02 condicionais

224 visualizações

Publicada em

Comandos condicionais If, operador ternário ? e select ... case em C

Publicada em: Ciências
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
224
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula02 condicionais

  1. 1. Condicionais em C Yuri Tavares dos Passos
  2. 2. Comandos de seleção● Como vimos anteriormente, são utilizados para tomadas de decisões; ● Desvia o fluxo do programa para uma determinada sequência de comandos; ● Conforme a análise de uma expressão lógica, o fluxo do programa é alterado ou não; ● Podem ser Simples ou Composto; ● Utilizamos dois comandos para esta finalidade: – if – swich – Operador ternário ?:
  3. 3. Comando if ● O comando if simples é estruturado como segue: – if (<expressão-lógica>) <comando>; – if (<expressão-lógica>) <comando>; ● Caso a expressão em <expressão-lógica> retornar 1 (ou qualquer valor diferente de 0), o <comando> é executado. ● Caso a expressão em <expressão-lógica> retornar 0, o <comando> não é executado. O fluxo passará para o comando após o if. ● Note que o <comando> pode ser formado apenas por uma instrução, terminada por “;”.
  4. 4. Comando if
  5. 5. Comando if ● O comando if permite a execução de um determinado bloco de comandos. ● Para isto deve-se construir o bloco com o uso de chaves ({ … }): if (<expressão-lógica>) { <bloco de comandos> }
  6. 6. Comando if ● Caso a expressão lógica (<expressão- lógica>) retorne um valor diferente de 0, a sequência dentro das chaves será executada. ● Caso a expressão lógica (<expressão- lógica>) retorne um igual a 0, o bloco não é executado, passando a execução para o que vem após o bloco.
  7. 7. Comando if
  8. 8. Comando if ● O comando de seleção com duas vias é feito com a palavra else. if (<expressão-lógica>){  <seqüência-de-comandos-1> } else { <seqüência-de-comandos-2> }
  9. 9. Comando if ● O uso ou não de chaves determina se a via do comando else executa apenas um comando ou vários comandos.
  10. 10. Comando if
  11. 11. Comando if encadeado ● É utilizado quando várias condições poderão ser testadas. ● É utilizado quando se deseja executar após o teste de uma condição anterior. ● Cada teste é executado por vez. Quando um deles é verdadeiro, apenas o bloco referente a este teste é executado.
  12. 12. Comando if encadeado if (<expressão-lógica-1>){  <seqüência-de-comandos-1> } else if (<expressão-lógica-2>){  <seqüência-de-comandos-2> } else if (<expressão-lógica-3>) {  <seqüência-de-comandos-3> } . . . [else{ <seqüência-de-comandos-n> }]
  13. 13. Comando if encadeado ● A execução será feita seqüencialmente. Se a <expressão- lógica-1> for verdadeira a <seqüência-de-comandos-1> é executada pelo programa. O fluxo de execução retornará para a próxima instrução abaixo desse comando if.
  14. 14. Comando if encadeado ● Se a <expressão-lógica-1> for falsa o programa avaliará a próxima instrução eles if do comando if expandido. Neste caso, a expressão a ser avaliada será <expressão-lógica-2>.
  15. 15. Comando if encadeado ● Este processo se repetirá até que encontre uma expressão lógica que seja verdadeira ou encontre o comando else, caso seja especificado.
  16. 16. Comando if encadeado ● É utilizado quando várias condições poderão ser testadas. ● É utilizado quando se deseja executar após o teste de uma condição anterior. ● Cada teste é executado por vez. Quando um deles é verdadeiro, apenas o bloco referente a este teste é executado.
  17. 17. Comando if encadeado
  18. 18. Comando switch ● É útil quando o valor analisado na expressão lógica possui diversos valores possíveis. ● É semelhante ao comando ESCOLHA do portuguol e a seleção de múltiplas vias do fluxograma.
  19. 19. Comando switch ● A sintaxe é: switch (<expressão>){ case <valor>: [<comandos>] [break;] case <valor>: [<comandos>] [break;] … default: [<comandos>] [break;] }
  20. 20. Comando switch ● Apenas uma expressão por case pode ser enunciada. ● O comando break serve para encerrar estruturas de controle. – No caso do comando switch, desviando o fluxo do programa para o fim de seu bloco.
  21. 21. Comando switch ● A ausência do comando break fará com que o fluxo do programa prossiga executando os comandos declarados dentro dos cases seguintes. – Trampolins, piscina e portais dimensionais.
  22. 22. Comando switch
  23. 23. Operador ternário ?:● O operador ternário ?: é utilizado para pequenas expressões de atribuição que envolvam seleção. ● O nome ternário significa que o operador possui três argumentos: – A expressão lógica; – O valor retornado caso a expressão lógica seja verdadeira; – O valor retornado caso ela seja falsa.
  24. 24. Operador ternário ?: ● Sintaxe: – (<expressão lógica>)?<expressão- 1>:<expressão-2>; ● Caso a <expressão lógica> antes do símbolo “?” for verdadeira, o valor da <expressão-1> será retornado. ● Caso contrário, o valor de <expressão-2> será retornado.
  25. 25. Operador ternário ?:
  26. 26. Exercícios ● Utilizando o comando if: 1) Faça um programa para ler um número inteiro e informar se o número é par ou ímpar. Utilize a função o operador %. 2) Faça um programa para ler as três notas de uma aluno e imprima se o mesmo foi aprovado ou reprovado. Adote a média aritmética e média para aprovação maior ou igual 7,0. 3) Faça um programa para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo e qual tipo de triângulo seria: equilátero, isóceles ou escaleno.
  27. 27. Exercícios ● Utilizando o comando if: 4) Faça um programa que leia o número de eleitores de um município, o número de votos brancos, nulos e válidos. Calcule o percentual que cada um representa em relação ao total de eleitores. Ao final, o programa deve: – Imprimir o percentual de votos branco, nulos e válidos; – Se a soma de votos nulos mais votos brancos for maior que votos válidos, informar que a eleição foi cancelada.
  28. 28. Exercícios ● Utilizando o comando if: 5) A jornada de trabalho semanal de um funcionário é de 44 horas. O funcionário que trabalhar mais de 44 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 30%. Escreva um programa que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas.
  29. 29. Exercícios ● Utilizando o comando switch: 6) Faça um programa para ler valores inteiros em duas variáveis distintas e: – Se o resto da divisão da primeira pela segunda for 1 mostre a soma dessas variáveis mais o resto da divisão; – Se o resto da divisão da primeira pela segunda for 2 escreva se os valores lidos são pares ou ímpares – Se o resto da divisão da primeira pela segunda for igual a 3, multiplique a soma dos valores lidos pelo primeiro; – Se o resto da divisão da primeira pela segunda for igual a 4, divida a soma dos números lidos pelo segundo; – Em qualquer outra situação mostre o quadrado dos números lidos.
  30. 30. Exercícios ● Utilizando o comando switch: 7) Faça um algoritmo que receba a idade de um nadador e mostre a sua categoria usando as regras a seguir: – Categoria Idade – Fraldinha: até 4 anos – Dentinho: 5 anos – Infantil: de 6 a 7 anos – Juvenil: de 8 a 12 anos – Adolescente: de 13 a 17 anos – Adulto: de 18 a 30 anos – Sênior: acima de 30
  31. 31. Exercícios ● Usando o operador ternário ?:: 8) Faça um programa que leia um número e retorne o módulo deste número. 9) Faça um programa que leia dois pontos no espaço bidimensional e encontre a distância dada pela fórmula a seguir: d(A,B) = |xA – xB| + |yA – yB|
  32. 32. Exercícios ● Usando o operador ternário ?:: 10) Escreva um algoritmo que leia os coeficientes a, b e c de uma equação do segundo grau da forma: ax2 + bx + c = 0 E escreva na tela as raízes desta equação. Lembrando que ∆ = b2 – 4ac e: Caso ∆ seja menor que 0, deve-se escrever na tela que sua equação não possui soluções reais. a b x 2  

×