1. Gere matriz 4 times 4 com valores no intervalo [1, 20]. Escreva um programa que transforme a matriz gerada numa matriz triangular inferior, ou seja, atribuindo zero a todos os elementos acima da diagonal principal. Imprima a matriz original e a matriz transformada.

Passo 1

O exercício pede para gerar uma matriz 4×4 com valores inteiros aleatórios entre 1 e 20, e em seguida transformar essa matriz em uma triangular inferior, zerando todos os elementos acima da diagonal principal. O conteúdo envolve geração de números aleatórios, estruturas de repetição aninhadas e manipulação de índices de matriz.

Passo 2

Primeiro, vamos gerar a matriz original. Podemos usar um laço duplo (for) para criar as 4 linhas e 4 colunas, e em cada posição sortear um inteiro entre 1 e 20 usando a função apropriada da biblioteca de números aleatórios.

Passo 3

Depois, para transformar a matriz em triangular inferior, usamos outro laço duplo. Em cada posição (i,j), verificamos se j > i (ou seja, se estamos acima da diagonal principal). Se sim, atribuímos zero àquela posição.

Passo 4

Por fim, imprimimos primeiro a matriz original e depois a matriz transformada, respeitando o formato matricial para facilitar a visualização.

Resposta

import random

Função para gerar uma matriz 4×4 com valores de 1 a 20

def gerar_matriz_4x4():
matriz = []
for i in range(4):
linha = []
for j in range(4):
linha.append(random.randint(1, 20))
matriz.append(linha)
return matriz

Função para transformar matriz em triangular inferior

Zeramos todos os elementos onde a coluna j for maior que a linha i

def triangular_inferior(matriz):
n = len(matriz)
for i in range(n):
for j in range(n):
if j > i:
matriz[i][j] = 0
return matriz

Função para imprimir a matriz

def imprimir_matriz(matriz):
for linha in matriz:
print(’ '.join(f"{val:2d}" for val in linha))
print()

Programa principal

def main():
# Gera a matriz original
matriz_original = gerar_matriz_4x4()
print("Matriz Original:")
imprimir_matriz(matriz_original)

# Cria uma cópia para não alterar a original (opcional)
from copy import deepcopy
matriz_triangular = deepcopy(matriz_original)

# Transforma em triangular inferior
triangular_inferior(matriz_triangular)

print("Matriz Triangular Inferior:")
imprimir_matriz(matriz_triangular)
if name == “main”:
main()

Exercícios relacionados