Questão nº 74
Questão de Tecnologia da Informação · FGV TCE-SP 2023 (nº 74)
Marcos é um estudante de programação de computadores e encontrou o algoritmo apresentado a seguir em seus estudos.
```
algoritmo Marcos
var
i, a: inteiro
v: vetor [1..5] de inteiro
início
a <- 0
para i de 1 até 5 faça:
leia(v[i]);
fim para
para i de 1 até 5 faça:
v[i] <- v[i] + v[6-i]
a <- a + v[i]
fim para
escreva(a)
fim algoritmo
```
Considerando o vetor com índice inicial 1 e final 5, e utilizando os valores {2, 1, 2, 1, 2}, Marcos obterá a impressão do valor:
- A3
- B8
- C9
- D16
- E19 (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Em algoritmos que manipulam vetores dentro de um loop, é crucial entender que as modificações feitas em um elemento do vetor podem afetar cálculos posteriores na mesma iteração ou em iterações seguintes, pois o vetor é atualizado em tempo real.
- (A) Incorreta: O valor 3 é muito baixo e não corresponde à soma acumulada após as operações no vetor.
- (B) Incorreta: O valor 8 é muito baixo e não corresponde à soma acumulada após as operações no vetor.
- (C) Incorreta: O valor 9 é muito baixo e não corresponde à soma acumulada após as operações no vetor.
- (D) Incorreta: Este valor (16) seria obtido se o cálculo
v[i] + v[6-i]sempre usasse os valores originais do vetor parav[6-i], sem considerar quev[6-i]pode já ter sido atualizado em uma iteração anterior do loop. A armadilha da banca é não perceber que o vetorvé modificado em tempo real, ev[6-i]acessa o valor atual daquela posição. - (E) Correta: O valor 19 é o resultado da execução passo a passo do algoritmo.
vinicial:{2, 1, 2, 1, 2},a = 0.i = 1:v[1] <- v[1] + v[5](2 + 2 = 4).vé{4, 1, 2, 1, 2}.a <- 0 + 4 = 4.i = 2:v[2] <- v[2] + v[4](1 + 1 = 2).vé{4, 2, 2, 1, 2}.a <- 4 + 2 = 6.i = 3:v[3] <- v[3] + v[3](2 + 2 = 4).vé{4, 2, 4, 1, 2}.a <- 6 + 4 = 10.i = 4:v[4] <- v[4] + v[2](1 + 2 = 3). (Note quev[2]já foi atualizado para 2).vé{4, 2, 4, 3, 2}.a <- 10 + 3 = 13.i = 5:v[5] <- v[5] + v[1](2 + 4 = 6). (Note quev[1]já foi atualizado para 4).vé{4, 2, 4, 3, 6}.a <- 13 + 6 = 19.
O valor final deaé 19.
Fonte: FGV TCE-SP 2023 Auxiliar Técnico da Fiscalização - TI (Caderno Tipo 1). Reproduzida para fins de estudo.