Aula 05 Variáveis Compostas Homogêneas Parte 01 Prof. Filipe Wall Mutz
Motivação Em determinadas situações, é necessário operar mais de uma vez sobre os dados de entrada. Ex.: Leia os nomes e as notas de N alunos e mostre na tela os nomes daqueles que tiveram a nota maior ou igual à média. Solução usando os Conceitos Antigos: Ler os dados duas vezes, uma vez para calcular a média e outra para listar quem possui a nota maior que a média.
Motivação Em determinadas situações, é necessário operar mais de uma vez sobre os dados de entrada. Ex: Leia N números e mostre-os na tela de trás para frente. Solução usando os Conceitos Antigos: Armazenar todos os valores em variáveis e listálos
Variáveis compostas homogêneas correspondem a várias posições de memória, identificadas por um mesmo nome, individualizadas por índices e cujo conteúdo é de mesmo tipo. Exemplo: O conjunto de 10 notas dos alunos de uma disciplina pode constituir uma variável composta. A este conjunto associa-se o identificador NOTA que passará a identificar não uma única posição de memória mas 10. NOTA 10 5 8 10 7 7 10 10 0 10 0 1 2 3 4 5 6 7 8 9
Acesso aos Elementos A referência ao conteúdo do n-ésimo elemento do conjunto será indicada pela notação NOTA[n] onde n é um número inteiro ou uma variável numérica contendo um valor inteiro NOTA 10 5 8 10 7 7 10 10 0 10 0 1 2 3 4 5 6 7 8 9 NOTA[2] se refere ao 3º elemento do conjunto cujo conteúdo é 8.
Variáveis Compostas em Python A forma mais simples de representar variáveis compostas em Python é usando listas. # cria uma variável nota do tipo # lista com 3 elementos: 1, 2 e 3. nota = [7, 8, 9] print(nota[0]) # exibe 7 print(nota[1]) # exibe 8 print(nota[2]) # exibe 9 # ERROR!: list index out of range print(nota[3])
Variáveis Compostas em Python A forma mais simples de representar variáveis compostas em Python é usando listas. # cria uma variável nota do tipo # lista com 3 elementos: 1, 2 e 3. nota = [7, 8, 9] print(nota[0]) # exibe 7 print(nota[1]) # exibe 8 print(nota[2]) # exibe 9 # ERROR!: list index out of range print(nota[3])
Criação de Listas em Python a = 10 b = 15 c = a d = [a, b, c, 18] print(d) d = ["oi", "lista", "tudo", "joia?"] print(d) print(d[2]) print(len(d)) nº de elementos na lista
Acesso em Loops x = [2, 1, 2, 3, 5] print(x[0]) print(x[1]) print(x[2]) print(x[3]) print(x[4]) x = [2, 1, 2, 3, 5] c = 0 while c < 5: print(x[c]) c = c + 1
Exemplo Mostrar os elementos de trás para frente x = [2, 1, 2, 3, 5] print(x[4]) print(x[3]) print(x[2]) print(x[1]) print(x[0]) x = [2, 1, 2, 3, 5] c = 4 while c >= 0: print(x[c]) c = c - 1
Ler 10 números e armazená-los em uma lista # cria uma lista vazia x = [] c = 0 while c < 5: a = float(input("numero: ")) # adiciona o elemento a no # final da lista x.append(a) c = c + 1 print(x)
Exercícios Seja X = [1, 8, 3, 3, 10, 10, 9, 9]. 1. Faça um programa que verifique se o quarto elemento da lista é maior que 10. 2. Faça um programa que some os elementos da lista X. 3. Mostre na tela o maior elemento da lista e o menor. 4. Faça um programa que substitua dois elementos da lista. 5. Faça um programa que mostre na tela os elementos ímpares de X. 6. Faça um programa que calcule a média dos elementos pares da lista X. 7. Faça um programa que faça todos os elementos da lista X iguais a 2. 8. Faça um programa que leia 10 números inteiros, calcule a média e mostre os números maiores que 60.
Mais problemas 1. Faça uma função que tenha como entrada uma lista L e um número N e retorne uma lista com os índices dos elementos de L iguais a N. 2. Faça uma função que leia duas listas, intercale os elementos dela em uma nova lista e retorne o resultado. 3. Faça uma função que receba como entrada uma lista L e retorne o índice do menor elemento de A. 4. Leia N números e mostre na tela os seus valores ordenados.
Distância de Hamming A distância de Hamming mede o número de bits diferentes em dois padrões de bits. 1 1 0 0 1 0 1 1 0 0 0 1 0 0 1 1 1 1 1 0 +1 +1 +1 Distância de Hamming = 3 Faça uma função em Python que receba como entrada duas listas preenchidas com 1s e 0s e calcule a distância de Hamming entre elas. OBS: Verifique se as listas possuem o mesmo tamanho.
O IFES deseja descobrir quais alunos estão matriculados nas disciplinas Bancos de Dados 2 e Comércio Eletrônico simultaneamente. Faça um programa em Python capaz de exibir essa informação.
Faça um programa para corrigir questões de múltipla escolha. O programa deverá ler o gabarito de uma prova que vale 100 pontos e com um número de questões que não se sabe a priori, todas valendo a mesma pontuação. Em seguida, deverá ler as respostas dadas pelos alunos e mostrar a nota de cada aluno, se ele foi aprovado ou não (nota de corte = 60).