Matemática Múltipla Escolha

Considere o seguinte trecho de código de processamento de matrizes de inteiros: Assinale a alternativa que apresenta as respostas, em ordem, para as seguintes questões: Qual a correta definição da(s) matriz(es) usada(s)? II. O que faz o trecho de código?

Considere o seguinte trecho de código de processamento de matrizes de inteiros:

for (i=0;i<5;i++)
{
  for (j=0;j<7;j++)
  {
    m[i][j] = mat[i][j]*5;
  }
}

Assinale a alternativa que apresenta as respostas, em ordem, para as seguintes questões:

I. Qual a correta definição da(s) matriz(es) usada(s)?
II. O que faz o trecho de código?

  1. II. Multiplica por 5 cada elemento da matriz de nome mat, armazenando o resultado na matriz de nome m.
  2. II. float mat[5],[7];
  3. II. Multiplica por 5 cada linha da matriz de nome m, armazenando o resultado na coluna da matriz de nome mat.
  4. II. float m[5][7], mat[5][7];
  5. II. Multiplica por 5 cada elemento da matriz de nome m, armazenando o resultado na matriz de nome m.

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A

Análise Detalhada da Questão

Para resolver esta questão, precisamos interpretar o trecho de código fornecido, que utiliza laços de repetição aninhados para manipular matrizes. Vamos dividir a análise em duas partes conforme solicitado pelo enunciado.

1. Definição das Matrizes (Parte I)

O código apresenta dois laços for aninhados:

  • Laço Externo: for (i=0; i<5; i++)
  • Controla a primeira dimensão (linhas).
  • O índice i varia de 0 até 4 (total de 5 posições).
  • Laço Interno: for (j=0; j<7; j++)
  • Controla a segunda dimensão (colunas).
  • O índice j varia de 0 até 6 (total de 7 posições).

Portanto, as matrizes envolvidas devem ter dimensões 5 x 7. Além disso, o enunciado especifica explicitamente que se trata de "processamento de matrizes de inteiros", logo o tipo de dado deve ser int.

As declarações corretas seriam:
\text{int } m[5][7], \text{ mat}[5][7];

2. Funcionalidade do Código (Parte II)

Vamos analisar a instrução dentro do loop:
m[i][j] = \text{mat}[i][j] * 5

  • Operação: Multiplica o valor encontrado na matriz mat na posição [i][j] por 5.
  • Destino: O resultado é atribuído à matriz m na mesma posição [i][j].
  • Conclusão: O código percorre toda a matriz mat, multiplica seus elementos por 5 e salva esses novos valores na matriz m.

Tabela Comparativa das Alternativas

AlternativaDefinição das MatrizesLógica do CódigoStatus
Aint m[5][7], mat[5][7];Origem: mat -> Destino: mCorreta
Bfloat mat[5],[7];Ignora destino mErrada (Tipo e lógica)
Cint m[7][5], mat[7][5];Inverte origens/destinosErrada (Dimensões)
Dfloat m[5][7], mat[5][7];Inverte origens/destinosErrada (Tipo e lógica)
Echar m[7][5], mat[7][5];Inverte origens/destinosErrada (Tipo e dimensões)

Conclusão

A única alternativa que respeita tanto a definição correta das matrizes (inteiras com 5 linhas e 7 colunas) quanto a lógica de transferência de dados (de mat para m multiplicando por 5) é a Alternativa A.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.