Buscar

Fundamentos de Programação - Aula 24 (Teórica)

Prévia do material em texto

FUNDAMENTOS DE 
PROGRAMAÇÃO I
AULA 24: TEÓRICA
Vetores Associativos 
Dicionários
Prof. Janderson
Universidade Federal de Lavras
Departamento de Ciência da Computação
Definição
• Vetores Associativos ou Dicionários.
– Estrutura de dados similar às listas.
– Propriedade de acesso diferente.
– Conjunto de chaves e valores.
– Consiste em relacionar uma chave a um valor 
específico.
Inicialização
• Em Python, um dicionário é criado utilizando-se 
chaves ({}).
• Cada elemento do dicionário é uma combinação de 
chave e valor. Cada par deve ser separado por vírgula.
• Para definição do par chave/valor deve-se seguir a 
sintaxe: 
“nome_chave”: valor_correspondente
Inicialização
• Em Python, um dicionário é criado utilizando-se 
chaves ({}).
• Cada elemento do dicionário é uma combinação de 
chave e valor. Cada par deve ser separado por vírgula.
• Para definição do par chave/valor deve-se seguir a 
sintaxe: 
“nome_chave”: valor_correspondente
Atenção: 
 - nome_chave deve vir entre aspas duplas;
 - Após a definição da chave deve-se colocar o operador dois-pontos (:)
Inicialização
• Exemplo: vamos construir um dicionário para 
armazenar as informações de um aluno matriculado 
em Fundamentos de Programação I. 
– Que informações poderiam ser relevantes?
Inicialização
• Exemplo: vamos construir um dicionário para 
armazenar as informações de um aluno matriculado 
em Fundamentos de Programação I. 
– A título de exemplo, vamos considerar:
● Nome;
● Número de matrícula;
● Média final.
Inicialização
• Vamos construir um dicionário para o seguinte aluno:
Chave Valor
Nome do aluno: João das Neves
Número de Matrícula: 88888888
Média: 30.5
Inicialização
• Vamos construir um dicionário para o seguinte aluno:
aluno = {"Nome": "Joao das Neves",
 "Matricula": 88888888,
 "Media": 30.5}
Inicialização
• Vamos construir um dicionário para o seguinte aluno:
aluno = {"Nome": "Joao das Neves",
 "Matricula": 88888888,
 "Media": 30.5}
Nome da variável do tipo dicionário
Inicialização
• Vamos construir um dicionário para o seguinte aluno:
aluno = {"Nome": "Joao das Neves",
 "Matricula": 88888888,
 "Media": 30.5}
Nome da variável do tipo dicionário
Chaves
Inicialização
• Vamos construir um dicionário para o seguinte aluno:
aluno = {"Nome": "Joao das Neves",
 "Matricula": 88888888,
 "Media": 30.5}
Nome da variável do tipo dicionário
Chaves Valores
Acesso
• Um dicionário é acessado por suas chaves.
• Diferentemente de listas, onde o índice é um número, 
dicionários utilizam suas chaves como índice.
• Sintaxe para acesso:
nome_variavel[“nome_chave”]
Acesso
• Um dicionário é acessado por suas chaves.
• Diferentemente de listas, onde o índice é um número, 
dicionários utilizam suas chaves como índice.
• Sintaxe para acesso:
nome_variavel[“nome_chave”]
Atenção: 
 - nome_chave deve vir entre aspas duplas;
 - A chave a ser acessada deve ser especificada entre colchetes após a 
variável do tipo dicionário.
Acesso
• Exemplo: construir um programa que informe se o 
aluno João das Neves foi aprovado ou reprovado na 
disciplina.
aluno = {"Nome": "Joao das Neves",
 "Matricula": 88888888,
 "Media": 30.5}
if aluno["Media"] >= 60.0:
print("Joao das Neves foi aprovado")
else:
print("Joao das Neves foi reprovado")
Acesso
• Mais exemplos:
Acesso
• Mais exemplos:
O que aconteceria se houvesse uma tentativa de acesso a um índice 
numérico ou a uma chave inexistente?
Acesso
• Mais exemplos:
Índice 
numérico
Chave 
inexistente
Acesso
• Outro erro comum:
Duas chaves 
iguais
ATENÇÃO:
Um dicionário NÃO deve possuir chaves iguais.
Alteração
• Para se alterar um valor armazenado em um 
dicionário, basta realizar a alteração do valor por meio 
do acesso de sua chave correspondente.
• Exemplo: após a Avaliação de Recuperação, João das 
Neves obteve uma nova média geral na disciplina 
(informada pelo dispositivo de entrada padrão), faça 
um programa que leia a nova média e informe se o 
aluno em questão foi aprovado ou reprovado na 
disciplina.
Alteração
• Exemplo:
aluno = {"Nome": "Joao das Neves",
 "Matricula": 88888888,
 "Media": 30.5}
