Material 3: Tipos de Dados e Operadores
Universidade Federal do Rio de Janeiro Material 3: Tipos de Dados e Operadores
Professor: Isac Mendes Lacerda, M.Sc., PMP, CSM e-mail: isac.curso@gmail.com
Uma variável é um local onde armazenamos dados.
Esse local deve ter um nome único (identificador).
Variáveis só existem durante a execução do algoritmo.
Na maioria das linguagens, elas precisam ser declaradas
Regras para nomes Cada variável possui um nome único :: identificador.
Um identificador pode ter letras, números e alguns símbolos
especiais. Não podem começar por números nem possuírem espaços.
Letras maiúsculas são diferentes de minúsculas (case
sensitive).
Palavras reservadas são proibidas (em pseudocódigo: se,
senão, enquanto, etc. E em PYTHON if, else, elif, while e
etc.).Nomenclatura
Exemplos: ◦ a1
◦ velocidade
◦ velocidade90
◦ salário_médio
◦ salário médio
◦ _b
◦ 1a
Nomenclatura
Exemplos: ◦ a1
◦ velocidade
◦ velocidade90
◦ salário_médio
Não pode!
◦ salário médio
◦ _b
◦ 1a
Não pode!
Armazenam tipos diferentes de dados
Números (inteiros ou reais)
Caracteres ou literal (cadeia de caracteres)
Booleano (estado lógico: falso ou verdadeiro) Definições:
São categorias de valores que são processados de forma
semelhante
Um conjunto de objetos que tem em comum o mesmo
comportamento diante de um conjunto definido de
operaçõesEx. números inteiros são processados de forma diferente dos números decimais (reais) e dos números complexos
Inteiro: Admite somente números inteiros. Utilizado para representar uma contagem (quantidade).
Operações matemáticas Comparações (relações)
Adição (+) Igual (==)
Subtração (-) Diferente (!=)
Multiplicação (*) Maior (>)
Divisão (/) Menor (<)
Potenciação (**) Maior ou igual (>=)
Raiz (sqrt) Menor ou igual (<=)
Resultado inteiro da divisão (div ou//) Resto da divisão (mod ou %) Operações com Inteiros (pseudocódigo):
Operadores aritméticos: Operadores relacionais:
var N1, N2: inteiro var N1,N3,N4,N5,N6,N7, N8: inteiro N2: real
N2: real início início
N1 <- 2 N1 <- 5+8
N2 <- 3 N2 <- 10.5 se N1 == N2 então
N3 <- N1 + 6 escreva(N1)
N4 <- 2 * 3 senão escreva(N2)
N5 <- 2 ** 3 se N1 != N2 então
N6 <- 13 mod 2 escreva
(“diferentes”) N7 <- 13 div 2 senão
N8 <- 13 / 2 escreva
(“iguais) fim fim
>>> N1 = 5+8 >>> N2 = 10.5 >>>
N3 = N1 + 6
>>> N4 = 2 * 3 >>> N5 = 2 ** 3 >>> N6 = 13 % 2 >>>
N7 = 13 // 2
>>> N8 = 13 / 2 Operações com Inteiros (PYTHON):
N1 <- 2 N2 <- 3
if N1 == N2: print (N1) else : print (N2) if N1 != N2: print
(“diferentes”)
else : print
( “iguais)
Operadores aritméticos: Operadores relacionais:
Real (float): Admite números decimais. Geralmente é utilizado para representar uma medição
Operações matemáticas Comparações (relações)
Adição (+) Igual (==)
Subtração (-) Diferente (!=)
Multiplicação (*) Maior (>)
Divisão (/) Menor (<)
Potenciação (**) Maior ou igual (>=)
Raiz (Sqrt) Menor ou igual (<=)
Resultado inteiro da divisão (div ou//) Resto da divisão (mod ou %)
Real (float): Admite números decimais. Geralmente é utilizado para representar uma medição
#PSEUDOCÓDIGO var N1, N3: inteiro
N2: real
início
N1 <- 5+8 N2 <- 10.5 N3 <- N1 + N2
fim
Não vai funcionar, pois N3 não admite números decimais!
Real (float): Admite números decimais. Geralmente é utilizado para representar uma medição
#PYTHON
N1 <- 5+8 N2 <- 10.5 N3 <- N1 + N2
Mas em python funciona, pois N3 não tem predefinição de tipo Conhecem?
O matemático britânico George Boole nos mostrou como as coisas
podem ser simplesmente relativas. Pioneiro no desenvolvimento da lógica e matemática Quaisquer valores podem ser reduzidos a sim ou não, verdadeiro ou falso, ou 0 ou 1
Seu sistema binário “booleano” foi detalhado em An Investigation of the Laws of Thought ( 1854)
V Boolean:
“verdadeiro” e F “falso” são valores armazenáveis e
também possíveis resultados de avaliações relacionais
(comparações). var a, b: inteiroc: booleano
início
a <- 5 b <- 3 c <- b > a
escreva(c) fim V Boolean:
“verdadeiro” e F “falso” são valores armazenáveis e
também possíveis resultados de avaliações relacionais
(comparações).#PYTHON >>> a = 5 >>> b = 3 >>> c = b > a >>> print (c)
Também chamadas de expressões lógicas
Resultam em verdadeiro (V) ou falso (F)
São usadas em comandos condicionais e de repetição
Servem para analisar o estado de uma computação e permitem escolher o próximo passo
Operadores mais usados o
Relacionais: > , < , ==, !=, >=, <= o
Booleanos: and, or, not
Tabela Verdade
AND
V F OR
V F
V V F
V V
V F F F F
V F
XOR
V F NOT
V F
V F
V F
V F
V F Complete a tabela a seguir utilizando: a = True, b = False e c = True
Expressão Resultado a and a ☐True ☐False b and b ☐True ☐False not c
☐True ☐False not b ☐True ☐False not a ☐True ☐False a and b ☐True ☐False b and c ☐True ☐False a or c
☐True ☐False a xor c ☐True ☐False Complete a tabela a seguir utilizando: a = True, b = False e c = True
Expressão Resultado a and a True ☐False b and b ☐True False not c ☐True
False not b True ☐False not a ☐True False a and b ☐True False b and c ☐True False a or c
True ☐False a xor c ☐True False
Qual é a expressão correta para verificar se um número armazenado na variável x está entre 0 e 5 (excluindo o 0 e 5)
a) x > 0 and < 5
c) x > 0 or x < 5
d) x > 0 and x < 5
Qual é a expressão correta em Python para verificar se um número armazenado na variável x está entre 0 e 5 (excluindo o 0 e 5).
a) x > 0 and < 5
c) x > 0 or x < 5
d) x > 0 and x < 5
Precedência:
Quando uma expressão tiver mais de um operador lógico, avalia-se o operador not primeiramente, seguido do operador and e finalmente o operador or .
True or False and not True
True or False and False
True or False
True Precedência:
Quando uma expressão tiver mais de um operador lógico, avalia-se o operador not primeiramente, seguido do operador and e finalmente o operador or .
True or False and not True
True or False and False
True or False
True Precedência:
Os operadores relacionais também podem ser utilizados em expressões com operadores lógicos
Nesses casos, os operadores relacionais devem ser avaliados primeiramente .
salario > 1000 and idade > 18
350 > 1000 and 20 > 18
False and True
False Precedência das Operações Ordem Categoria
Observação
1º Exponenciação
- 2º Multiplicação, divisão, resto da divisão e parte inteira da divisão
- , /, % (mod), // (div) 3º Adição, subtração +, - 4º Operador Relacional >, <, ==, >=, <= 5º Operador Lógico
not (NÃO) 6º Operador Lógico and (E)
7º Operador Lógico xor (OU exclusivo)
8º Operador Lógico or (OU)
Indique qual é a expressão correspondente, entre as
disponíveis, para a expressão: 5*3 > 10 and 4 + 6 == 11
a) ((5*3) > 10) and ((4+6) == 11)b) (5*(3 > 10)) and (4 + (6 == 11))
c) ((((5*3) > 10) and 4)+6) == 11
d) ((5*3) > (10 and (4+6))) == 11
Indique qual é a expressão correspondente, entre as
disponíveis, para a expressão: 5*3 > 10 and 4 + 6 == 11
a) ((5*3) > 10) and ((4+6) == 11)b) (5*(3 > 10)) and (4 + (6 == 11))
c) ((((5*3) > 10) and 4)+6) == 11
d) ((5*3) > (10 and (4+6))) == 11
Exercício:
Calcule o resultado da expressão , sendo
A>B and C or D que, A = 1, B = 2, C = True e D = False. Calcule (operadores lógicos):
a) False and (True or True)
b) False and True or True
c) False or (True and False)
d) True and not (True or False)
e) not (not (True and True) or False)
f) True xor True
g) not (True xor False)
h) True xor False or True xor True i) (True xor False or True) xor True
Conjunto de caracteres, também Caracteres (literal ou string): conhecido como Cadeia de Caracteres
Operações Comparações (relações)
Concatenação (+) Igual (==) Diferente (!=) Maior (>) Menor (<) Maior ou igual (>=) Menor ou igual (<=)
Caracteres (literal ou string): Utiliza-se aspas (simples ou duplas para delimitar os caracteres. O mesmo delimitador deve ser usado no início e fim dos caracteres. var a, b: caracteres início
a <- “casa” b <- a + “ “ + ‘velha’
escreva(c) fim
Caracteres (literal ou string): Utiliza-se aspas (simples ou duplas para delimitar os caracteres. O mesmo delimitador deve ser usado no início e fim dos caracteres.
#PYTHON >>>
a = “Casa”
>>> a ‘Casa’ >>>
a = ‘Casa’ + ‘ ‘ +‘Velha’
>>> a ‘Casa Velha’ >>>
a = ‘b’ * 5
>>> a ‘bbbbb’
João tem R$10.000,00. Ele resolveu aplicar esse valor a juros
compostos, durante 1 ano, à taxa de 3,5% ao mês. nA fórmula para calcular o montante é: M = C * (1+ i) Onde: M = Montante, C = Capital aplicado, i = Taxa de juros e n = Tempo de aplicação.
Escreva um programa que contenha as variáveis: M, P, i e n e calcule,
utilizando a fórmula acima, o valor obtido por João no final da
aplicação.