SóProvas


ID
240712
Banca
FCC
Órgão
TRT - 8ª Região (PA e AP)
Ano
2010
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

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:

Alternativas
Comentários
  • 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.