Aula 9 – Resultado de Operandos
   Matemáticos, Operadores
      Relacionais e Lógicos
   Prof. André Constantino da Silva
           LOGT1 – Lógica
               Noturno


             11 de maio de 2012
Na aula anterior...

• Variáveis

• Tipos de Dados
     - Inteiro
     - Real
     - Caractere
     - Lógico
• Operadores
    - Atribuição
    - Matemáticos
• Exercícios para entregar
Dúvidas?
1. Escreva um algoritmo que leia um número
inteiro do usuário e calcule y, sendo que y é
calculado pela fórmula
                      y = 2x
2. Escrever um algoritmo que leia um número
inteiro digitado pelo usuário e informe ao
usuário se ele é par ou ímpar
3. Escrever um algoritmo que leia o nome de
um aluno e as notas das três provas que ele
obteve no semestre. No final informar o nome
do aluno e a sua média (aritmética).
Operadores Matemáticos (Revisão)
 Símbolo        Ação           Exemplo

   +            Soma         Soma <- 5 + 2

    -         Subtração      Sub <- 5 – 2

    *        Multiplicação     M <- 5 * 2

                 ?              52

  MOD             ?            5 MOD 2

    /             ?              5/2

    ^             ?              5^2
Operadores Matemáticos (Revisão)
 Símbolo        Ação            Exemplo

   +            Soma          Soma <- 5 + 2

    -         Subtração        Sub <- 5 – 2

    *        Multiplicação      M <- 5 * 2

           Divisão Inteira        52
                              Cuidado para
  MOD      Resto da divisão     5 MOD 2
                              Cuidado para não
                                    não
                                  confundir!
    /          Divisão         confundir!
                                   5/2

    ^        Potenciação          5^2
Na aula de hoje...

• Resultados dos operadores matemáticos

• Operadores
    - Relacionais
    - Lógicos


• Comando de Decisão Múltipla
Operadores Matemáticos

• Operadores: +, - e *
      - O resultado dependerá dos operandos
      - Se os operandos forem inteiros, resultado
será inteiro
      - Se houver algum operando real, resultado
será real



     Observação: Se o resultado for inteiro, ele
pode ser atribuído a uma variável do tipo real
Exemplos
algoritmo "calculos"
var
  a, b          : inteiro
  x, y           : real     Qual deverá ser
inicio                          o tipo das
       a <- 6               variáveis c, d, w,
       b <- 12
       x <- 5.5                      z?
       y <- 8
       c <- b + a
       z <- a * b + 4
       d <- a * x
       w <- b – a + y
fimalgoritmo
Exemplos - Resposta
algoritmo "calculos"
var
  a, b, c, z         : inteiro
  x, y, d , y        : real
inicio
       a <- 6
       b <- 12
       x <- 5.5
       y <- 8
       c <- b + a
       z <- a * b + 4
       d <- a * x
       w <- b – a + y
fimalgoritmo
Operadores Matemáticos

• Para o operador /
    - Resultado sempre real


• Para os operadores  e mod
     - somente operandos inteiros
     - resultado é inteiro, mas pode ser atribuído a
uma variável do tipo real

• Para o operador ^
    - Resultado sempre real
Exemplos
algoritmo "calculos"
var
  a, b          : inteiro
  x, y           : real
inicio                      Qual deverá ser
       a <- 6                   o tipo das
       b <- 12              variáveis c, d, w,
       x <- 5.5
       y <- 8                    z, p, r?
       c <- b / a
       z <- b + x
       w <- b mod a
       d <- a  x
       p <- x ^ x
       r <- (x ^ 2) mod a
fimalgoritmo
Exemplos - Resposta
algoritmo "calculos"
var
  a, b, w           : inteiro
  x, y, c, z, p          : real
inicio
        a <- 6
        b <- 12
        x <- 5.5
        y <- 8
        c <- b / a
        z <- b + x
        w <- b mod a
        d <- a  x /* erro de compilação. X é real! */
        p <- x ^ x
        r <- (x ^ 2) mod a /* erro de compilação. X é real! */
fimalgoritmo
Qual o problema?
Considere que a nota só pode ser um inteiro de 0 a 10

