Buscar

[Prof. Emiliana]aula04

Prévia do material em texto

Estrutura Condicional
Programação de Computadores I
Emiliana Mara Lopes Simões
simoes.eml@gmail.com
Universidade Federal de Ouro Preto
agosto 2009
Operadores de Atribuição
Operador Exemplo Descrição
= x = y Atribui o valor de y a x
+= x += y Equivale a: x = x + y
−= x −= y Equivale a: x = x − y
∗ = x ∗ = y Equivale a: x = x ∗ y
/= x /= y Equivale a: x = x / y
%= x %= y Equivale a: x = x % y
Operadores de Incremento e Decremento
++ (incrementa em 1)
−− (decrementa em 1)
Podem ser:
pré-fixado (incrementa/decrementa o valor da variável e
depois usa): ++a e −−a
pós-fixado (usa primeiro o valor da variável e depois
incrementa/decrementa): a++ e a−−
Funções Matemáticas
Biblioteca matemática: cmath
Função Exemplo Descrição
ceil( x ) ceil( 9.2 ) é 10.0 Arredonda o número real para cima
exp( x ) exp( 1.0 ) é 2.71828 função exponencial ex
fabs( x ) fabs( -3 ) é 3 Valor absoluto de x
floor( x ) floor( 9.2 ) é 9.0 Arredonda o número real para baixo
fmod( x, y ) fmod(3.2, 2) é 1.2 Resto da divisão de x por y (real)
log( x ) log( 2.718282 ) é 1.0 Logaritmo natural de x (base e)
Funções Matemáticas
Biblioteca matemática: cmath
Função Exemplo Descrição
log10( x ) log10( 100.0 ) é 2.0 Logaritmo de x (base 10)
pow( x, y ) pow( 2, 3 ) é 8 Cosseno de x (x em radianos)
sqrt( x ) sqrt( 9.0 ) é 3.0 Raiz quadrada de x
cos( x ) cos( 0.0 ) é 1.0 Cosseno de x (x em radianos)
sin( x ) sin( 0.0 ) é 0 Seno de x (x em radianos)
tan( x ) tan( 0.0 ) é 0 Tangente de x (x em radianos)
Estrutura Condicional
Comandos de decisão ou desvio fazem parte das técnicas de
programação, para construir estruturas de algoritmos que não
são totalmente seqüenciais
Com as instruções de desvio pode-se fazer com que o
algoritmo proceda de uma ou outra maneira, de acordo com as
decisões tomadas em função dos dados ou resultados
anteriores
Exemplo 1
Dadas as duas notas de um aluno, se a média for maior que ou
igual a 6,0 imprimir “Aprovado”
Exemplo 1
Dadas as duas notas de um aluno, se a média for maior que ou
igual a 6,0 imprimir “Aprovado”
Comandos de decisão - if
O comando if serve para alterar o fluxo de execução de um
programa baseado no valor, verdadeiro ou falso, de uma
expressão lógica
Estrutura geral:
if(<condição>)
<comando>;
condição é uma expressão lógica que retorna o valor verdadeiro
ou falso
comando é o comando a ser executado se a condição for
verdadeira
Exemplo 1
Dadas as duas notas de um aluno, se a média for maior que ou
igual a 6,0 imprimir “Aprovado”
PROGRAMA C++ NO QUADRO
Exemplo 2
Dadas as duas notas de um aluno, se a média for maior que ou
igual a 6,0 imprimir “Aprovado” senão imprimir “Reprovado”
Comandos de decisão - if ... else
if...else permite especificar uma ação quando uma condição for
verdadeira (true) e outra quando a condição for falsa (false)
Estrutura geral:
if(<condição>)
<comando1>;
else
<comando2>;
Exemplo 2
Dadas as duas notas de um aluno, se a média for maior que ou
igual a 6,0 imprimir “Aprovado” senão imprimir “Reprovado”
PROGRAMA C++ NO QUADRO
Bloco de Comandos
Para incluir mais de uma instrução no corpo do if ou do else
estas instruções devem ser colocadas entre chaves ({ e })
Um conjunto de instruções entre um par de chaves é chamado
de um bloco de programa
Um bloco pode ser colocado em um programa nos mesmos
lugares que uma única instrução pode aparecer
Bloco de Comandos
Estrutura geral:
if(<condição>){
<comando1>;
<comando2>;
<comando3>;
}
else{
<comando4>;
<comando5>;
<comando6>;
}
Bloco de Comandos
Os comandos comando1, comando2 e comando3 somente
serão executados se a condição for satisfeita
Caso contrário os comandos comando4, comando5 e
comando6 que serão executados
Exemplo 3
Dado um número, se ele for par mostrar a mensagem “Numero
par” e calcular o seu quadrado. Senão, mostrar a mensagem
“Numero impar” e calcular o seu cubo.
Exemplo 3
main ( ){
int num;
cout<<“Inserir numero”;
cin>>num;
if (num % 2 == 0){//início do bloco do if
cout<<“Numero par”<<endl;
cout<<num*num<<endl;
}//fim do bloco do if
else{//início do bloco do else
cout<<“Numero impar”<<endl;
cout<<num*num*num<<endl;
}//fim do bloco do else
system(“pause”);
}
Aninhamento de ifs
Testa múltiplos casos, colocando if...else dentro de if...else
Estrutura geral:
if(<condição1>)
if(<condição2>)
<comando1>;
else
<comando2>;
else
<comando3>;
Aninhamento de ifs
O comando1 somente será executado se as condições
condição1 e condição2 forem verdadeiras;
O comando2 somente será executado se a condição
condição1 for verdadeira e a condição2 for falsa;
O comando3 somente será executado se a condição
condição1 for falsa.
Podem existir vários níveis de aninhamento
O compilador C++ associa o else sempre ao if que
imediatamente o precede se não forem colocadas chaves para
determinar outro tipo de associação
Exemplo 4
Mostrar se um número par é divisível por 3
main ( ){
int num;
cout<<“Inserir numero”;
cin>>num;
if (num % 2 == 0)
if (num % 3 == 0)
cout<<“Numero par e divisivel por 3”<<endl;
else
cout<<“Numero par e nao divisivel por 3”<<endl;
else
cout<<“Numero impar”<<endl;
system(“pause”);
}
Operadores Relacionais
Operador Exemplo Descrição
== x == y O conteúdo de x é igual ao de y
!= x != y O conteúdo de x é diferente do de y
<= x <= y O conteúdo de x é menor ou igual ao de y
>= x >= y O conteúdo de x é maior ou igual ao de y
< x < y O conteúdo de x é menor que o de y
> x > y O conteúdo de x é maior que o de y
As expressões relacionais em C++ retornam true ou false
Operadores Lógicos
&& (E lógico): Retorna verdadeiro se ambos os operandos
são verdadeiros e falso nos demais casos
|| (OU lógico): Retorna verdadeiro se um ou ambos os
operandos são verdadeiros e falso se ambos são falsos
! (NÃO lógico): Usada com apenas um operando. Retorna
verdadeiro se o operando é falso e vice-versa
Exemplo 5
Verificar se um valor x está entre os valores 0 e 10
O certo
if(0 < x && x < 10)
cout<<“Valor entre 0 e 10”;
Erro comum
if(0 < x < 10)
cout<<“Valor entre 0 e 10”;
Exemplo 6
Pessoa com idade inferior a 5 anos ou superior a 60 anos
recebe tratamento diferenciado. Dada a idade da pessoa
verificar se deve haver um tratamento diferenciado.
O certo
if(idade < 5 || idade > 60)
cout<<“Tratamento diferenciado”;
Exemplo 7
As coisas se inverteram... Agora uma pessoa com idade
inferior a 5 anos ou superior a 60 anos não recebe tratamento
diferenciado, as demais sim!!!!
O certo
if(!(idade < 5 || idade > 60))
cout<<“Tratamento diferenciado”;

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes