FC ConcursosFC Concursos

Questão FC546366

Considere o pseudocódigo a seguir. Entradas: matriz m, inteiros n e p Saída: matriz m <1> receba (m, n, p) <2> se (m[0][0] == 0) então: retorne (m) <3> i = 0 <4> enquanto (i < n) f

Algoritmos e Lógica de Programação

FGV · 2025

Considere o pseudocódigo a seguir.

 

Entradas: matriz m, inteiros n e p Saída: matriz m <1> receba (m, n, p) <2> se (m[0][0] == 0) então: retorne (m) <3> i = 0 <4> enquanto (i < n) faça: <5> j = 1, k = 0, r = 0 <6> enquanto (j < p) faça: <7> k = m[i][j] <8> r = j - 1 <9> enquanto (r >= 0 e m[i][r] > k) faça: <10> m[i][r+1] = m[i][r] <11> r = r-1 <12> m[i][r+1] = k <13> j = j + 1 <14> i = i + 1 <15> retorne (m)

 

Considere que os elementos da matriz m são números reais e que a mesma é bidimensional, com n linhas e p colunas, sendo n e p inteiros não nulos. 

 

Com base no exposto, analise os itens a seguir: 

 

I. O número de vezes que a linha <7> do pseudocódigo é executada é (n * p), para qualquer m.

 

II. Se p = 1, a matriz de saída é igual à matriz de entrada. 

 

III. Se a segunda linha da matriz de entrada for [9, 2, 3, 7], a segunda linha da matriz de saída será [7, 3, 2, 9]. 

 

Está correto o que se afirma em

  1. I, apenas.
  2. II, apenas.
  3. I e II, apenas.
  4. I e III, apenas.
  5. II e III, apenas.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

Se p = 1, o laço interno é controlado pela condição \(j < p\) com inicialização \(j = 1\). Como \(1 < 1\) é falso, o bloco que realiza deslocamentos e atribuições não é executado para nenhuma linha.

Portanto, nenhuma atribuição do tipo m[i][r+1] = ... ocorre e cada linha permanece inalterada ao longo do processamento normal das \(n\) linhas.

Além disso, a verificação inicial se m[0][0] == 0 então retorne(m) também preserva a igualdade entre entrada e saída, pois nesse caso o algoritmo retorna imediatamente a matriz recebida sem modificá‑la.

Assim, para p = 1 a matriz de saída é idêntica à matriz de entrada.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo