Ao projetar uma função que recebe uma grande matriz de dados para processamento sem duplicar memória, que…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Conhecer os componentes básicos de dispositivos computacionais, entendendo os princípios de seu funcionamento.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Ao projetar uma função que recebe uma grande matriz de dados para processamento sem duplicar memória, que decisão sobre o parâmetro 'matriz' reduz cópias e melhora desempenho?
- A) Passar a matriz por referência/ponteiro em vez de fazer cópia por valor.
- B) Transformar a matriz em um array unidimensional para facilitar o acesso.
- C) Criar uma nova matriz do tamanho da original para trabalhar.
- D) Passar a matriz como um valor inteiro de forma compacta.
- E) Passar a matriz como uma cópia para preservar os dados originais.
✅ Resposta correta: alternativa A
Resolução passo a passo
- A questão pergunta qual decisão sobre o parâmetro 'matriz' evita duplicação de memória e melhora o desempenho ao processar uma grande quantidade de dados.
- Ao passar um argumento por valor, a linguagem costuma copiar todo o conteúdo para a memória da função. Com uma matriz grande, essa cópia consome memória e tempo de processamento.
- Ao passar a matriz por referência ou por ponteiro, a função recebe apenas o endereço de memória onde os dados já estão. Não há duplicação dos dados, e a economia é grande quando a estrutura é extensa.
- Por isso a alternativa A está correta, e ela coincide com o gabarito oficial.
- A alternativa B está errada, pois transformar a matriz em array unidimensional não evita cópia por si só e apenas muda a forma de acesso.
- A alternativa C está errada, pois criar uma nova matriz do tamanho da original duplica a memória, exatamente o oposto do que se quer.
- A alternativa D está errada, pois uma matriz não é um valor inteiro compacto e essa ideia não reduz cópias de estruturas grandes.
- A alternativa E está errada, pois passar uma cópia para preservar os dados é justamente a causa da duplicação de memória que a questão quer evitar.
💡 Dica: Considere o uso de referências em vez de cópias.
Alternativa por alternativa
Referência/ponteiro evita duplicar toda a estrutura na memória; reduz custo de alocação e cópia ao manipular matrizes grandes.
O aluno acredita que mudar a estrutura da matriz para um array unidimensional já elimina a necessidade de copiar os dados, confundindo organização de acesso com forma de passagem de parâmetro.
Por que engana: Confundir passagem por valor e passagem por referência, optando por copiar a matriz em vez de referenciá-la.
O aluno entende que criar uma matriz de trabalho separada é uma boa prática para processar dados, sem perceber que isso duplica a memória ocupada pelos dados.
O aluno imagina que, por ser 'compacta', a matriz pode ser passada como um único valor inteiro, ignorando que a estrutura de dados precisa ser representada na memória e que essa ideia não corresponde à passagem de matrizes.
O aluno associa preservação dos dados originais a fazer uma cópia, sem considerar que passar por referência também pode ser feito com cuidado (usando parâmetros constantes) para proteger os dados sem duplicá-los.
Raio-X da questão
matrizes em programação
avaliacao
passagem de parâmetros em programação · matrizes em programação
Revisar conceitos de passagem de parâmetros em funções.
Confundir passagem por valor e passagem por referência, optando por copiar a matriz em vez de referenciá-la.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- — O mapa da feira aparece na tela, mas ninguém consegue escolher uma barraca! — disse Ravi, ao cuidar de um tablet usado…
- No balcão de uma biblioteca de bairro, um computador controla o empréstimo de livros. O funcionário passa o código de…
- Explique o papel do processador (CPU), da memória RAM e do armazenamento ao abrir um arquivo, descrevendo o fluxo de…
- Descreva, passo a passo, como um arquivo grande é fragmentado em pacotes, transmitido por múltiplos roteadores e…
- Por que um algoritmo de verificação baseado em CRC detecta com mais eficácia rajadas de erros em pacotes do que um único…
- Explique, em uma frase, a diferença entre comutação store-and-forward e cut-through em um switch ao encaminhar um pacote…
Todas as questões de Funcionamento de dispositivos computacionais
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
