Você está na página 1de 31

Listas de Listas e Matrizes

Profa. Elloá B. Guedes


www.elloaguedes.com
Escola Superior de Tecnologia, Universidade do Estado do Amazonas
Nomenclatura
Listas de Listas nem sempre é
o mesmo que Matriz

2
Listas de Listas

>>> lista1 = [20,40,60]


>>> lista2 = ["joao","maria","jose"] Lista Aninhada!
>>> lista3 = [1, 2.5,"paulo",lista2]
>>> print(lista3)
[1, 2.5, 'paulo', ['joao', 'maria', 'jose']]
>>>

3
Listas Aninhadas
4

lista4 = [2.5,"paulo",[10,20]]

Lista Aninhada
Como acessar os
elementos da lista mais
interna?

4
Listas de Listas
•Indexação de elementos

•Considerando o caso de duas lista aninhadas

•O primeiro índice refere-se à lista mais externa, enquanto o segundo


índice refere-se à lista mais interna

5
Listas de Listas
•Indexação de elementos

•Índices começam no valor zero até tamanho-1

•Considerando o caso de duas lista aninhadas

•O primeiro índice refere-se à lista mais externa, enquanto o segundo


índice refere-se à lista mais interna

6
Lista de Listas
•Qual a saída?

7
Listas de Listas como Matrizes
•Listas aninhadas

•Lista mais externa: seus elementos são apenas listas


•Listas internas: contém valores numéricos ou strings
•Todas as listas internas são do mesmo tamanho
• Contém o mesmo número de elementos

8
Listas de Listas como Matrizes

9
Listas de Listas como Matrizes

Lista externa

10
Listas de Listas como Matrizes

Listas internas

11
Listas de Listas como Matrizes
•Quantidade de linhas: quantos elementos a lista externa vai ter
•Quantidade de colunas: quantos elementos cada lista interna vai ter

•Para padronizar:
• Lista externa: iteração com índice i
• Listas internas: iteração com índice j

•Linhas e colunas normalmente solicitados do usuário

12
Listas de Listas como Matrizes

13

13
Matrizes – Leitura

14
Matrizes – Impressão
•Evite utilizar a impressão da matriz com print
• Difícil de visualizar a estrutura

•Opte por imprimir uma linha abaixo da outra!

15
Listas de Listas como Matrizes
•Matriz quadrada
• É a matriz que possui o mesmo número de linhas e colunas

•Ao invés de chamarmos de linha e coluna, teremos a ordem da matriz

•Várias verificações com matrizes quadradas:


• Diagonal principal, diagonal secundária, etc.

16
Conceitos de Matrizes
Diagonal Principal
i=j

10 5 -3 17 82

9 0 0 8 -7

32 20 1 0 14

0 0 8 7 -6

-1 5 4 12 100

17

17
Conceitos de Matrizes
Triângulo Superior
i<j

10 5 -3 17 82

9 0 0 8 -7

32 20 1 0 14

0 0 8 7 -6

-1 5 4 12 100

18

18
Conceitos de Matrizes
Triangular Inferior
i>j

10 5 -3 17 82

9 0 0 8 -7

32 20 1 0 14

0 0 8 7 -6

-1 5 4 12 100

19

19
Conceitos de Matrizes
Diagonal Secundária
i + j == ordem - 1

10 5 -3 17 82

9 0 0 8 -7

32 20 1 0 14

0 0 8 7 -6

-1 5 4 12 100

20

20
Conceitos de Matrizes

Diagonal Principal Diagonal Secundária

Elementos da DP: i == j Elementos da DS: i +j == ordem -1

Elementos acima da DP: i <j Elementos acima da DS: i+j <= ordem
-2
Elementos abaixo da DP: i > j Elementos abaixo da DS: i + j >=
ordem

21

21
Exercícios
•Leia uma matriz 10x10 de números reais e informe o traço dessa matriz.

•O traço de uma matriz corresponde à soma dos números da sua diagonal


principal

22

22
Exercícios
•Crie um algoritmo que leia uma matriz de inteiros de ordem 7 e imprima
uma determinada linha da matriz, informada via teclado.

23

23
Exercícios
•Leia uma matriz de valores reais de dimensão 4 x 5. Gere e imprima a
matriz metade, cujos elementos correspondem à metade dos elementos
da matriz original.

24

24
Exercícios
•Faça um algoritmo para ler uma matriz 100X100 de inteiros positivos. Em
seguida, verifique, somente para as linhas pares da matriz, quais os
elementos são múltiplos de 5 e coloque-os em um vetor. Ao final imprimir
o vetor resultante.

25

25
Exercícios
•Faça um algoritmo para ler uma matriz 100 x 100 de inteiros. Em seguida,
nas linhas ímpares, o algoritmo deverá capturar os valores pares
encontrados e colocá-los, se existirem, em um vetor (VP) e trocar, na
matriz, pelo número 1. Depois, para as linhas pares, o algoritmo deverá
capturar os valores ímpares encontrados e colocá-los, se existirem, em
um vetor (VI) e trocar, na matriz, pelo número 2. Ao final imprimir a
matriz A e os vetores VP e VI.

26

26
Exercícios
•Leia uma matriz de caracteres de dimensões 3x2 e calcule a sua matriz
transposta. A matriz transposta é gerada a partir da matriz original em
que as linhas são trocadas pelas colunas.
1 2 3
4 5 6

1 4
2 5
3 6

27

27
Exercícios
•Crie um algoritmo em Python para armazenar as alturas de dez atletas de
cinco delegações que participarão do Torneio Latino-americano de
Basquete. Imprimir a maior altura de cada delegação.

28

28
Exercícios
•Criar um algoritmo que leia e armazene os elementos de uma matriz M
inteira de 60x60 e que imprima o vetor SOMA, que é a soma dos vetores
A e B assim gerados:

•A: contém todos os elementos acima da DS


•B: contém todos os elementos abaixo da DP
•SOMA: A + B

29

29
Exercícios
•Crie um algoritmo que leia uma matriz de inteiros de dimensão 25 X 25 e
ordene cada linha em ordem crescente. Imprima a matriz antes e depois
da ordenação.

30

30
Exercícios
•(UEA/EST 2015.1) Faça um programa em C que preencha uma matriz
30x30 de inteiros com os números da série de Fibonacci em sequência e a
partir das linhas. Para tanto, lembre-se que a série de Fibonacci inicia com
os valores 0 e 1 e os demais números desta série são obtidos a partir da
soma dos dois números anteriores. Ao final, imprima a matriz. Cuidado
para não fazer mais laços que o necessário! Exemplo:
0 1 1 2 3
5 8 13 21 34
55 89 144 233 377
610 987 1597 2584 4181
31

6765 10946 17711 28657 46368

Você também pode gostar