Este documento resume uma aula sobre operadores matemáticos, relacionais e lógicos na linguagem de programação. Apresenta exemplos de uso desses operadores e exercícios propostos para os alunos.
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 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).
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 de hoje...
• 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
• 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
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?
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
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
• O resultado de um operador
relacional sempre será um valor
lógico (verdadeiro ou falso)
17. 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.
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
• O resultado 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 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
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
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