Perder pontos em questões de rastreamento geralmente não tem a ver com a compreensão do algoritmo em si. O problema costuma ser a criação de uma tabela inconsistente, na qual uma linha engloba, inadvertidamente, duas etapas, ou onde uma variável é deixada em branco por não ter sofrido alteração.
Considerando a lista pequena A = [4, 1, 3], trate cada linha como o estado completo do programa após exatamente uma etapa. Uma etapa pode ser uma iteração de laço, uma atribuição ou uma troca, dependendo da ação realizada pela linha do pseudocódigo.
Antes de visualizar a tabela, responda a isto: se um laço lê A[i] a cada iteração, qual valor deve aparecer na coluna current_value (valor atual) na linha em que i = 1, para A = [4, 1, 3]?
Veja como uma tabela de estado passo a passo é preenchida para A = [4, 1, 3].
A tabela funciona porque cada linha repete todas as variáveis monitoradas, mesmo quando elas não mudam. Se i aumenta, mas current_value permanece igual, você ainda deve escrever current_value novamente, pois o critério de avaliação espera evidências de que você o manteve inalterado, em vez de simplesmente tê-lo esquecido.
Depois de conseguir manter a consistência das variáveis linha a linha, os arrays são o próximo ponto onde surgem erros. O erro principal é tratar uma leitura e uma escrita como se ocorressem simultaneamente, fazendo com que a linha exiba um valor que só deveria existir após uma etapa posterior.
Um índice é a posição usada para acessar um elemento de um array, como A[0] ou A[1], e você deve seguir a convenção adotada no exame. Se a questão estipular uma indexação baseada em 1, então A[1] é o primeiro item, e todos os acessos na sua tabela de rastreamento devem seguir essa mesma regra.
Antes de passar para os instantâneos de arrays, responda a isto: se você trocar os elementos nos índices 0 e 1 do array A = [4, 1, 3], o que a próxima linha do instantâneo do array deve exibir?
Explore como registrar leituras e escritas em arrays como alterações de estado distintas, ocupando linhas individuais.