O procedimento abaixo preenche uma matriz quadrada n × n com...
• −1 nos elementos abaixo da diagonal principal;
• 0 nos elementos da diagonal principal;
• 1 nos elementos acima da diagonal principal.
procedure PreencheMatriz;
var
i, j: integer;
begin
for i:= 1 to n do
for j := 1 to n do
if i > j then matriz[i,j] := ?
else if i < j then matriz[i,j] := ?
else matriz[i,j] := ?
end;
Os valores que devem ser respectivamente colocados no primeiro, segundo e terceiro comandos de atribuição, marcados no código com uma interrogação (?), para o preenchimento correto da matriz são:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: E - -1, 1, 0
Explicação:
A questão aborda a estrutura e manipulação de uma matriz, especificamente uma matriz quadrada de dimensão n × n. Para resolver a questão, é necessário entender a disposição dos elementos em relação à diagonal principal da matriz:
- Diagonal principal: São os elementos onde o índice da linha (i) é igual ao índice da coluna (j).
- Elementos abaixo da diagonal principal: São os elementos onde o índice da linha (i) é maior que o índice da coluna (j).
- Elementos acima da diagonal principal: São os elementos onde o índice da linha (i) é menor que o índice da coluna (j).
Com base na descrição da matriz fornecida na questão:
- -1 nos elementos abaixo da diagonal principal.
- 0 nos elementos da diagonal principal.
- 1 nos elementos acima da diagonal principal.
Vamos analisar como os valores são atribuídos na matriz, de acordo com as condições:
Condições e atribuições:
- Se i > j, a matriz deve receber -1.
- Se i < j, a matriz deve receber 1.
- Se i = j (diagonal principal), a matriz deve receber 0.
A substituição dessas condições no código ficaria assim:
if i > j then matriz[i,j] := -1
else if i < j then matriz[i,j] := 1
else matriz[i,j] := 0
Por isso, a alternativa correta é a E - -1, 1, 0.
Agora, vamos justificar por que as outras alternativas estão incorretas:
Alternativa A - 1, -1, 0
Está incorreta porque atribui 1 aos elementos abaixo da diagonal principal (i > j) e -1 aos elementos acima da diagonal principal (i < j), o que é oposto ao descrito na questão.
Alternativa B - 1, 0, -1
Está incorreta porque atribui 1 aos elementos abaixo da diagonal principal (i > j) e 0 aos elementos acima da diagonal principal (i < j), não considerando a descrição correta.
Alternativa C - 0, -1, 1
Está incorreta porque coloca 0 nos elementos abaixo da diagonal principal (i > j) e -1 nos elementos da diagonal principal (i = j), o que está incorreto conforme a descrição da questão.
Alternativa D - -1, 0, 1
Embora esteja parcialmente correta, está incorreta porque atribui 0 aos elementos acima da diagonal principal (i < j) e 1 aos elementos da diagonal principal (i = j), o que está errado.
Espero que esta explicação tenha ajudado a esclarecer o raciocínio por trás da matriz e a identificar as atribuições corretas. Se tiver mais dúvidas, sinta-se à vontade para perguntar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
i são as linhas da matriz
j são as colunas da matriz
se i for maior que j, ou seja, se a linha for maior que a coluna, eu estou abaixo da diagonal principal, logo essa posição deve ser -1
se i for menor que j, ou seja, se a linha for menor que a coluna, eu estou acima da diagonal principal, logo essa posição deve ser 1
e se caso nenhuma dessas condições acima seja verdadeira, eu tenho que linha é igual a coluna que é igual a diagonal principal, logo essa posição deve ser 0
ALTERNATIVA E
Supondo:
n = 5
A impressão ficaria assim:
01111
-10111
-1-1011
-1-1-101
-1-1-1-10
Logo:
[1,0] = -1 -> equivale ao "IF" imprime menos um;
[0,1] = 1 -> equivale ao "ELSE IF" que imprime um;
[0,0] = 0 -> equivale ao "ELSE" que irá imprimir zero;
Resposta: alternativa E.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo