Escreva um programa que peça para o usuário entrar com o número de linhas (m), colunas ( n ) e os elementos de uma matriz
e depois calcule e mostre a matriz
, tal que
é igual à transposta de
Passo 1
Beleza, vamos lá! O exercício pede para criar um programa que recebe o número de linhas (m) e colunas (n) de uma matriz A, pega os elementos dessa matriz, e depois calcula e mostra uma nova matriz B, que é a transposta de A multiplicada por A transposta. Isso envolve conceitos de matrizes e transposição, então vamos precisar entender como manipular matrizes e fazer multiplicações delas no programa.
Passo 2
Primeiro, vamos pedir para o usuário entrar com o número de linhas (m) e colunas (n) da matriz A. Isso vai definir o tamanho da nossa matriz.
m = int(input("Digite o número de linhas da matriz A: "))
n = int(input("Digite o número de colunas da matriz A: "))
Passo 3
Agora, vamos coletar os elementos da matriz A. Vamos usar listas aninhadas em Python para representar a matriz.
A = []
print("Digite os elementos da matriz A:")
for i in range(m):
linha = []
for j in range(n):
elemento = float(input(f"A[{i+1}][{j+1}] = "))
linha.append(elemento)
A.append(linha)
Passo 4
Vamos criar uma função para calcular a transposta de uma matriz. A transposta de uma matriz A é obtida trocando suas linhas por colunas.
def transposta(matriz):
linhas = len(matriz)
colunas = len(matriz[0])
transposta = []
for j in range(colunas):
nova_linha = []
for i in range(linhas):
nova_linha.append(matriz[i][j])
transposta.append(nova_linha)
return transposta
Passo 5
Agora, vamos calcular a transposta de A usando a função que criamos.
A_transposta = transposta(A)
Passo 6
Para calcular a matriz B, que é a multiplicação da transposta de A pela transposta de A, precisamos garantir que as dimensões estão compatíveis para a multiplicação de matrizes. A matriz A_transposta tem dimensões n x m, então para multiplicar A_transposta por A_transposta, o número de colunas da primeira deve ser igual ao número de linhas da segunda. No nosso caso, ambas são n x m, então podemos prosseguir.
Vamos criar uma função para multiplicar duas matrizes.
def multiplicar_matrizes(matriz1, matriz2):
resultado = []
for i in range(len(matriz1)):
linha = []
for j in range(len(matriz2[0])):
soma = 0
for k in range(len(matriz2)):
soma += matriz1[i][k] * matriz2[k][j]
linha.append(soma)
resultado.append(linha)
return resultado
Passo 7
Agora, vamos calcular B multiplicando A_transposta por A_transposta.
B = multiplicar_matrizes(A_transposta, A_transposta)
Passo 8
Por fim, vamos mostrar a matriz B para o usuário de forma organizada.
print("Matriz B (A Transposta x A Transposta):")
for linha in B:
print(linha)
Resposta
Prontinho! O programa vai solicitar os tamanhos e elementos da matriz A, calcular a transposta dela, multiplicar a transposta por ela mesma, e exibir a matriz B resultante.
Se você rodar o programa e inserir, por exemplo:
Digite o número de linhas da matriz A: 2
Digite o número de colunas da matriz A: 3
Digite os elementos da matriz A:
A[1][1] = 1
A[1][2] = 2
A[1][3] = 3
A[2][1] = 4
A[2][2] = 5
A[2][3] = 6
A saída será:
Matriz B (A Transposta x A Transposta):
[17.0, 22.0, 27.0]
[22.0, 29.0, 36.0]
[27.0, 36.0, 45.0]
Essa matriz B é o resultado da multiplicação da transposta de A por ela mesma.
Exercícios relacionados
Faça um programa que preencha uma matriz
e calcule e mostre o seu maior elemento
Modifique o programa (notas_lista.py) de modo a mostrar as notas digitadas ao final do programa (tente usar os dois modos)
Cada espectador de um cinema respondeu a um questionário no qual constava sua idade e sua opinião em relação ao filme: ótimo - 3; bom - 2; regular-1. Faça um programa que receba a idade e a opinião de 15 espectadores, calcule e mostre:
a) A média das idades das pessoas que responderam ótimo;
b) a quantidade de pessoas que responderam regular;
c) e a percentagem de pessoas que responderam bom, entre todos os espectadores analisados
a) A média das idades das pessoas que responderam ótimo;
b) a quantidade de pessoas que responderam regular;
c) e a percentagem de pessoas que responderam bom, entre todos os espectadores analisados
Faça um programa que preencha uma matriz
, calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo seu maior elemento