Questão de Algoritmos e Estrutura de Dados — Algoritmos — UFMT 2021
- Código
- qq688270
- Banca
- UFMT
- Órgão
- UFMT
- Ano
- 2021
- Nível
- Médio
- Cargo
- Técnico de Laboratório/Informática
- A4, 2, 5, 3, 1
- B5, 4, 2, 1, 3
- C1, 3, 2, 4, 5
- D4, 5, 1, 2, 3
GabaritoD — 4, 5, 1, 2, 3
Gabarito: letra D. A sequência correta de numeração é 4 (if-then-else), 5 (case-else), 1 (while-do), 2 (repeat-until), 3 (for-do), conforme a correspondência entre as descrições e as estruturas clássicas de controle de fluxo.
A questão testa o conhecimento das definições e comportamentos das principais estruturas de controle: condicionais (if-then-else, case-else) e de repetição (while-do, repeat-until, for-do). A chave é identificar corretamente onde ocorre o teste da condição (início ou final) e o tipo de condição (booleana ou comparação com lista).
1ª descrição: "Depende de uma decisão booleana para o fluxo executar um (ou mais) comando(s) ou outro comando." → if-then-else (4). Estrutura condicional que desvia o fluxo conforme uma expressão lógica verdadeira ou falsa.
2ª descrição: "Permite o teste de uma variável, comparando-a com uma lista de valores." → case-else (5). Estrutura de seleção múltipla (switch-case) que compara uma variável com vários casos.
3ª descrição: "Repete um (ou mais) comando(s) até que a condição dada se torne verdadeira." → while-do (1). Apesar do nome, o while-do testa a condição no início e executa o bloco enquanto ela for verdadeira; a parada ocorre quando a condição se torna falsa. Nesta descrição, a banca usou a redação "até que se torne verdadeira" de forma genérica, referindo-se ao fato de que o loop continua enquanto a condição não é verdadeira (ou seja, até que se torne verdadeira). Cuidado: o repeat-until testa no final e repete até que a condição seja verdadeira, mas a próxima descrição já explicita o teste no final.
4ª descrição: "Repete um (ou mais) comando(s) testando no final se a condição se tornou verdadeira." → repeat-until (2). Característica principal: o teste é feito ao final de cada iteração, e o loop é executado pelo menos uma vez.
5ª descrição: "Executa um (ou mais) comando(s) durante determinado número de vezes pré-definido." → for-do (3). Loop com contador que repete um número fixo de iterações.
Estrutura | Descrição |
|---|---|
4 - if-then-else | Depende de uma decisão booleana para o fluxo executar um (ou mais) comando(s) ou outro comando. |
5 - case-else | Permite o teste de uma variável, comparando-a com uma lista de valores. |
1 - while-do | Repete um (ou mais) comando(s) até que a condição dada se torne verdadeira. |
2 - repeat-until | Repete um (ou mais) comando(s) testando no final se a condição se tornou verdadeira. |
3 - for-do | Executa um (ou mais) comando(s) durante determinado número de vezes pré-definido. |
Sequência: 4, 2, 5, 3, 1. Atribui repeat-until (2) à segunda descrição (que é case-else) e inverte posições dos loops.
Sequência: 5, 4, 2, 1, 3. Coloca case-else na primeira descrição (que é if-then-else) e desordena os loops.
Sequência: 1, 3, 2, 4, 5. Começa com while-do na primeira descrição (que é if-then-else) e mistura loops e condicionais.
Sequência: 4, 5, 1, 2, 3. Corresponde exatamente à numeração correta conforme análise acima.
Para gravar, lembre: if-else e case tratam de decisão; while testa no início, repeat-until no final, for tem número definido de repetições. Na prova, identifique primeiro a palavra-chave "testa no final" como marca registrada do repeat-until.
Gabarito: letra D.
Link permanente: /questoes/qq688270