algoritmo "media semestre"
var
  nota1, nota2, nota3, soma, media: inteiro
inicio
     escreva("Digite a primeira nota do aluno: ")
     leia(nota1)
     escreva("Digite a segunda nota do aluno: ")
     leia(nota2)
     escreva("Digite a terceira nota do aluno: ")
     leia(nota3)
     soma <- nota1 + nota2 + nota3
     media <- soma / 3
     escreva("A média do aluno é: ", media)
fimalgoritmo
Qual o problema? - Resposta
    Considere que a nota só pode ser um inteiro de 0 a 10

algoritmo "media semestre"
var
  nota1, nota2, nota3, soma: inteiro
  media: real
inicio
     escreva("Digite a primeira nota do aluno: ")
     leia(nota1)
     escreva("Digite a segunda nota do aluno: ")
     leia(nota2)
     escreva("Digite a terceira nota do aluno: ")
     leia(nota3)
     soma <- nota1 + nota2 + nota3
     media <- soma / 3
     escreva("A média do aluno é: ", media)
fimalgoritmo
Operadores Relacionais

Símbolo          Ação         Exemplo   Resutado

  =              Igual         2=3        Falso

  >              Maior         5>2      Verdadeiro

  <              Menor         5<2        Falso

  >=         Maior ou igual    3 >= 3   Verdadeiro

  <=         Menor ou igual    2 <= 3   Verdadeiro

  <>           diferente       5 <> 7   Verdadeiro
Operadores Relacionais

• O resultado de um operador
  relacional sempre será um valor
  lógico (verdadeiro ou falso)
Exercícios
1. Faça um algoritmo que receba um número e
mostre uma mensagem caso este número seja
maior ou igual a 10.
2. Escrever um algoritmo que leia dois valores
inteiros distintos e informe qual é o maior.
3. Faça um algoritmo que leia dois números e
identifique se são iguais ou diferentes. Caso
eles sejam iguais imprima uma mensagem
dizendo que eles são iguais. Caso sejam
diferentes, informe qual número é o maior, e
uma mensagem que são diferentes.
Operadores Lógicos


Símbolo      Ação      Exemplo        Resutado

  ou        Escolhe   7>5e2>5           Falso

   e         Une      5> 7 ou 2 > 5   Verdadeiro

  nao        Nega      nao (5 > 2)      Falso
Operadores Lógicos

• O resultado de um operador lógico ou
  expressão lógica sempre será um valor
  lógico (verdadeiro ou falso)
Exercícios
1. Faça um algoritmo que receba um número e
diga se este número está no intervalo entre
100 e 200.
2. Faça um algoritmo que leia um número e
emita as seguintes mensagens para os
seguintes casos
     Condição               Mensagem a exibir
     De 1 a 9               Um dígito
     Entre 10 e 99          Dois dígitos
     Entre 100 e 999        Três digítos
     Entre 1.000 e 9999     Quatro dígitos
     Maior que 10.000       Cinco ou mais dígitos
Esse algoritmo executa?
algoritmo "calculos"
var
  condicao: logico
  a, b: inteiro
inicio
     leia(a)
     leia(b)
     condicao <- (a = b)
     se (condicao) entao
         escreva("Os dois numeros sao iguais")
     senao
         escreva("Os dois numeros sao diferentes")
     fimse
fimalgoritmo
Esse algoritmo executa?
algoritmo "calculos"
var
  condicao: logico
  a, b: inteiro
inicio                             Parte
     leia(a)                     duvidosa!
     leia(b)
     condicao <- (a = b)
     se (condicao) entao
         escreva("Os dois numeros sao iguais")
     senao
         escreva("Os dois numeros sao diferentes")
     fimse
fimalgoritmo
Esse algoritmo executa?
algoritmo "calculos"
var
  condicao: logico
  a, b: inteiro                     Mas
inicio
     leia(a)                     funciona!
     leia(b)                       Teste!
     condicao <- (a = b)
     se (condicao) entao
         escreva("Os dois numeros sao iguais")
     senao
         escreva("Os dois numeros sao diferentes")
     fimse
fimalgoritmo
O que é o “se-senao” e “se-
      senao-entao”?
