aula 04 - aritméticos, relacionais e lógicos

Upload: alessandro-nazario

Post on 18-Oct-2015

23 views

Category:

Documents


0 download

TRANSCRIPT

  • INTRODUO PROGRAMAO

    Operadores Aritmticos, Relacionais e Lgicos

    Prof. Robson Medeiros

    [email protected]

    Universidade Federal Rural de Pernambuco Departamento de Esta7s8ca e Inform8ca

  • Operadores Em toda linguagem de programao, existem operadores que nos permitem armazenar, modicar, comparar e avaliar dados no computador

    C dene 4 classes de operadores: Aritm8cos Relacionais Lgicos Bit a Bit

    E alguns operadores especiais

  • Operadores::Incremento e decremento Operador de incremento: ++

    Exemplo: x++ (equivalente a x = x + 1); Operador de decremento: --

    Exemplo: x-- (equivalente a x = x 1); Esses operadores podem ser prexados ou suxados:

    No h diferena em operaes simples; H diferena quando eles esto envolvidos em uma atribuio; x = y++ (x recebe o valor de y antes do incremento) x = ++y(x recebe o valor de y aps o incremento)

  • Operadores::Aritm8co Binrios

  • Operadores::Aritm8co Binrios

    Diviso ( / ): O resultado de uma diviso, em C, depende dos 8pos dos dados que esto sendo divididos:

    numerador / denominador resultado

    inteiro / inteiro inteiro

    inteiro/ real real

    real / inteiro real

    real/real real

  • Operadores::Aritm8co Binrios Resto ( % ):

    O operador do resto (%) s pode ser usado quando as variveis envolvidas so do 8po inteiro.

    O operador % no tem nada haver com percentagem

    Exemplo: 1. int x, y, z; 2. x = 10; 3. y = 3; 4. z = x % y; 5. prinb(%d, z); Qual o valor de z?

    Resposta: 1

  • Operadores::Aritm8co Binrios

    Prioridades: Uma questo que devemos tomar bastante cuidado ao montar uma expresso aritm8ca a prioridade dos operadores:

    Exemplo: 2 + 4 * 3 // Resposta: 14 (2 + 4) * 3// Resposta: 18

    Prioridade

    1 Operaes embu8das em parnteses mais internos

    2 % (resto) e/ou * (mul8plicao) e/ou / (diviso)

    3 + (adio) e/ou (subtrao)

  • Operadores::Aritm8cos de Atribuio A linguagem C oferece um conjunto de operadores que uma combinao de operador de atribuio e operador aritm8co

    U8lizado para atribuir o valor do lado direito do operador = para o lado esquerdo Operador Exemplos de Uso Descrio

    += X += 4; Equivale a X = X + 4;

    -= Y -= X; Equivale a Y = Y X;

    *= Z *= W; Equivale a Z = Z * W;

    /= K /= 7; Equivale a K = K / 7;

    %= L %= M; Equivale a L = L % M

  • Operadores::Relacionais

    Realizam comparao entre operandos Menor: < Menor Igual: Maior Igual: >= Igual: == Diferente: !=

    obs: Ao u8lizar operadores relacionais os retornos so verdadeiro ( 0) ou falso (= 0)

  • Operadores::Relacionais Sintaxe: Variavel operador Valor Varivel1 operador varivel2 Variavel operador Expresso Aritm8ca Expresso Aritm8ca operador Expresso Aritm8ca

    Exemplos: X == 10 X > Y X < Y + Z X * Y > Z / W

  • Operadores::Lgicos

    Realizam comparao entre operandos retornando verdadeiro ou falso E: && Ou: || No: !

  • Operadores::Lgicos Exemplo: (media >= 7.0) && (faltas < 15) (A < 5) && (B != 5) (X > 10) && (Y > 50) && (Z < 25) (Aprovado_Ves8bular == S) || (Portador_Diploma == S)

    (A < 3) || (B < 2) (X < 12) || (Y > 1) || (Z < 35) !(X < 12) !(Y == 10)

  • Operadores::Prioridades

    Prioridades: Prioridade Operador

    1 Operaes embu8das em parnteses mais internos;

    2 Resto e/ou mul8plicao e/ou diviso;

    3 Adio e/ou Subtrao;

    4 Operadores Relacionais;

    5 Operadores Lgicos.

  • Operadores::Condicional

    O operador ternrio tem a seguinte forma geral: Exp1 ? Exp2 : Exp3

    Caso a expresso Exp1 seja verdadeira, ento a expresso Exp2 avaliada, seno a Exp3 ser. Ex.: x =10; y = x >9 ? 100 : 200;

  • Operadores::Cast

    Cast u8lizado para que uma expresso seja de um determinado 8po Ex.: int x = 4; (oat) x /2;

  • Operadores::sizeof

    O operador sizeof um operador unrio que retorna o tamanho em bytes de uma varivel. Ex.: oat f; prinb(%f, sizeof f);

  • Tipos de Dados

    Tipo Tamanho em Bytes Faixa Mnima

    char 1 -128 a 127

    unsigned char 1 0 a 255

    int 4 -2.147.483.648 a 2.147.483.647

    unsigned int 4 0 a 4.294.967.295

    short int 2 -32.768 a 32.767

    unsigned short int 2 0 a 65.535

    oat 4 Seis dgitos de preciso

    double 8 Dez dgitos de preciso

    long double 10 Dez dgitos de preciso

  • Converso implcita de 8pos

    O que fazer para mostrar como double o valor de ch/i?

    (double) i/ch

  • FUNES MATEMTICAS (BIBLIOTECA MATH.H)

  • Funes Matem8cas (math.h)

    Conjunto de funes matem8cas; Devemos incluir a biblioteca matem8ca math.h: #include

  • Funes Matem8cas (math.h)

    Principais funes:

    Funo Descrio Exemplos de uso

    sqrt -Funo para encontrar a raiz quadrada de um nmero

    R = sqrt(16); R = sqrt(A);

    pow Funo para encontrar a potncia de um nmero, ou seja, eleva um nmero a um expoente: A B

    P = pow(3,4); P = pow(A, 3);

    ceil A funo ceil serve para arredondar um nmero real para cima

    Z = ceil(1.67); Z = ceil(Z);

    oor A funo oor serve para arredondar um nmero real para baixo

    Z = oor(1.67); Z = oor(Z);

  • DVIDAS?