aula prática 2 operadores e expressões comandos de decisão comentários monitoria de introdução...

Download Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Post on 22-Apr-2015

103 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Aula prtica 2 Operadores e Expresses Comandos de Deciso Comentrios Monitoria de Introduo Programao
  • Slide 2
  • Roteiro Expresses Expresses Operadores Operadores Precedncia Precedncia Comandos de Deciso Comandos de Deciso If else if else Switch Condio Ternria Condio Ternria Comentrios Comentrios Dvidas Dvidas Exerccios Exerccios
  • Slide 3
  • Expresses Combinao de Operadores e operandos, que representa um clculo. Combinao de Operadores e operandos, que representa um clculo. avaliada seguindo regras de Precedncia. avaliada seguindo regras de Precedncia. Exemplo: a = b + c i = i + 3 Anos = Dias / 365.25
  • Slide 4
  • Operadores Aritmticos Representam clculos matemticos, operando sobre os tipos integrais e de ponto flutuante: Representam clculos matemticos, operando sobre os tipos integrais e de ponto flutuante: 1. int, short, long, long long, char, etc. 2. float, double long double, etc. OperadorAo InteirosAo Float +Adio -Subtrao ++Incremento por 1 --Decremento por 1 *Multiplicao /Diviso com restoDiviso real %Resto de DivisoErro de compilao =Atribuio
  • Slide 5
  • Operadores Aritmticos Adio e Subtrao Adio e Subtrao Operaes binrias. So avaliadas como a soma/subtrao dos dois operandos. Exemplo: a + b 1 + 1 5 4 50 8
  • Slide 6
  • Operadores Aritmticos Incremento e Decremento Incremento e Decremento Operaes unrias. So avaliadas como o valor do operador e modificam esse operador. Deve ser tomado cuidado com a ordem em que so usados: Se usado prefixado, o operador modificado ANTES da operao ser avaliada. Se usado ps-fixado, o operador modificado DEPOIS. ++x ser avaliado como x + 1, e x ser igual a x + 1 x++ ser avaliado como x, e x ser igual a x + 1
  • Slide 7
  • Operadores Aritmticos Multiplicao e Diviso Multiplicao e Diviso Operaes binrias. So avaliadas como a multiplicao/diviso dos operandos. Com tipos integrais, a diviso tem resto. Com tipos de ponto flutuante, no. Exemplo: 6/4 (avaliado como 1) 3.2/2 (avaliado como 1.6)
  • Slide 8
  • Operadores Aritmticos Mdulo Mdulo Operao binria avaliado como o resto da diviso integral dos operandos. Com tipos integrais, tem valor integral. No existe para tipos de ponto flutuante. Exemplo: 6 % 2 (avaliado como 0) 19 % 3 (avaliado como 1)
  • Slide 9
  • Operadores Aritmticos Atribuio Atribuio Operao binria O operando da esquerda modificado para o valor do operando da direita. Exemplo: var = 2 i = 0 tentativas = 40 a = b + c
  • Slide 10
  • Operadores Aritmticos Atribuio Atribuio Podem ser abreviadas as atribuies que tem direita uma expresso que contm o operando da esquerda. A abreviao fica na forma variavel operador= expresso Exemplo: A += B (idntica a A = A + B) i += 1 (i = i + 1) cota /= 2 (cota = cota / 2)
  • Slide 11
  • Operadores Relacionais Representam Relaes binrias sobre nmeros, avaliadas como Verdadeiro ou Falso* Representam Relaes binrias sobre nmeros, avaliadas como Verdadeiro ou Falso* *: Em C, Falso representado pelo valor numrico 0, e Verdadeiro por um outro valor qualquer. Existem as constantes TRUE e FALSE para esses valores. OperadorRelao >Maior-que >=Maior-ou-igual-a
  • Operadores Aritmticos >, >=,, >=, < e 4 (Falso) 5 >= -1 (Verdade) i < 100 (Depende de i)
  • Slide 13
  • Operadores Aritmticos == e != == e != Operaes binrias Avaliam se os operandos so iguais ou diferentes. Exemplo: A == B (Depende das variveis) i != 0 (Depende de i) 5 != 7 (Verdade) 200 == 3 (Falso)
  • Slide 14
  • Operadores Lgicos Operam sobre valores Verdadeiro ou Falso, e so avaliados tambm como Verdadeiro ou Falso. Operam sobre valores Verdadeiro ou Falso, e so avaliados tambm como Verdadeiro ou Falso. E (AND) ser Verdade se os dois operandos forem Verdade. E (AND) ser Verdade se os dois operandos forem Verdade. OU (OR), se algum dos dois forem Verdade. OU (OR), se algum dos dois forem Verdade. NO (NOT), se o operando for Falso. NO (NOT), se o operando for Falso.Exemplo: A && B (Depende de A e B) !FALSE (Verdade) OperadorRelao &&E (AND) ||OU (OR) !NO (NOT)
  • Slide 15
  • Precedncia Ao ser avaliadas, as Expresses seguem uma sequncia estabelecida para avaliar cada sub-expresso. Ao ser avaliadas, as Expresses seguem uma sequncia estabelecida para avaliar cada sub-expresso. Essa sequncia serve para eliminar ambiguidades na avaliao de expresses. Essa sequncia serve para eliminar ambiguidades na avaliao de expresses. Exemplo: A + B * C (B * C Ser avaliado primeiro) rodas = carros * 4 + bicicletas * 4 (as multiplicaes sero avaliadas, depois a soma, e por ultimo a atribuio)
  • Slide 16
  • Precedncia Sequncia Sequncia Avaliados AntesDesempate var++ var-- () []. ->Esquerda para Direita ++var --var + - ! ~ (cast) * &Direita para Esquerda * / %Esquerda para Direita + -Esquerda para Direita >=Esquerda para Direita == !=Esquerda para Direita &&Esquerda para Direita ||Esquerda para Direita Condio Ternria ( c?t:f)Direita para Esquerda Atribuies ( =, +=, etc.)Direita para Esquerda Avaliados Depois
  • Slide 17
  • Comandos de Deciso Usados para definir o que deve ser feito, levando em conta condies definidas pelo programador. Usados para definir o que deve ser feito, levando em conta condies definidas pelo programador. Existem 3 tipos: Existem 3 tipos: If Else if Else. Switches. Condio ternria. Cada um melhor para um tipo de tarefa. Cada um melhor para um tipo de tarefa.
  • Slide 18
  • If Else if - Else Funciona na forma: Funciona na forma: Se (isto) verdade faa aquilo; Se no , e (isso) verdade, faa aquela outra coisa; Se no , e (isso aqui) verdade, faa essa coisa aqui; Se nenhum, faa essa ltima coisa; Em C: Em C: if (isto) aquilo; else if (isso) aquela outra coisa; aquela outra coisa; else if (isso aqui) essa coisa aqui; essa coisa aqui;else essa ltima coisa; essa ltima coisa;
  • Slide 19
  • If Else if - Else Se for necessrio executar mais de um comando, podem ser usadas chaves { }: Se for necessrio executar mais de um comando, podem ser usadas chaves { }: if(a > b) { isso(); aquilo(); }else{ outra_coisa(); a++; }
  • Slide 20
  • If Else if - Else As condies else if e else so opcionais. As condies else if e else so opcionais. Apenas um dos blocos de comandos ser executado. Se uma das condies for verdade, as seguintes sero ignoradas. Apenas um dos blocos de comandos ser executado. Se uma das condies for verdade, as seguintes sero ignoradas.Exemplo: if(TRUE) isso(); else aquilo(); isso() sempre ser executada, pois TRUE sempre avaliado como verdade, fazendo com que aquilo() nunca seja executado.
  • Slide 21
  • Switch Usado quando a deciso depende que uma nica varivel tenha valores arbitrrios: Usado quando a deciso depende que uma nica varivel tenha valores arbitrrios: Caso (isto) seja isso: faa aquilo; pare; seja isso aqui: faa aquilo al; pare; se nenhum desses: faa essa ltima coisa; pare; Em C: Em C: switch (isto) { case isso: aquilo; aquilo;break; case isso aqui: aquilo al; aquilo al;break;default: essa ltima coisa; essa ltima coisa;break}
  • Slide 22
  • Switch O comando default opcional. O comando default opcional. O comando break usado para sair do bloco de cdigo. Se no for usado, o programa continua a executar a sequncia, invadindo outro case do switch*. O comando break usado para sair do bloco de cdigo. Se no for usado, o programa continua a executar a sequncia, invadindo outro case do switch*.Exemplo: switch (colocao) { case 1: comemorar(); comemorar(); case 15: chorar(); chorar();break;} *: Isso pode ser usado a seu favor, mas atinge a legibilidade do cdigo. Se colocao for 1, comemorar() ser executado, e o programa continuar e executar chorar(). Se colocao no for nenhum dos dois, como no h condio default, nada feito.
  • Slide 23
  • Comando Ternrio Serve para decises pequenas, do tipo: Serve para decises pequenas, do tipo: isto verdade? Faa isso. Se no, faa aquilo. Em C: Em C: isto ? Isso() : aquilo(); Pode ser usado para escolher o lado direito de uma atribuio. Pode ser usado para escolher o lado direito de uma atribuio. Usar somente com decises pequenas, pois pode dificultar a leitura do cdigo. Usar somente com decises pequenas, pois pode dificultar a leitura do cdigo.Exemplo: A = b > a ? b : a; i > j ? i /= j : j /= i;
  • Slide 24
  • Comentrios Servem para anotar coisas relevantes ao cdigo, de forma a explicar certos trechos de cdigo ou deixar informao relevante. Servem para anotar coisas relevantes ao cdigo, de forma a explicar certos trechos de cdigo ou deixar informao relevante. So ignorados pelo compilador, no afetando de forma alguma no programa compilado. So ignorados pelo compilador, no afetando de forma alguma no programa compilado. So extremamente importantes em projetos maiores, onde colegas, supervisores ou at voc mesmo podem esquecer os detalhes daquela implementao especfica. So extremamente importantes em projetos maiores, onde colegas, supervisores ou at voc mesmo podem esquecer os detalhes daquela implementao especfica.
  • Slide 25
  • Comentrios Em C existem dois tipos: Em C existem dois tipos: Em linha: Assinalado por //. Tudo na linha aps // ignorado. Exemplo: If (a > b) //se isso for verdade, isso(); // faz isso, Else // se no, algo deu errado, avisa(); //um aviso ser dado Em bloco: Assinalado por /* e */ Tudo entre /* e */ ignorado. /* essa funo faz isso e aquilo, E dev