Questão 7.
Escreva um programa para entrar com valores para uma matriz
, em que, os elementos da diagonal principal sejam iguais a zero, os elementos acima da diagonal principal sejam 2 e os elementos abaixo da diagonal principal sejam 5.
Passo 1
O enunciado pede um programa que, dado um inteiro
, crie uma matriz
de dimensão
e preencha seus elementos de modo que:
- na diagonal principal (
) tenhamos , - nas posições acima da diagonal (
) tenhamos , - nas posições abaixo da diagonal (
) tenhamos .
O conteúdo envolve laços de repetição aninhados para percorrer linhas e colunas e estruturas condicionais para atribuir cada valor.
Passo 2
Primeiro, lemos o valor de
e criamos uma estrutura de dados para armazenar a matriz
. Em Python, podemos usar uma lista de listas, inicializando com zeros ou deixando vazia para preencher depois.
Passo 3
Usamos dois laços for aninhados: o externo para o índice de linha
variando de
até
, e o interno para o índice de coluna
variando de
até
. Em cada iteração, testamos:
- se
, atribuímos ; - caso contrário, se
, atribuímos ; - senão (ou seja,
), atribuímos .
Passo 4
Depois de preencher toda a matriz, imprimimos seus elementos linha a linha, formatando para que cada linha saia numa única linha de saída, com espaços entre os elementos.
Resposta
def cria_matriz(n):
# inicializa A como lista de listas
A = [[0]*n for _ in range(n)]
# percorre índices i (linhas) e j (colunas)
for i in range(n):
for j in range(n):
if i == j:
A[i][j] = 0
elif j > i:
A[i][j] = 2
else: # j < i
A[i][j] = 5
return A
def imprime_matriz(A):
for linha in A:
print(' '.join(str(x) for x in linha))
# entrada do usuário
n = int(input("Digite o valor de n: "))
matriz = cria_matriz(n)
imprime_matriz(matriz)