Questão de Arquitetura de Software — Software — FUNDATEC 2023
Arquitetura de Software›Software
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"
var
quantidade, soma, contador: inteiro
funcao acumulador(var_1: inteiro): inteiro
inicio
retorne soma + var_1
fimfuncao
inicio
soma <- 0
quantidade <- 0
repita
soma <- acumulador(quantidade)
quantidade <- quantidade + 2
até (quantidade > 10)
fimalgoritmo
Ao executar o algoritmo acima, quantas vezes será chamada a função "acumulador"?
A2.
B3.
C5.
D6.
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.
1quantidade = 0
2Chama acumulador
3quantidade += 2
4Testa: quantidade > 10?
5Se não: repete
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:
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.