Pular para o conteúdo principal

Questão de Arquitetura de Software — Software — FUNDATEC 2023

Arquitetura de SoftwareSoftware
Código
qq901556
Banca
FUNDATEC
Órgão
Prefeitura de Iomerê - SC
Ano
2023
Nível
Médio
Cargo
Técnico em Informática
Analise o algoritmo abaixo, escrito no software VisuAlg 3.0.algoritmo "tecnico"varquantidade, soma, contador: inteirofuncao acumulador(var_1: inteiro): inteiroinicioretorne soma + var_1fimfuncaoiniciosoma <- 0quantidade <- 0repitasoma <- acumulador(quantidade)quantidade <- quantidade + 2até (quantidade > 10)fimalgoritmoAo executar o algoritmo acima, quantas vezes será chamada a função "acumulador"?
  1. A2.
  2. B3.
  3. C5.
  4. D6.
  5. E10.
Revelar gabarito e comentário

GabaritoD — 6.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Análise de algoritmo: contagem de chamadas de função

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.


  1. 1quantidade = 0
  2. 2Chama acumulador
  3. 3quantidade += 2
  4. 4Testa: quantidade > 10?
  5. 5Se não: repete
  6. 6Se sim: encerra
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

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.

Alternativa B — ❌ Incorreta

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.

Alternativa C — ❌ Incorreta

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.

Alternativa D — ✅ Correta ⟵ GABARITO

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.

Alternativa E — ❌ Incorreta

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.

PEGA ESSA DICA!

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