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
Jul 01, 2015
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
\ ? 5 \ 2
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 5 \ 2
MOD Resto da divisão 5 MOD 2
/ Divisão 5 / 2
^ Potenciação 5 ^ 2
Cuidado para não
confundir!
Cuidado para não
confundir!
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 : inteirox, y : real
inicioa <- 6b <- 12x <- 5.5y <- 8c <- b + az <- a * b + 4d <- a * xw <- b – a + y
fimalgoritmo
Qual deverá ser
o tipo das
variáveis c, d, w,
z?
Exemplos - Resposta
algoritmo "calculos"var
a, b, c, z : inteirox, y, d , y : real
inicioa <- 6b <- 12x <- 5.5y <- 8c <- b + az <- a * b + 4d <- a * xw <- 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 : inteirox, y : real
inicioa <- 6b <- 12x <- 5.5y <- 8c <- b / az <- b + xw <- b mod ad <- a \ xp <- x ^ xr <- (x ^ 2) mod a
fimalgoritmo
Qual deverá ser
o tipo das
variáveis c, d, w,
z, p, r?
Exemplos - Resposta
algoritmo "calculos"var
a, b, w : inteirox, y, c, z, p : real
inicioa <- 6b <- 12x <- 5.5y <- 8c <- b / az <- b + xw <- b mod ad <- a \ x /* erro de compilação. X é real! */p <- x ^ xr <- (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: inteiroinicio
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 + nota3media <- soma / 3escreva("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: inteiromedia: real
inicioescreva("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 + nota3media <- soma / 3escreva("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 > 5 e 2 > 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ícios1. 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: logicoa, b: inteiro
inicioleia(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: logicoa, b: inteiro
inicioleia(a)leia(b)condicao <- (a = b)se (condicao) entao
escreva("Os dois numeros sao iguais")senao
escreva("Os dois numeros sao diferentes")fimse
fimalgoritmo
Parte duvidosa!
Esse algoritmo executa?
algoritmo "calculos"var
condicao: logicoa, b: inteiro
inicioleia(a)leia(b)condicao <- (a = b)se (condicao) entao
escreva("Os dois numeros sao iguais")senao
escreva("Os dois numeros sao diferentes")fimse
fimalgoritmo
Mas funciona!
Teste!
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