No Visual Cobra, vetores são listas e começam no índice 0. Isso muda em relação ao VisuAlg, que normalmente trabalha com vetores iniciando em 1.
# Cria uma lista com 3 nomes
nomes = ["Ana", "Carlos", "João"]
# Em Python, listas são indexadas a partir de 0
escreva("A pessoa na gaveta 2 é:", nomes[1])
notas = [0.0] * 4
soma = 0.0
# Lendo todas as gavetas rapidamente
para i em intervalo(0, 4):
notas[i] = real(leia(f"Digite a nota do aluno {i+1}: "))
soma = soma + notas[i]
escreva("A média da turma foi:", soma / 4)
Índice zero e último elemento
Uma lista com três elementos ocupa os índices 0, 1 e 2. O índice 3 já está fora dela. No VisuAlg você declara o intervalo do vetor; no Visual Cobra, a lista segue a indexação do Python. Não copie os limites de uma linguagem para outra sem conferir essa diferença.
Exemplo: somar as notas da lista
intervalo(0, 3) inclui o zero e exclui o três. Assim, cada posição válida é visitada uma vez e o acumulador conserva a soma.
notas = [6, 7, 8]
soma = 0
para indice em intervalo(0, 3):
soma = soma + notas[indice]
escreva("Soma:", soma)
escreva("Última:", notas[2])
A saída é Soma: 21 e Última: 8. Experimente trocar uma nota por zero: a quantidade de elementos continua três, apenas o total muda.
Erro comum: acessar uma posição inexistente
Se trocar notas[2] por notas[3], o acesso ultrapassa a lista. Confira o tamanho e os limites antes de alterar o laço. Estude também PARA no Visual Cobra e compare com os vetores do VisuAlg.
Encontrar o maior valor quando todos são negativos
Uma lista reúne valores em posições numeradas a partir de zero. Para buscar o maior, comece com um elemento real da lista e compare os demais. Iniciar maior com zero daria uma resposta incorreta para uma lista formada só por números negativos. O primeiro elemento tem índice zero; o último fica no índice tamanho menos um. A repetição pelos próprios valores dispensa controlar um índice quando você só precisa compará-los.
Preserve a indentação dos blocos ao modificar este exemplo em Visual Cobra.
valores = [-8, -3, -12]
maior = valores[0]
para valor em valores:
se valor > maior:
maior = valor
escreva("Maior:", maior)
Resultado esperado e testes
Execute o exemplo sem fornecer entradas. A saída deve ser:
Maior: -3
Teste uma lista com um único valor e outra com valores repetidos. Uma lista vazia não tem posição zero: antes de usar este algoritmo com dados variáveis, trate esse caso explicitamente. Como exercício, conte quantas vezes o maior aparece. Preveja a saída com [-3, -3, -8] antes de escrever o contador.
Depois, compare o raciocínio com a versão do mesmo assunto nas outras linguagens do menu.