aluno["Media"] = float(input())
if aluno["Media"] >= 60.0:
print("Joao das Neves foi aprovado")
else:
print("Joao das Neves foi reprovado")
Alteração do valor 
armazenado
Criação de Nova Chave
• Em Python, é permitido a criação de uma nova chave 
para um dicionário, após a declaração do mesmo.
• Mecanismo: atribuição ou leitura de dados por meio 
de uma chave inexistente.
• Exemplo: considerando o dicionário utilizado nos 
exemplos anteriores, vamos criar a chave adicional 
Idade após a declaração/definição do dicionário.
Criação de Nova Chave
• Exemplo:
Criação de uma 
nova chave
Exemplo Completo 1
• Elabore um programa que utilize um vetor associativo 
(dicionário) para armazenar as informações de um 
dado carro. As informações a serem armazenadas são: 
fabricante, modelo, ano, cor e preço. Seu programa 
deverá então ler a informação do ano atual e informar 
se o carro é novo (ano fabricação => ano atual), 
seminovo (ano fabricação => últimos 4 anos), ou 
velho (ano fabricação => mais do que 4 anos).
carro = {"fabricante": "", "modelo": "", "ano": 0,
 "cor": "", "preco": 0}
 
carro["fabricante"] = input("Qual o fabricante: ")
carro["modelo"] = input("Qual o modelo: ")
carro["ano"] = int(input("Qual o ano do carro: "))
carro["cor"] = input("Qual a cor: ")
carro["preco"] = float(input("Qual o preco: "))
ano_atual = int(input("\nQual o ano atual: "))
if (carro["ano"] == ano_atual):
 print("NOVO")
elif (carro["ano"] > (ano_atual - 4)):
 print("SEMINOVO")
else:
 print("VELHO")
VERSÃO 1
carro = {}
 
carro["fabricante"] = input("Qual o fabricante: ")
carro["modelo"] = input("Qual o modelo: ")
carro["ano"] = int(input("Qual o ano do carro: "))
carro["cor"] = input("Qual a cor: ")
carro["preco"] = float(input("Qual o preco: "))
ano_atual = int(input("\nQual o ano atual: "))
if (carro["ano"] == ano_atual):
 print("NOVO")
elif (carro["ano"] > (ano_atual - 4)):
 print("SEMINOVO")
else:
 print("VELHO")
Dicionário vazio
VERSÃO 2
def dic(fab, mod, ano, cor, pre):
 return {"fabricante": fab, "modelo": mod, "ano": ano, "cor": cor, "preco": pre}
def mensagens(carro,ano_atual):
 if (carro["ano"] == ano_atual):
 print("NOVO")
 elif (carro["ano"] > (ano_atual - 4)):
 print("SEMINOVO")
 else:
 print("VELHO")
def principal():
 a = input("Qual o fabricante: ")
 b = input("Qual o modelo: ")
 c = int(input("Qual o ano do carro: "))
 d = input("Qual a cor: ")
 e = float(input("Qual o preco: "))
 ano_atual = int(input("\nQual o ano atual: "))
 carro = dic(a,b,c,d,e)
 mensagens(carro,ano_atual)
principal() VERSÃO 3
Exemplo Completo 2
• Escreva um programa que gere um dicionário, onde 
cada chave seja uma vogal, e seu valor seja o número 
de vezes que aquela vogal é encontrada em uma frase 
lida.
• Exemplo: O rato → {“a”: 1, “e”:0, ”i”: 0, “o”: 2, “u”: 0}
def principal():
 vogais = {"a": 0, "e": 0, "i": 0, "o": 0, "u": 0}
 frase = input()
 for l in frase:
if l == "a" or l == "A":
vogais["a"] += 1
if l == "e" or l == "E":
vogais["e"] += 1
if l == "i" or l == "I":
vogais["i"] += 1
if l == "o" or l == "O":
vogais["o"] += 1
if l == "u" or l == "U":
vogais["u"] += 1
 print(vogais)
principal()Exercícios
1. Crie um dicionário e armazene nele os seus dados: 
nome, número de matrícula e curso. Imprima todos os 
dados usando o padrão chave: valor. O primeiro par 
a ser exibido deve ser o seu nome, o segundo deve 
ser o número de matrícula e o último seu curso.
Exercícios
2. Crie um dicionário que armazene as seguintes 
informações de uma dada pessoa: nome, idade e 
telefone. Se a pessoa for menor de idade, seu 
programa deverá exibir no dispositivo de saída padrão 
o nome desta pessoa escrito ao contrário. Se ela for 
maior de idade, o programa deverá exibir o telefone 
escrito ao contrário.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30

Outros materiais