Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma Matriz Triangular Superior em Python - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 848 vezes |
|
Pergunta/Tarefa: Uma Matriz Triangular Superior é a matriz na qual todos os termos que estão abaixo da diagonal principal são iguais a zero e os termos que estão acima da diagonal principal são números reais. Veja um exemplo de Matriz Triangular Superior na imagem abaixo: ![]() Escreva um programa Python que pede para o usuário informar o número de linhas e colunas de uma matriz quadrada. Em seguida solicite os valores para cada um dos elementos da matriz. Para finalizar informe ao usuário se a matriz informada é uma matriz triangular superior. Sua saída deverá ser parecida com:
Número de linhas e colunas da matriz: 3
Valor para a linha 0 e coluna 0: 8
Valor para a linha 0 e coluna 1: 2
Valor para a linha 0 e coluna 2: 3
Valor para a linha 1 e coluna 0: 0
Valor para a linha 1 e coluna 1: 3
Valor para a linha 1 e coluna 2: 9
Valor para a linha 2 e coluna 0: 0
Valor para a linha 2 e coluna 1: 0
Valor para a linha 2 e coluna 2: 2
Valores na matriz
8 2 3
0 3 9
0 0 2
A matriz é uma matriz triangular superior
Veja a resolução comentada deste exercício usando Python: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# função principal do programa
def main():
# vamos pedir a ordem da matriz
ordem = int(input("Número de linhas e colunas da matriz: "))
# agora vamos construir a matriz
matriz = [[0 for x in range(ordem)] for y in range(ordem)]
# vamos ler os valores para os elementos da matriz
for i in range(len(matriz)):
for j in range(len(matriz[i])):
matriz[i][j] = int(input("Elemento na linha [%d] e coluna [%d]: " % (i, j)))
# vamos mostrar a matriz da forma que ela foi informada
print("\nValores na matriz:\n");
for i in range(len(matriz)):
for j in range(len(matriz[i])):
print("%5d " % matriz[i][j], end=' ')
print()
# agora vamos testar se a matriz é uma matriz triangular
# superior
triangular_superior = True
for i in range(len(matriz)):
for j in range(len(matriz[i])):
# a condição para que a matriz seja triangular superior é
# que os elementos abaixo da diagonal principal sejam
# iguais a zero
if((j < i) and (matriz[i][j] != 0)):
triangular_superior = False
if(triangular_superior):
print("\nA matriz é uma matriz triangular superior")
else:
print("\nA matriz não é uma matriz triangular superior")
if __name__== "__main__":
main()
Listamos abaixo algumas propriedades específicas da matriz triangular. 1) o determinante de uma matriz triangular é igual ao produto dos termos da diagonal principal. 2) o produto entre duas matrizes triangulares é uma matriz triangular. 3) se um dos termos da diagonal principal da matriz triangular for igual a zero, então o seu determinante será igual a zero e, consequentemente, ela não será inversível. 4) a matriz inversa de uma matriz triangular é também uma matriz triangular. 5) a soma de duas matrizes triangulares superiores é uma matriz triangular superior; de forma análoga, a soma de duas matrizes triangulares inferiores é uma matriz triangular inferior. |
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
C# - Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows Forms |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






