Elabore um código em uma tecnologia ( C / C++ ou Python) que dada duas matrizes A e B quadradas de ordem 3 times 3, calcule as seguintes propriedades:
B A

Passo 1

O enunciado pede a multiplicação das duas matrizes quadradas A e B de ordem 3times3, mas na ordem B,A. O conteúdo da matéria é multiplicação de matrizes: cada elemento da matriz resultado C = B,A é dado pela soma dos produtos da linha correspondente de B pelos elementos da coluna correspondente de A. Para resolver, vamos usar três laços aninhados que percorrem índices i,j,k de 0 a 2.

Passo 2

Representamos cada matriz como uma lista de três listas em Python, ou seja, A[i][j] é o elemento da linha i e coluna j. Faremos o mesmo para B. Lemos as matrizes linha a linha. Por simplicidade, assumimos que o usuário fornece 9 números em cada matriz, separados por espaço ou nova linha.

Passo 3

Inicializamos a matriz resultado C com zeros e depois preenchemos cada entrada com
Cij ;=;sumk=0^2 Bik,Akj

Passo 4

Por fim, exibimos C formatando linha a linha de forma legível.

Resposta

# multiplicacao_ba.py

def le_matriz_3x3(nome):
    print(f"Digite os \(9\) elementos de {nome}, linha a linha:")
    M = []
    for i in range(\(3\)):
        linha = list(map(float, input().split()))
        if len(linha) != \(3\):
            raise ValueError("Cada linha deve ter \(3\) elementos.")
        M.append(linha)
    return M

def multiplica_3x3(B, A):
    # inicializa C com zeros
    C = [[0.0 for _ in range(\(3\))] for _ in range(\(3\))]
    # C = B * A
    for i in range(\(3\)):
        for j in range(\(3\)):
            soma = 0.0
            for k in range(\(3\)):
                soma += B[i][k] * A[k][j]
            C[i][j] = soma
    return C

def imprime_matriz(M):
    for linha in M:
        print(" ".join(f"{x:.\(2\)f}" for x in linha))

def main():
    A = le_matriz_3x3("A")
    B = le_matriz_3x3("B")
    C = multiplica_3x3(B, A)
    print("Matriz C = B * A:")
    imprime_matriz\text{(C)}

if __name__ == "__main__":
    main()

Exercícios relacionados