Post on 16-Mar-2016
description
Introdução à Programação
Aula Prática 2Operadores e Comandos Condicionais
Monitoria 2013.2
Roteiro
• Operadores• Comandos de Decisão
If – else Switch
• Condição Ternária• Dúvidas• Exercícios
Operadores Aritméticos
Representam cálculos matemáticos, operando sobre os tipos integrais¹ e de ponto flutuante²:
Operador Ação Inteiros Ação Float+ Adição
- Subtração
++ Incremento por 1
-- Decremento por 1
* Multiplicação
/ Divisão com resto Divisão real
% Resto de Divisão Erro de compilação
= Atribuição
1* -> int, short, long, long long, char, etc.2* -> float, double long double, etc
Operadores Relacionais
Representam Relações binárias sobre números, avaliadas como Verdadeiro ou Falso*
*: Em C, Falso é representado pelo valor numérico “0”, e Verdadeiro por um outro valor qualquer.Existem as constantes TRUE e FALSE para esses valores.
Operador Relação> Maior-que
>= Maior-ou-igual-a
< Menor-que
<= Menor-ou-igual-a
== Igual-a
!= Diferente de
Operadores Lógicos
Representam Relações lógicas, avaliadas como Verdadeiro ou Falso*
Operador Relação&& E (AND)|| Ou (OR)
! Não (Not)
Comandos de Decisão• Usados para definir o que deve ser feito, levando em conta
condições definidas pelo programador.• Existem 3 tipos:
If – Else. Switches. Condição ternária.
• Cada um com utilizações diferentes.
If – ElseFunciona na forma:Se (isto) é verdade
faça aquilo;Se não é, e (isso) é verdade,
faça aquela outra coisa;Se não é, e (isso aqui) é verdade,
faça essa coisa aqui;Se nenhum,
faça essa última coisa;
Em C:if (isto)
aquilo;else if (isso)
aquela outra coisa;else if (isso aqui)
essa coisa aqui;else
essa última coisa;
If – Else• Se for necessário executar mais de um comando,
podem ser usadas chaves “{ }”:if(a > b){
isso();aquilo();
}else{
outra_coisa();a++;
}
If – Else• As condições “else if” e “else” são opcionais.• Apenas um dos blocos de comandos será executado.
Se uma das condições for verdade, as seguintes serão ignoradas.
Exemplo:if(TRUE)
isso();else
aquilo();“isso()” sempre será executada, pois “TRUE” sempre é avaliado como verdade, fazendo com que “aquilo()” nunca seja executado.
SwitchUsado quando a decisão depende que uma única variável tenha valores arbitrários:Caso (isto)
seja isso:faça aquilo;pare;
seja isso aqui:faça aquilo alí;pare;
se nenhum desses:faça essa última coisa;pare;
Em C:
switch (isto) {
case isso: aquilo;break;
case isso aqui: aquilo alí;break;
default: essa última coisa;break;
}
Switch• O comando “default” é opcional.• O comando “break” é usado para sair do bloco de
código. Se não for usado, o programa continua a executar a sequência, “invadindo” outro “case” do switch*.
Exemplo:switch (colocação) {
case 1: comemorar();
case 15: chorar();break;
}*: Isso pode ser usado a seu favor, mas atinge a legibilidade do código.
Se “colocação” for “1”, “comemorar()” será executado, e o programa continuará e executará “chorar()”.Se “colocação” não for nenhum dos dois, como não há condição “default”, nada é feito.
Comando Ternário• Serve para decisões pequenas, do tipo:
isto é verdade? Se sim, faça isso. Se não, faça aquilo.• Em C:
isto ? Isso() : aquilo();• Pode ser usado para escolher o lado direito de uma
atribuição.• Usar somente com decisões pequenas, pois pode
dificultar a leitura do código.
Exemplo:“A = b > a ? b : a;”
Dúvidas?
Exercício 1
Escreva um programa que receba dois números e diga se o segundo é multiplo do primeiro.Obs: Considere que o segundo número entrado sempre será maior que o primeiro.
Exemplo:4 12 //EntradaEh multiplo //Saída
Exemplo:2 17 //EntradaNao eh multiplo //Saída
Exercício 2
Escreva um programa que peça do usuário dois números, um representa o dia e o outro o mês. Seu programa deverá avisar ao usuário se este dia é válido para o mês inserido.Obs: Considere fevereiro sempre com 28 dias.Obs2: Os meses também devem ser checados.
Exemplo31 4 //EntradaInvalido //Saida
Exemplo25 2 //EntradaValido //Saída
Exemplo31 15 //EntradaInvalido //Saída
Exercício 3
Escreva um programa que mostre num menu as opções: a)SOMA b)SUBTRAÇÃO c)MULTIPLICAÇÃO d)DIVISÃO e em seguida, receba 2 números e realize a operação de acordo com a opção do usuário. Imprima o resultado na tela.
OBS: usem switch nessa questão
Exemplo:a 20 4 //Entrada24 //Saída
Exemplo:d 20 4 //Entrada5 //Saída