Você está na página 1de 22

APLICAÇÕES

INFORMÁTICAS B
© João Abrunhosa | 2022

3 | OPERADORES E EXPRESSÕES

2022/23 ESCOLA SECUNDÁRIA INFANTA D. MARIA


Ficha de Trabalho #1
Cálculo do IMC – Sugestão de resolução
 Dados de entrada: peso (tipo inteiro) e altura (tipo decimal)
 Dado de saída: IMC (tipo decimal)
 Fórmula: IMC = Peso / (Altura * Altura)
Pseudocódigo Fluxograma Python
Algoritmo IMC;
Inicio # Programa: IMC
Variáveis # Autor: João Abrunhosa
Peso: inteiro;
Escrever # Versão: 1.0
(“Indique o seu peso (Kg)”) # Data: 2/10/2022
Altura, IMC: real;
Ler (Peso) print ("PROGRAMA DE CÁLCULO DO IMC")
Início
Escrever
Escrever (“Indique o seu peso (Kg):”); (“Indique a sua altura (m)”) Peso=int (input("Indique o seu peso (Kg):"))
#também podia ser float
Ler (Peso); Ler (Altura)
Altura=float (input("Indique a sua altura (m):"))
Escrever (“Indique a sua altura (m):”); IMC Peso / (Altura * Altura)
IMC=Peso/Altura**2
Ler (Altura); Escrever (IMC)
print ("O seu IMC é %5.1f" %IMC)
#Arredonda a uma casa decimal
IMC  Peso / (Altura * Altura);
Fim
Escrever (IMC);

Fim. ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


3 OPERADORES E EXPRESSÕES
Operadores aritméticos
Operadores lógicos
Operadores relacionais
Operadores de atribuição
Operadores de pertença e igualdade

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores aritméticos
Operador Operação Exemplo Resultado

+ Soma a=5+3 a=8

- Subtração b=a–4 b=4

* Multiplicação c=b*a c = 32

/ Divisão n=c/2 n = 16.0

// Divisão inteira n = c // 2 n = 16

% Resto da divisão z=9%5 z=4

** Potenciação p = 2 ** 3 p=8

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores aritméticos
Alguns cuidados …
 O operador / origina sempre um resultado
decimal, independentemente dos seus operandos
 Os operadores //, +, %, - , * e ** originam um
resultado decimal se um dos seus operandos for
decimal
 O operador //, apresenta sempre um resto da
divisão inteira, mesmo que um ou ambos os
operandos sejam decimais
 O uso de parenteses é recomendado para alterar
a ordem dos cálculos

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores aritméticos
Casos de uso

A B Expressão C type(C)
5 3 C=A+B 8 int
2.0 4 C=A+B 6.0 float
3.0 4 C=A-B -1.0 float
5 3 C=A*B 15 int
9 4 C=A/B 2.25 float
8 5 C=A//B 1 int
8.0 5 C=A//B 1.0 float
9 7 C=A%B 2 int
6 3.0 C=A%B 0.0 float
5 2 C=A**B 25 int

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores aritméticos
Exemplo de implementação
Algoritmo para o cálculo da média de 2 disciplinas
 Dados de entrada: duas avaliações (tipo inteiro)
 Dado de saída: média calculada (tipo decimal)
 Fórmula: Média = (Nota1 + Nota2) / 2
Pseudocódigo Fluxograma Python
Algoritmo Media;
Inicio Nota1=int(input("Indique a primeira nota:"))
Variáveis
Nota1, Nota2: inteiro; Escrever (“Indique uma nota”) Nota2=int(input("Indique a primeira nota:"))
Média: real;
Ler (Nota1)
Media=(Nota1 + Nota2) / 2
Início
Escrever (“Indique a primeira nota:”); print ("A sua média é: %7.2f" %Media)
Escrever (“Indique outra nota”)
Ler (Nota1);
Escrever (“Indique a segunda nota:”);
Ler (Nota2); Ler (Nota2)
Media(Nota1 + Nota2)/2;
Escrever (Media); Media (Nota1+Nota2)/2
Fim.
Escrever (Media)

Fim

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Programação Visual Basic
www.codingrooms.com/compiler/visual-basic
Programa: Calcular o número de dias, a partir de um valor em segundos

1. Deve pedir um valor em segundos


2. Apresente o valor convertido em dias, com 2 casas decimais de precisão
3. Exemplo:

Indique o nº de seg:127421
O nº de 127421 segundos corresponde a 1.47 dias

8 Desafio

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores Lógicos
 Utilizados em estruturas condicionais e estruturas de repetição.
 Avaliam expressões lógicas e retornam verdadeiro (1) ou falso (0)

Operador Operação

and Devolve True se ambos os operandos forem True

or Devolve True se qualquer operando for True

not Devolve o inverso de um estado lógico (True passa a False, e False


fica True)

^ Ou exclusivo. Devolve True se qualquer uma das expressões for


avaliada como True (nunca podem ser ambas True)

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores Lógicos
Casos de uso

A B Expressão C Type(c)
True False C=A and B False Bool
True True C=A or B True Bool
True False C=not (A and B) True Bool
True True C=a ^ b False Bool
False True C=A and B or A False Bool
False True C=A +B 1 Int

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores Relacionais
Comparação
 Comparação (todos os tipos de dados)
Operador Operação
== Igual a
!= Diferente de O resultado de avaliação de uma
< Menor que expressão será sempre:
> Maior que True (1) ou False (0)
<= Menor ou igual a
>= Maior ou igual a

Exemplos de uso
Expressão Resultado Justificação
5==20 False
7+1>5 True 8 é maior que 5
“API”!=”A”+”P” +”I” False Após a concatenação os textos ficam iguais
“Secundária” <= “Dona Maria” False Os textos são comparados em ordem alfabética e
não por comprimento
2.3 >= 1.1 * 2 True 2.3 é maior que 2.2
0 == (2 < 1) True 2<1 é False, que é igual a 0
ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23
Operadores de Atribuição

Operador Operação Exemplo


= Atribui valor a uma variável Z = 10

+= Adiciona à variável o valor indicado Z += 5 é o mesmo que Z = Z + 5

-= Subtrai à variável o valor indicado Z -= Y é o mesmo que Z = Z – Y

*= Multiplica à variável o valor indicado Z *= W é o mesmo que Z = Z * W

/= Divide à variável o valor indicado Z /= 10 é o mesmo que Z = Z / 10

//= Divisão inteira sobre o valor indicado Z //= 2 é o mesmo que Z = Z // 2

%= Atribui o resto da divisão Z %= 3 é o mesmo que Z = Z % 3

**= Atribui a potência do valor indicado Z **= 4 é o mesmo que Z = Z ** 4

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores de Atribuição
Casos de uso

A B Expressão Resultado Type(c)


4 2 A+=B A=6 Int
8 3.0 B*=A B=24.0 Float
5 A/=2 A=2.5 Float
8.0 3 A//=B A=2.0 Float
10 12 B%=A B=2 Int
2.0 3 A**=B A=8.0 Float

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Operadores de Pertença e Igualdade
 Pertença – in / not in
 Devolve verdadeiro se um valor está presente no outro
Dados Expressão Resultado
X=10 X in [0,5,10,27] True
Nome=“Ana Rita Sá” “Rita” in Nome True
Z=3 Z in 12345 Erro – 12345 não é uma coleção de números
Apelidos=“Sá Lopes” “Freitas” not in Apelidos True

 Igualgade – is / is not
 Devolve verdadeiro se ambas as partes da expressão tomam o
mesmo valor e têm o mesmo tipo de dados
Dados Expressão Resultado
X,Y = 5, 5.0 X is Y False
X,Y = 5, 5.0 X == Y True
X,Y = 5, 5 X is Y True

X,Y = 3, 4 X is not Y True

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Ordem de precedência

Ordem Operadores Operação


1 () Parenteses
2 ** Potenciação
3 *, /, %, // Multiplicação e Divisão
4 +, - Adição e subtração
5 <, >= , <= , > , == , != , is ,is not, in, not it Comparações
6 not Lógicos: not
7 and Lógicos: and
8 or Lógicos: or

 Alguns operadores, como adição e subtração ou, ainda, todos os


operadores de comparação, têm ordem de precedência igual.
 Ao encontrar operadores com precedências iguais, deve avaliar-se as subexpressões
da esquerda para a direita.

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Ordem de Precedência
Casos de uso

 Considerando as variáveis
Alunos = 20
Fantasticos = True
 Qual o resultado dos seguintes expressões
Expressão Resultado Nota
Alunos > 3 and Fantasticos == True True O and é feito depois do
> e ==

Alunos * 2 < 15 Or Fantasticos == True And Alunos / 2 < 21 True 1. Operações * e /


2. Três comparações,
da esquerda para a
direita.
3. Operação And
4. Operação Or

4 / 2 * 2 ** 3 + 5 21.0 **, /, *, +

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Programação Visual Basic
Programa: Calcular a redução do tempo de vida de um fumador.
www.codingrooms.com/compiler/visual-basic
1. Pedir:
• a quantidade de cigarros que o fumador consome por dia?
• há quantos anos fuma?
2. Considere que:
• um fumador perde 5 minutos de tempo de vida por cada cigarro
consumido.
3. Calcular: quantos dias de vida um fumador perderá
4. Apresente o resultado total em dias.

17 Desafio

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Dúvidas ?
18

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


1. Proponha um programa que leia valores inteiros correspondentes a
Programação Visual(emBasic
uma distância percorrida Km) e o tempo necessário para a
percorrer (em minutos), e calcula e apresenta a velocidade média
www.codingrooms.com/compiler/visual-basic
(com 2 casas decimais) em:
a) Km / h
b) m / s
2. Escreva um programa que dado um valor inteiro correspondente a
um dado número de segundos e que escreve o valor equivalente em
número de dias, horas, minutos e segundos.
Exemplo: Indique o nº de seg:1234567
O valor introduzido corresponde a:
14 dias
6 horas
56 minutos
7 segundos

19 Desafio

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Velocidade Média
20
Sugestão de Resolução
# Cálculo de Velocidade Média
# Versão: 1.0
# Autor: João
# Data: 12/10/2022
Distancia=int(input("Indique a Distância percorrida (Km):"))
Tempo=int(input("Indique o tempo de viagem (min):"))
KM_H=Distancia/Tempo*60
m_s=(Distancia*1000)/(Tempo*60)
print ("A velocidade média é de %.2f Km/H ou de %.2f m/s"
%(KM_H, m_s))

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Conversão de Tempo
21
Sugestão de Resolução
# Conversão de Segundos em Dias, Horas, Minutos e Segundos
# Versão: 1.0
# Autor: João
# Data: 12/10/2022
seg=int(input("Indique o nº de seg.:"))
dias=seg//86400 # Cada dia tem 86400 seg
horas=seg%86400//3600 # Cada hora tem 3600 seg
minutos=seg%86400%3600//60 # Cada min tem 60 seg
segundos=seg%86400%3600%60

print ("O valor introduzido corresponde a %5d dias\n%5d


horas\n%5d min\n%5d seg" %(dias, horas, minutos, segundos))

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23


Programação
Proponha Visual Basic
um programa capaz de aceitar um
número inteiro n, correspondente a um valor em
www.codingrooms.com/compiler/visual-basic
Euros.
Calcule a quantidade mínima de notas que uma
caixa Multibanco deve fornecer para atingir o
valor pedido.
Considere que as notas disponíveis são: 5, 10, 50 e
100 EUR.

22 Desafio

ESCOLA SECUNDÁRIA INFANTA D. MARIA | APLICAÇÕES INFORMÁTICAS B | 2022/23

Você também pode gostar