Questão 7.

Escreva um programa para entrar com valores para uma matriz A_{n x n}, 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 n, crie uma matriz A de dimensão n\times n e preencha seus elementos de modo que:
  • na diagonal principal ( i=j) tenhamos 0,
  • nas posições acima da diagonal ( j>i) tenhamos 2,
  • nas posições abaixo da diagonal ( j<i) tenhamos 5.
    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 n e criamos uma estrutura de dados para armazenar a matriz A. 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 i variando de 0 até n-1, e o interno para o índice de coluna j variando de 0 até n-1. Em cada iteração, testamos:
  • se i=j, atribuímos A[i][j]=0;
  • caso contrário, se j>i, atribuímos A[i][j]=2;
  • senão (ou seja, j<i), atribuímos A[i][j]=5.

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)

Exercícios relacionados