Cuidado!
“Se-senao” e “se-senao-entao” não
existem em portugol!
As instruções são:
     - se-entao
     - se-entao-senao
São os comandos de decisão simples
e duplas, também conhecidos como
desvios condicionais
Próxima aula...

• Comando de Decisão Múltipla
• Comandos de Repetição

Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais e Lógicos

  • 1.
    Aula 9 –Resultado de Operandos Matemáticos, Operadores Relacionais e Lógicos Prof. André Constantino da Silva LOGT1 – Lógica Noturno 11 de maio de 2012
  • 2.
    Na aula anterior... •Variáveis • Tipos de Dados - Inteiro - Real - Caractere - Lógico • Operadores - Atribuição - Matemáticos • Exercícios para entregar
  • 3.
    Dúvidas? 1. Escreva umalgoritmo que leia um número inteiro do usuário e calcule y, sendo que y é calculado pela fórmula y = 2x 2. Escrever um algoritmo que leia um número inteiro digitado pelo usuário e informe ao usuário se ele é par ou ímpar 3. Escrever um algoritmo que leia o nome de um aluno e as notas das três provas que ele obteve no semestre. No final informar o nome do aluno e a sua média (aritmética).
  • 4.
    Operadores Matemáticos (Revisão) Símbolo Ação Exemplo + Soma Soma <- 5 + 2 - Subtração Sub <- 5 – 2 * Multiplicação M <- 5 * 2 ? 52 MOD ? 5 MOD 2 / ? 5/2 ^ ? 5^2
  • 5.
    Operadores Matemáticos (Revisão) Símbolo Ação Exemplo + Soma Soma <- 5 + 2 - Subtração Sub <- 5 – 2 * Multiplicação M <- 5 * 2 Divisão Inteira 52 Cuidado para MOD Resto da divisão 5 MOD 2 Cuidado para não não confundir! / Divisão confundir! 5/2 ^ Potenciação 5^2
  • 6.
    Na aula dehoje... • Resultados dos operadores matemáticos • Operadores - Relacionais - Lógicos • Comando de Decisão Múltipla
  • 7.
    Operadores Matemáticos • Operadores:+, - e * - O resultado dependerá dos operandos - Se os operandos forem inteiros, resultado será inteiro - Se houver algum operando real, resultado será real Observação: Se o resultado for inteiro, ele pode ser atribuído a uma variável do tipo real
  • 8.
    Exemplos algoritmo "calculos" var a, b : inteiro x, y : real Qual deverá ser inicio o tipo das a <- 6 variáveis c, d, w, b <- 12 x <- 5.5 z? y <- 8 c <- b + a z <- a * b + 4 d <- a * x w <- b – a + y fimalgoritmo
  • 9.
    Exemplos - Resposta algoritmo"calculos" var a, b, c, z : inteiro x, y, d , y : real inicio a <- 6 b <- 12 x <- 5.5 y <- 8 c <- b + a z <- a * b + 4 d <- a * x w <- b – a + y fimalgoritmo
  • 10.
    Operadores Matemáticos • Parao operador / - Resultado sempre real • Para os operadores e mod - somente operandos inteiros - resultado é inteiro, mas pode ser atribuído a uma variável do tipo real • Para o operador ^ - Resultado sempre real
  • 11.
    Exemplos algoritmo "calculos" var a, b : inteiro x, y : real inicio Qual deverá ser a <- 6 o tipo das b <- 12 variáveis c, d, w, x <- 5.5 y <- 8 z, p, r? c <- b / a z <- b + x w <- b mod a d <- a x p <- x ^ x r <- (x ^ 2) mod a fimalgoritmo
  • 12.
    Exemplos - Resposta algoritmo"calculos" var a, b, w : inteiro x, y, c, z, p : real inicio a <- 6 b <- 12 x <- 5.5 y <- 8 c <- b / a z <- b + x w <- b mod a d <- a x /* erro de compilação. X é real! */ p <- x ^ x r <- (x ^ 2) mod a /* erro de compilação. X é real! */ fimalgoritmo
  • 13.
    Qual o problema? Considereque a nota só pode ser um inteiro de 0 a 10 algoritmo "media semestre" var nota1, nota2, nota3, soma, media: inteiro inicio escreva("Digite a primeira nota do aluno: ") leia(nota1) escreva("Digite a segunda nota do aluno: ") leia(nota2) escreva("Digite a terceira nota do aluno: ") leia(nota3) soma <- nota1 + nota2 + nota3 media <- soma / 3 escreva("A média do aluno é: ", media) fimalgoritmo
  • 14.
    Qual o problema?- Resposta Considere que a nota só pode ser um inteiro de 0 a 10 algoritmo "media semestre" var nota1, nota2, nota3, soma: inteiro media: real inicio escreva("Digite a primeira nota do aluno: ") leia(nota1) escreva("Digite a segunda nota do aluno: ") leia(nota2) escreva("Digite a terceira nota do aluno: ") leia(nota3) soma <- nota1 + nota2 + nota3 media <- soma / 3 escreva("A média do aluno é: ", media) fimalgoritmo
  • 15.
    Operadores Relacionais Símbolo Ação Exemplo Resutado = Igual 2=3 Falso > Maior 5>2 Verdadeiro < Menor 5<2 Falso >= Maior ou igual 3 >= 3 Verdadeiro <= Menor ou igual 2 <= 3 Verdadeiro <> diferente 5 <> 7 Verdadeiro
  • 16.
    Operadores Relacionais • Oresultado de um operador relacional sempre será um valor lógico (verdadeiro ou falso)
  • 17.
    Exercícios 1. Faça umalgoritmo que receba um número e mostre uma mensagem caso este número seja maior ou igual a 10. 2. Escrever um algoritmo que leia dois valores inteiros distintos e informe qual é o maior. 3. Faça um algoritmo que leia dois números e identifique se são iguais ou diferentes. Caso eles sejam iguais imprima uma mensagem dizendo que eles são iguais. Caso sejam diferentes, informe qual número é o maior, e uma mensagem que são diferentes.
  • 18.
    Operadores Lógicos Símbolo Ação Exemplo Resutado ou Escolhe 7>5e2>5 Falso e Une 5> 7 ou 2 > 5 Verdadeiro nao Nega nao (5 > 2) Falso
  • 19.
    Operadores Lógicos • Oresultado de um operador lógico ou expressão lógica sempre será um valor lógico (verdadeiro ou falso)
  • 20.
    Exercícios 1. Faça umalgoritmo que receba um número e diga se este número está no intervalo entre 100 e 200. 2. Faça um algoritmo que leia um número e emita as seguintes mensagens para os seguintes casos Condição Mensagem a exibir De 1 a 9 Um dígito Entre 10 e 99 Dois dígitos Entre 100 e 999 Três digítos Entre 1.000 e 9999 Quatro dígitos Maior que 10.000 Cinco ou mais dígitos
  • 21.
    Esse algoritmo executa? algoritmo"calculos" var condicao: logico a, b: inteiro inicio leia(a) leia(b) condicao <- (a = b) se (condicao) entao escreva("Os dois numeros sao iguais") senao escreva("Os dois numeros sao diferentes") fimse fimalgoritmo
  • 22.
    Esse algoritmo executa? algoritmo"calculos" var condicao: logico a, b: inteiro inicio Parte leia(a) duvidosa! leia(b) condicao <- (a = b) se (condicao) entao escreva("Os dois numeros sao iguais") senao escreva("Os dois numeros sao diferentes") fimse fimalgoritmo
  • 23.
    Esse algoritmo executa? algoritmo"calculos" var condicao: logico a, b: inteiro Mas inicio leia(a) funciona! leia(b) Teste! condicao <- (a = b) se (condicao) entao escreva("Os dois numeros sao iguais") senao escreva("Os dois numeros sao diferentes") fimse fimalgoritmo
  • 24.
    O que éo “se-senao” e “se- senao-entao”?
  • 25.
    Cuidado! “Se-senao” e “se-senao-entao”não existem em portugol! As instruções são: - se-entao - se-entao-senao São os comandos de decisão simples e duplas, também conhecidos como desvios condicionais
  • 26.
    Próxima aula... • Comandode Decisão Múltipla • Comandos de Repetição