Algoritmos: expressões aritméticas, relacionais e lógicas

Propaganda
GMA038 - 2015/1
Universidade Federal de Uberlândia
Faculdade de Computação
Expressões aritméticas, relacionais e lógicas
Estruturas condicionais
Prof. Renato Pimentel
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
1
Expressões aritméticas
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
2
1
GMA038 - 2015/1
Expressões aritméticas
Expressões aritméticas
Utilizadas para realizar operações entre dados
numéricos reais e inteiros.
Resultado: dado do tipo numérico.
Uso de operadores aritméticos.
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
3
Operadores aritméticos
Operação
Adição
Subtração
Multiplicação
Divisão
Divisão inteira1
Exponenciação
Resto da divisão 1
Operador
+
–
*
/
\
^
%
Exemplo
2 + 4
A – 5.2
B*4
16.0/9.0
4\3
2^3
12%5
Apenas para dados numéricos inteiros.
1
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
4
2
GMA038 - 2015/1
Operadores numéricos
Observações:
A quantidade de operadores e a definição dos mesmos
pode variar, dependendo da linguagem de
programação em uso.
Exemplo: Divisão inteira
–
Pascal: div (ex.: 4 div 3)
–
C/C++: Não existe
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
5
Operadores unários X operadores binários
Os operadores vistos denotam operações
aritméticas entre 2 valores numéricos, que
denominamos operandos.
Ex.: 7+5, 2*4, 5%2
Tais operadores são, por esta razão, denominados
operadores binários.
Operadores unários: único operando
–5, –X: operador que inverte o sinal do operador à sua
direita.
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
6
3
GMA038 - 2015/1
Linearização de expressões aritméticas
Devemos reescrever as operações aritméticas,
para que sejam válidas em pseudocódigo, e
posteriormente em um programa.
Operações reescritas devem ocupar única linha de
pseudocódigo / programa.
Alguns procedimentos
Substituir chaves e colchetes por parênteses;
Substituir barras de fração por operador / (divisão).
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
7
Linearização de expressões aritméticas
Exemplos:
((2/3-(5-3))+1)*5
(4*y^3-3*x)/7 + (x-1)^(1/2)/x
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
8
4
GMA038 - 2015/1
Precedência ou prioridade de operadores
Em uma expressão aritmética, certos operadores têm
precedência (prioridade) sobre outros.
Ordem de prioridade (da mais alta para a mais baixa):
1. Operadores unários;
2. Potenciação;
3. Operadores de multiplicação e divisão, e resto da divisão;
4. Operadores de adição e subtração.
Observação 1: como em expressões aritméticas usuais,
parênteses são empregados para alterar precedência quando
necessário.
Observação 2: para operadores de mesma ordem de prioridade,
cálculos da expressão são executados da esquerda para direita.
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
9
Precedência ou prioridade de operadores
Exemplos:
Operação
5*4+3
5*(4+3)
2^4*3
2^(4*3)
2*1/2
2*(1/2)
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Resultado
23
35
48
2^12 = 4096
1
1
Expressões e estruturas condicionais
10
5
GMA038 - 2015/1
Precedência ou prioridade de operadores
Presença de mais de um par de parênteses: par
mais interno tem maior prioridade.
Exemplo: ((2+3)*5)+1 = (5*5)+1 = 26
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
11
Expressões relacionais
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
12
6
GMA038 - 2015/1
Operações relacionais
Utilizadas para realizar a comparação entre dois
operandos.
Resultado: do tipo lógico:
Verdadeiro
Falso
Uso de operadores relacionais.
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
13
Operadores relacionais
Operação
Maior que
Menor que
Maior ou igual a
Menor ou igual a
Igual
Diferente
Resto da divisão 1
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Operador
>
<
>=
<=
=
<>
%
Expressões e estruturas condicionais
14
7
GMA038 - 2015/1
Operadores relacionais
Alguns exemplos de operações relacionais:
Operação
2+5 > 4
Resultado
VERDADEIRO
3 <> 3
“A” > “B”
FALSO
FALSO
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
15
Operações lógicas
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
16
8
GMA038 - 2015/1
Operações lógicas
Operações envolvendo dados do tipo lógico (isto
é, Verdadeiro ou Falso)
Resultado de operações lógicas: também do tipo
lógico:
Verdadeiro
Falso
Uso de operadores lógicos.
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
17
Operadores lógicos
Operação
Operador
E lógico (multiplicação
lógica, AND)
OU lógico (adição
lógica, OR)
E
OU
OU exclusivo (XOR)
XOU
Negação lógica (NOT)
NÃO
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Resultado (falso caso
contrário)
Verdadeiro se ambos os
operandos são Verdadeiro
Verdadeiro quando pelo
menos um operando é
Verdadeiro
Verdadeiro quando um
operando é Verdadeiro e
outro Falso
Operador unário: Verdadeiro
quando operador é Falso
Expressões e estruturas condicionais
18
9
GMA038 - 2015/1
Operadores lógicos
Alguns exemplos de operações lógicas:
Operação
(2+5>4) E (3<>3)
(2+5>4) OU (3<>3)
(2+5>4) XOU (3<>3)
(2+5>4) XOU (3=3)
NÃO (3<>3)
GMA038 - Intro Ciênc. Computação
Resultado
FALSO
VERDADEIRO
VERDADEIRO
FALSO
VERDADEIRO
Expressões e estruturas condicionais
19
Tabela verdade de operadores lógicos
A
B
V
V
F
F
V
F
V
F
A E B A OU B A XOU B NÃO A NÃO B
V
F
F
F
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
V
V
V
F
F
V
V
F
Expressões e estruturas condicionais
F
F
V
V
F
V
F
V
20
10
GMA038 - 2015/1
Estruturas condicionais
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
21
Estrutura condicional
Também chamada de estrutura de condição, ou
ainda, estrutura de seleção.
Possibilita a escolha de uma ação ou um grupo de
ações a serem executadas quando determinadas
condições são ou não satisfeitas.
Condição → Geralmente dada em termos de:
Uma operação relacional;
Uma operação lógica.
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
22
11
GMA038 - 2015/1
Tipos de estrutura condicional
Estrutura condicional simples
Estrutura condicional composta
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
23
Estrutura condicional simples
Executa um ou vários comandos se a condição for
verdadeira.
Se a condição for falsa, a estrutura é finalizada
sem a execução de nenhum comando.
O comando que define a estrutura é dado pela
palavra reservada Se.
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
24
12
GMA038 - 2015/1
Estrutura condicional simples
Pseudocódigo:
SE condição ENTÃO
comando(s)
FIM SE
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
25
Estrutura condicional simples
Exemplo:
Se IDADE >= 18 então
Escreva “Você é maior de idade”
Fim Se
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
26
13
GMA038 - 2015/1
Estrutura condicional simples
Fluxograma
...
condição
V
Comando(s)
F
...
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
27
Estrutura condicional composta
A estrutura condicional composta segue o mesmo
princípio da estrutura condicional simples, com a
diferença de que quando a condição não é
satisfeita, outra ação ou conjunto de ações será
executada.
Definida pelos comandos Se e Senão.
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
28
14
GMA038 - 2015/1
Estrutura condicional composta
Pseudocódigo:
SE condição ENTÃO
comando(s)
SENÃO
comando(s)
FIM SE
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
29
Estrutura condicional composta
Pseudocódigo:
SE condição ENTÃO
executado(s)
somente se
condição =
VERDADEIRO
comando(s)
SENÃO
comando(s)
FIM SE
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
executado(s)
somente se
condição =
FALSO
Expressões e estruturas condicionais
30
15
GMA038 - 2015/1
Estrutura condicional composta
Exemplo:
Se A > B então
Escreva “Maior número é”, A
Senão
Escreva “Maior número é”, B
Fim Se
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
31
Estrutura condicional composta
Fluxograma
...
condição
V
F
Comando(s)
Comando(s)
...
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
32
16
GMA038 - 2015/1
Estrutura condicional composta
Nota: mais de um comando SE
SE condição1 ENTÃO
comando(s)
SE condição2 ENTÃO
comando(s)
. . .
SENÃO
comando(s)
FIM SE
GMA038 - Intro Ciênc. Computação
Opcional
Expressões e estruturas condicionais
33
Estruturas condicionais aninhadas
Ocorre quando uma estrutura condicional é
executada dentro de outra.
São permitidas uma ou mais estruturas
condicionais simples ou compostas no interior de
uma estrutura condicional (também simples ou
composta)
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
34
17
GMA038 - 2015/1
Estruturas condicionais aninhadas
Declare frequencia, media real
Exemplo:
Inicio
Escreva "Digite a media e a frequencia"
Leia media, frequencia
Se frequencia >= 0.75 então
Se media >= 6 então
Escreva "Você está aprovado."
Senão
Se media >= 3 então
Escreva "Voce esta de recuperacao"
Senão
Escreva "Voce esta reprovado por media"
Fim Se
Fim Se
Senão
Escreva "Voce esta reprovado por faltas"
Fim se
Fim
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
35
Exercícios
1. Crie um algoritmo que calcule e mostre a área
de um círculo, dado o seu raio.
Observação:
2. Dado que:
1 pé = 12 polegadas
1 jarda = 3 pés
1 milha = 1760 jardas
Crie um algoritmo que receba uma medida em
pés, faça as conversões para polegadas, jardas e
milhas e mostre seu resultado.
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Expressões e estruturas condicionais
36
18
GMA038 - 2015/1
Exercícios
3. O custo para o consumidor de um carro 0 km é
a soma do preço de fábrica com os percentuais de
lucro para o distribuidor e dos impostos que
incidem sobre o preço de fábrica. Escreva um
algoritmo que receba o preço de fábrica, o
percentual de lucro do distribuidor, e o percentual
de impostos. O algoritmo deve retornar:
O valor correspondente ao lucro do distribuidor.
O valor correspondente aos impostos.
O preço final do veículo.
GMA038 - Intro Ciênc. Computação
Expressões e estruturas condicionais
37
Exercícios
4. Crie um algoritmo em que o usuário entra com
um número inteiro. O algoritmo deverá dizer se tal
número é par ou ímpar
5. Usando estrutura condicional SE, crie um
algoritmo que, dadas 3 notas de um aluno, entre 0
e 10, calcule a média aritmética entre as notas e
imprima uma mensagem, conforme tabela:
Média aritmética
[0, 3)
[3, 7)
[7, 10]
GMA038 - Intro Ciênc. Computação
Prof. Renato Pimentel
Mensagem
Reprovado
Exame
Aprovado
Expressões e estruturas condicionais
38
19
GMA038 - 2015/1
Exercícios
6. Crie um algoritmo usando a estrutura
condicional composta SE/SENÃO, que receba 4
valores: I, A, B e C, sendo o primeiro inteiro e os
demais reais. De acordo com o valor de I, o
algoritmo deve escrever A, B e C como segue:
Valor de I
1
2
Outro valor
GMA038 - Intro Ciênc. Computação
O que escrever
A, B e C em ordem crescente
A, B e C em ordem decrescente
Mensagem: “I deve ser 1 ou 2”
Expressões e estruturas condicionais
39
Referências
ASCENCIO, A. F. G., CAMPOS, E. A. V.
Fundamentos da Programação de Computadores.
São Paulo: Prentice Hall, 2007.
TRAVENÇOLO, B. A. N. Notas de aula de
Introdução à Programação e Computadores.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
40
20
Download