Aula 09 – Variáveis Heterogêneas
Prof. Filipe Wall Mutz
Variáveis Compostas Homogêneas
São agrupamentos de dados relacionados
logicamente e do mesmo tipo.
Exemplos
•
•
•
•
As idades dos alunos de programação 1.
Os nomes dos professores do IFES.
As matrículas dos alunos que vieram ao IFES hoje.
As linguagens de programação que vocês irão
aprender ao longo do curso.
• O post mais popular dos seus amigos do Facebook.
Como armazenar estas informações
em um programa?
Variáveis Compostas Heterogêneas
(Registros)
São agrupamentos de dados relacionados logicamente,
mas de tipos diferentes (número, literal, lógico, etc.).
•
•
•
•
Exemplos
Nome, idade e matrícula de um aluno.
Título, classificação indicativa e número de
visualizações de um filme.
Título, autor e ano de publicação de um livro em uma
biblioteca.
Texto, nº de curtidas e nº de compartilhamentos de
um post do Facebook.
Como armazenar estas informações
em um programa?
Variáveis Heterogêneas em Python
Usando Listas:
L = [“Luciano”, 20/04/1993, “M”, “BSI”]
M = [“Lagoa Azul”, 1980, “Marcos Milano”]
N = [“Pacman”, 1950, “Livre”]
Acesso por Índices:
nome = L[0]
ano_lancamento = M[1]
classificação = N[2]
Variáveis Heterogêneas em Python
Usando Listas:
L = [“Luciano”, 20/04/1993, “M”, “BSI”]
M = [“Lagoa Azul”, 1980, “Marcos Milano”]
N = [“Pacman”, 1950, “Livre”]
Problema: Não existe uma descrição do que
cada campo significa.
Ex.: aux = [13, “yep67”, 90, 56.643]
Variáveis Heterogêneas em Python
Usando Dicionários:
aluno = {“nome” : “José”, “idade” : 21}
Chave
Valor
nome
“José”
idade
17
Acesso usando as chaves:
n = aluno[“nome”]
print(n)
Criação de Dicionários em Python
Dicionários como Parâmetros para Funções
Dicionários Aninhados
Cópia por Referência em Listas e Dicts
Cópia por Referência em Listas e Dicts
Listas vs. Tuplas
• Uma tupla é definida da mesma forma que uma lista, exceto que
o conjunto de elementos deve ser limitado por parênteses ao
invés de colchetes.
• Assim como em uma lista, os elementos de uma tupla possuem
uma ordem determinada e seus elementos podem acessados por
índices começando do zero.
• Índices negativos podem ser usados para acessar os elementos da
tupla começando pelo final.
Listas vs. Tuplas
• Tuplas são imutáveis e por isso não é possível adicionar
elementos a uma tupla, não é possível remover os elementos de
uma tupla e não é possível descobrir o índice de um elemento em
uma tupla usando a função .index() (mas é possível verificar se o
elemento existe na tupla usando o operador in).
• OBS: tuplas podem ser convertidas em listas e vice-versa.
• OBS: Embora não seja possível adicionar elementos em uma
tupla, duas tuplas podem ser fundidas em uma nova.
Por que usar tuplas?
• Tuplas são mais rápidas que listas. Se vocês estão definindo um
conjunto constante de valores e tudo que farão é percorrê-lo, use
uma tupla ao invés de uma lista.
• Tuplas torna o código mais seguro se você adiciona uma restrição
de escrita aos dados que não devem ser alterados.
• Chaves de dicionários podem ser inteiros, strings e alguns outros
tipos, dos quais se destacam as tuplas. A única exceção é que as
tuplas devem ser de elementos imutáveis (inteiros, strings e
outras tuplas, por exemplo, mas não listas).
Exercício
Um pesquisador deseja criar uma biblioteca de funções para operar sobre
números em notação científica representados da seguinte forma:
1.23 x
105
notacao_cientifica[“valor”] = 1.23
notacao_cientifica[“expoente”] = 5
Crie as seguintes funções para a biblioteca, sempre mantendo os números
em notação científica (valor > 1 e < 10):
1. Criação de números neste formato (parâmetros: valor e expoente).
2. Leitura e Impressão (no seguinte formato: valor x 10 ^ expoente).
3. Colocar um número em notação científica (ex.: 10*10^1-> .1*10^2).
4. Multiplicação e Divisão.
5. Soma e Subtração.
6. Conversão de um número em notação científica para ponto flutuante.
7. Conversão de um número de ponto flutuante para notação científica.
Exercício
Um pesquisador deseja criar uma biblioteca de funções para operar sobre
horários representados da seguinte forma:
01:05:10
horario[“horas”] = 1
horario[“minutos”] = 5
horario[“segundos”] = 10
Crie as seguintes funções para a biblioteca, sempre mantendo os horários válidos
(minutos e segundos >= 0 e < 60):
1. Criação de números neste formato (parâmetros: horas, minutos, segundos).
2. Leitura e Impressão (no seguinte formato: hh:mm:ss).
3. Corrigir um horário incorreto.
4. Soma e Subtração (na sub., apenas as horas podem ficar negativas).
5. Conversão de horário para segundos.
6. Conversão de segundos para um horário.
Download

Variáveis Heterogêneas