Você está aqui: VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma Matriz Triangular Superior em VisuAlg - Exercícios Resolvidos de VisuAlgQuantidade de visualizações: 620 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 VisuAlg 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 VisuAlg: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
algoritmo "Matriz Triangular Superior em VisuAlg"
var
// variáveis usadas na resolução do problema
// como o VisuAlg não permite a passagem de variáveis
// na criação do vetor ou matriz, vamos criar uma matriz
// de no máximo 10 linhas e 10 colunas
matriz:vetor[1..10, 1..10] de inteiro
ordem, i,j: inteiro
triangular_superior: logico
inicio
// vamos pedir a ordem da matriz
escreva("Número de linhas e colunas da matriz: ")
leia(ordem)
// vamos pedir para o usuário informar os valores
// dos elementos da matriz, uma linha de cada vez
escreval()
para i de 1 ate ordem faca
para j de 1 ate ordem faca
escreva("Linha", i, "e coluna", j, ": ")
leia(matriz[i, j])
fimpara
fimpara
// vamos mostrar a matriz da forma que ela foi informada
escreval()
escreval("Valores na matriz:")
escreval()
para i de 1 ate ordem faca
para j de 1 ate ordem faca
escreva(matriz[i, j]:5, " ")
fimpara
// passa para a próxima linha da matriz
escreval()
fimpara
// agora vamos testar se a matriz é uma matriz triangular
// superior
triangular_superior <- verdadeiro
para i de 1 ate ordem faca
para j de 1 ate ordem faca
// a condição para que a matriz seja triangular superior é
// que os elementos abaixo da diagonal principal sejam
// iguais a zero
se ((j < i) e (matriz[i, j] <> 0)) entao
triangular_superior <- falso
fimse
fimpara
fimpara
escreval()
se triangular_superior = verdadeiro entao
escreval("A matriz é uma matriz triangular superior")
senao
escreva("A matriz não é uma matriz triangular superior")
fimse
fimalgoritmo
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 VisuAlg |
Veja mais Dicas e truques de VisuAlg |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







