Olás,
Nas últimas reuniões temos contruído um módulo de nome matriz.py
para manipularmos de matrizes. Este módulo está disponível com os rascunhos da última reunião. Amanhã vamos utilizar as funções desse módulo.
Antes da nossa reunião de amanhã de madrugada procurem dar uma olhada nas simulações a seguir que envolvem a criação de matrizes e a função gire_horizontal()
da reunião de ontem:
Essas duas versões têm o mesmo comportamente? Olhando para o resultado do print()
parece que têm, certo?! Mas olhando para as flechas …
Procurem lembrar dos nossos mantras:
- atribuções não criam nada, apenas criam ou alteram um apelido;
- posições de listas e de matrizes são apelidos para coisas/objetos;
- “antes de entrar no elevador, verifique se ele está parado no andar”
Criar uma matriz é meio embaçado. Talvez seja melhor deixar esse serviços para funções como a init_matriz()
que ganha a vida fazendo isso.
té +,
hitoshi e coelho
P.S. Aqui vai a lista de funções que temos em matriz.py
:
init_matriz(nlins, ncols, val=0)
: cria uma matriz de dimensãon
l
i
n
s
×
n
c
o
l
s
leia_matriz()
: invólocro paraleia_matriz_teclado()
eleia_matriz_arquivo()
leia_matriz_teclado()
: para leitura de matrizes através de digitação no tecladoleia_matriz_arquivo(nome_arq)
: para leitura de matrizes de arquivosexiba_matriz(mt)
: exibe a matrizmt
str_matriz(mt)
: retorna uma string que representamt
grave_matriz(mt, nome_arq)
: cria um arquivonome_arq
e gravamt
nesse arquivosimetrica(mt)
: verifica semt
é simetricalinhas_val(mt, val)
: conta linhas com todos valores iguais aval
colunas_val(mt, val)
: conta colunas com todos valores iguais aval
diagonais(mt, val)
: verifica se diagonais têm apenas valorval
gire_horizontal(no)
: retorna uma matriz que émt
de “ponta-cabeça”gire_vertical()
: retorna uma matriz que émt
“refletida” no espelhorode_dir(mt)
: retorna uma matriz que émt
rotacionada para a direitarode_esq(mt)
: retorna uma matriz que émt
rotacionada para a direitaprod(mtA, mtB)
: retorna o produto damtA
pormtB
(exercício)