Questão 6.

Escreva um programa que receba a dimensão de uma matriz de ordem n, em seguida imprima uma matriz triangular superior randômica.

Passo 1

O enunciado pede um programa que leia um inteiro n (a ordem da matriz) e imprima uma matriz n\times n em que todos os elementos abaixo da diagonal principal sejam zero e os elementos na diagonal e acima dela sejam valores gerados aleatoriamente. O conteúdo aqui é geração de números randômicos e controle de índices em loops aninhados.

Passo 2

Para cada posição (i,j) da matriz, com i e j variando de 0 a n-1, devemos:
– se j<i, atribuir zero (parte inferior estritamente triangular);
– se j\ge i, atribuir um valor aleatório (da diagonal para cima).
Isso exige um duplo laço aninhado.

Passo 3

Em Python, podemos usar o módulo random para gerar valores inteiros aleatórios. Primeiro lemos n com int(input()), depois criamos estrutura de laços for i in range(n): for j in range(n): …. Dentro dos laços, testamos if j < i: então valor = 0 senão valor = random.randint(a, b) (por exemplo de 0 a 9). Em seguida, imprimimos linha a linha, formatando elementos separados por espaço.

Passo 4

O programa completo em Python fica assim:

Resposta

import random

n = int(input("Digite a ordem da matriz: "))
for i in range(n):
 linha = []
 for j in range(n):
 if j < i:
 linha.append(0)
 else:
 linha.append(random.randint(0, 9))
 print(' '.join(str(x) for x in linha))

Exercícios relacionados