Questão de Algoritmos e Estrutura de Dados — Algoritmos — Instituto Consulplan 2022
- Código
- qq772478
- Banca
- Instituto Consulplan
- Órgão
- PGE-SC
- Ano
- 2022
- Nível
- Médio
- Cargo
- Técnico em Informática - Edital nº 2
- AI.
- BII.
- CIII.
- DII e III.
- EI, II e III.
GabaritoC — III.
Gabarito: letra C (apenas a afirmativa III está correta). A banca explora a diferença entre laços de repetição (enquanto/repita), recursão e corrotinas. A afirmativa III está correta: tanto "enquanto" quanto "repita" são usados quando não se sabe o número de iterações, e "repita" (do-while) sempre executa o bloco pelo menos uma vez, pois a condição é testada ao final. As afirmativas I e II contêm erros conceituais.
Afirma que a estrutura "enquanto" (while) não precisa modificar a condição dentro do laço. Na prática, a condição deve ser alterada dentro do bloco (ex.: incrementar um contador) para que o loop termine; caso contrário, o laço seria infinito. A descrição correta de um while loop é que ele repete enquanto a condição for verdadeira, e a condição deve ser atualizada para evitar loop infinito.
Define corrotina como "um mecanismo em que uma função se refere a si mesma". Isso é recursão, não corrotina. Corrotinas permitem pausar e retomar a execução em múltiplos pontos de entrada, como em yield no Python. A definição dada troca os conceitos: corrotina ≠ recursão.
Descreve corretamente os laços "enquanto" (while, condição no início) e "repita" (do-while, condição no fim). Ambos são usados quando o número de repetições é desconhecido. O laço repita (ou do-while) sempre executa o corpo ao menos uma vez, pois a condição é avaliada após a primeira execução. Isso é um conceito fundamental em estruturas de repetição.
A banca troca o conceito de corrotina por recursão (afirmativa II) e sugere erroneamente que a condição do "enquanto" não precisa ser alterada (afirmativa I). Atente-se: enquanto -> condição no início, repita -> condição no fim; recursão chama a si mesma; corrotina suspende e retoma.
Gabarito: letra C — apenas a afirmativa III está correta.
Link permanente: /questoes/qq772478