Questão de Arquitetura de Software — Software — FUNDATEC 2023
- Código
- qq901556
- Banca
- FUNDATEC
- Órgão
- Prefeitura de Iomerê - SC
- Ano
- 2023
- Nível
- Médio
- Cargo
- Técnico em Informática
- A2.
- B3.
- C5.
- D6.
- E10.
GabaritoD — 6.
Gabarito: letra D (6 chamadas). A função acumulador é chamada dentro de um laço repita...até que incrementa a variável quantidade de 2 em 2, partindo de 0 até que exceda 10. O laço executa enquanto quantidade <= 10, totalizando 6 iterações: 0, 2, 4, 6, 8, 10. Portanto, a função é invocada 6 vezes.
O algoritmo não apresenta complexidade; a banca testa a habilidade de rastrear manualmente um laço simples. O ponto central é identificar que a condição de parada (quantidade > 10) é verificada após cada execução do corpo do laço (característica do repita...até), o que garante que a última chamada ocorre com quantidade = 10, gerando o valor 12 e encerrando o ciclo.
Afirma que a função é chamada 2 vezes. Esse número corresponderia a um laço com incremento maior (por exemplo, +5) ou a uma condição de parada mais restritiva, mas não se alinha com o incremento de +2 partindo de 0.
Sugere 3 chamadas. Seria o caso se o incremento fosse de +3 ou se a condição fosse > 4, mas não é o que o código executa.
Indica 5 chamadas. Esse valor surgiria se a condição fosse > 8 ou se o laço parasse antes de quantidade atingir 10. Mas o código prevê execução com quantidade = 0, 2, 4, 6, 8, 10 (6 vezes) — a verificação > 10 só impede uma sétima iteração.
Exatamente 6 chamadas. A simulação passo a passo confirma:
1ª: quantidade=0 → chama → quantidade=2
2ª: quantidade=2 → chama → quantidade=4
3ª: quantidade=4 → chama → quantidade=6
4ª: quantidade=6 → chama → quantidade=8
5ª: quantidade=8 → chama → quantidade=10
6ª: quantidade=10 → chama → quantidade=12 → condição 12 > 10 verdadeira → saída.
Propõe 10 chamadas. Esse valor corresponderia a incremento de +1 (0 a 9) no laço enquanto ou para, mas o incremento é de +2, reduzindo pela metade o número de iterações.
Para resolver questões de contagem de iterações, simule o laço manualmente anotando o valor da variável de controle em cada passo. Lembre-se de que o repita...até executa o corpo antes de testar a condição, portanto a última iteração sempre ocorre com um valor que, após o incremento, ultrapassa o limite. Treine tabelas de rastreamento: coluna do valor inicial, chamada de função, incremento, e condição booleana.
Link permanente: /questoes/qq901556