Questão 6.
Escreva um programa que receba a dimensão de uma matriz de ordem
, em seguida imprima uma matriz triangular superior randômica.
Passo 1
O enunciado pede um programa que leia um inteiro
(a ordem da matriz) e imprima uma matriz
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
da matriz, com
e
variando de
a
, devemos:
– se , atribuir zero (parte inferior estritamente triangular);
– se , atribuir um valor aleatório (da diagonal para cima).
Isso exige um duplo laço aninhado.
– se
– se
Isso exige um duplo laço aninhado.
Passo 3
Em Python, podemos usar o módulo com
random para gerar valores inteiros aleatórios. Primeiro lemos
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))