• Matéria: Informática
  • Autor: klehvymnp2
  • Perguntado 3 anos atrás

eu ja tenho um rumo da resposta só preciso entender melhor se puderem responder pfv :

11- (valor de 5 pontnos ) Explique o motivo computacional para que o primeiro índice de um vetor/array/lista tenha início no 0. Da mesma forma, justifique também para os índices i = 0 e j = 0 no primeiro elemento de uma matriz.

Respostas

respondido por: bhebrumatti
1

Porque o primeiro índice de um vetor inicia no 0.

Um array/vetor é um conjunto de elementos dispostos lado-a-lado na memória, que se dá a partir de um endereço.

Por exemplo, se na memória há 10 inteiros em um array e o endereço desse array na memória seja o 100 - considerando que o número foi escolhido pelo SO que encontrou uma área de memória livre para o array. - Como cada inteiro tem 4 bytes, o primeiro elemento estará no próprio índice 100, o segundo no índice 104, o terceiro no índice 108, e assim por diante.

Para calcular:

Primeiro elemento: 0 * 4 bytes + 100 bytes

Segundo elemento: 1 * 4 bytes + 100 bytes

Terceiro elemento: 2 * 4 bytes + 100 bytes.

Sendo assim, se nota o porque de se considerar que o índice seria baseado em 0, não em 1, pois não seria necessário subtrair 1 caso um cálculo desse tipo tivesse que ser feito

Outra razão é que na matemática é muito comum usar elementos baseados em 0.

Não há uma razão técnica em termos de desempenho ou gasto de memória que a justifique.

Não há perda de bits ou desempenho, pois o compilador é capaz de fazer a subtração desse índice em tempo de compilação, mas usar um índice baseado em 0 era muito prático e essa convenção se mantém até hoje.

Perguntas similares