Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
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”;