GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO02Média⏱ medio

Em um algoritmo que armazena uma matriz de registros 'tab' em um vetor linear em row-major com n colunas, qual…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO02

Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em um algoritmo que armazena uma matriz de registros 'tab' em um vetor linear em row-major com n colunas, qual fórmula calcula o índice linear do elemento tab[i][j]?

  1. A) Índice linear = j * n + i
  2. B) Índice linear = i - j
  3. C) Índice linear = i * n + j
  4. D) Índice linear = n * n + (i + j)
  5. E) Índice linear = i + j

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Em row-major (ordem por linhas), todos os elementos da linha 0 vêm primeiro, depois todos os da linha 1, e assim por diante. Cada linha tem n elementos, pois a matriz tem n colunas.
  2. Para chegar à linha i (começando em 0), precisamos pular i linhas completas, o que equivale a i * n elementos.
  3. Dentro da linha i, a coluna j (também começando em 0) está deslocada de j posições a partir do início da linha.
  4. Somando os dois deslocamentos, obtemos o índice linear = i * n + j, que é a alternativa C, coincidindo com o gabarito oficial.
  5. A alternativa A está errada, pois troca os papéis de linha e coluna (usa j * n, que é a fórmula de column-major com i como coluna). A alternativa B está errada, pois subtrai em vez de considerar o deslocamento por linhas e colunas. A alternativa D está errada, pois multiplica n por n, o que não corresponde ao tamanho de uma linha. A alternativa E está errada, pois soma i e j sem considerar que cada linha ocupa n posições.

💡 Dica: Considere a estrutura da matriz e a fórmula de acesso.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno inverte os papéis de linha e coluna, aplicando a fórmula de column-major (percorrer por colunas) em vez de row-major, e multiplica j por n como se n fosse o número de linhas.

Por que engana: Confundir a ordem de multiplicação e adição na fórmula do índice linear, resultando em um cálculo incorreto.

B Erradaerro: Procedimental

O aluno acredita que o índice linear pode ser obtido por uma subtração simples entre linha e coluna, sem entender que o mapeamento depende do tamanho de cada linha.

C Correta

No armazenamento row-major, cada linha contém n elementos; para chegar à linha i somam-se i blocos de n, depois avança-se j posições dentro da linha, resultando em i*n + j.

D Erradaerro: Conceitual

O aluno confunde o número de colunas com o número total de elementos da matriz, multiplicando n por n, e soma a posição j sem entender que o deslocamento por linha usa apenas n.

E Erradaerro: Conceitual

O aluno supõe que linha e coluna podem ser somadas diretamente para obter a posição, ignorando que cada linha contém n elementos e, portanto, o deslocamento de linha deve ser multiplicado por n.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

índice linear de matriz

📌 Objetivo

avaliacao

🧱 Pré-requisitos

indexação de matrizes · vetores e matrizes

📚 Reveja

Revisar a representação de matrizes em memória e o cálculo de índices.

⚠️ Erro mais comum

Confundir a ordem de multiplicação e adição na fórmula do índice linear, resultando em um cálculo incorreto.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Programação com listas e recursão

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.