Matemática Múltipla Escolha

Dado o trecho de código a seguir, o que o programa deverá exibir na tela após a execução? algoritmo "somnome" var

Dado o trecho de código a seguir, o que o programa deverá exibir na tela após a execução?

algoritmo "somnome"

var
a: inteiro
vet: vetor [1..10] de inteiro
inicio
para a de 0 ate 10 faca
vet[a] <- a+1
escreva(vet[a])
fimpara
fim algoritmo

  1. 1 2 3 4 5 6 7 8 9 10 11
  2. 1 2 3 4 5 6 7 8 9 10
  3. Erro de compilação vet[10] não encontrado.
  4. Erro de compilação vet[0] não encontrado.
  5. Nenhuma das alternativas.

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D

A questão apresenta um erro lógico clássico relacionado ao indexamento de vetores. Para responder corretamente, é necessário analisar cuidadosamente a declaração da variável e o início do laço de repetição.

Análise Detalhada

Para entender por que o programa falha, vamos decompor o código linha a linha:

  1. Declaração do Vetor:
    vet: vetor [1..10] de inteiro

Esta linha define que o vetor vet possui índices válidos apenas entre 1 e 10. Isso significa que os espaços de memória disponíveis são vet[1], vet[2], ..., até vet[10]. O índice 0 não existe neste contexto.

  1. Laço de Repetição:
    para a de 0 ate 10 faca

O laço inicia com a variável a assumindo o valor inicial 0.

  1. Execução da Primeira Iteração:
    Quando o programa entra no laço pela primeira vez, a vale 0. O comando seguinte é:
    vet[a] <- a+1

Substituindo o valor de a, temos:
vet[0] \leftarrow 0 + 1

O Problema: O código tenta acessar a posição vet[0]. Como o vetor foi declarado começando no índice 1, o sistema não encontra a posição vet[0].

Comparativo dos Índices

Índice TentadoExiste no Vetor?Status
0Não (Início é 1)Erro
1 a 10SimVálido
11Não (Fim é 10)Inválido

Por que as outras alternativas estão incorretas?

  • Alternativas A e B: Assumem que o código roda sem erros. Se o código rodasse, o primeiro número impresso seria 0 + 1 = 1, mas ele nunca chegaria a imprimir nada devido à falha no acesso ao índice 0.
  • Alternativa C: Sugere erro em vet[10]. O índice 10 é o último válido do vetor, portanto, não causaria erro se fosse acessado isoladamente (embora o loop já tenha parado antes disso).
  • Alternativa D: Identifica corretamente que o problema ocorre ao tentar acessar vet[0], que está fora do intervalo definido na declaração [1..10].

Conclusão

O programa tentará executar uma operação em um endereço de memória que não foi alocado para o vetor. Isso resulta em um erro imediato no momento da tentativa de acesso ao índice 0.

Portanto, a resposta correta é a Alternativa D.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.