Analise o código abaixo escrito em C. int main() { ...
Analise o código abaixo escrito em C.
int main() {
int a = 0;
while(a < 100) {
if((a % 2) == 0) {
a++;
}
else {
a = a + 3;
}
}
return
}
Assinale, a seguir, um conceito ou estrutura de programação que NÃO foi utilizado no código.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B - Recursividade.
A questão pede para identificarmos um conceito ou estrutura de programação que não está presente no código fornecido. Vamos analisar cada uma das alternativas em relação ao código apresentado:
- Variável: O código claramente define e utiliza uma variável chamada a, que é inicializada com o valor 0. Portanto, a alternativa A está incorreta.
- Recursividade: Recursividade é uma técnica de programação onde uma função chama a si mesma, diretamente ou indiretamente, para resolver um problema. No código em questão, não há nenhuma função que é chamada por ela mesma. O loop é realizado por meio de uma estrutura de repetição while, e não há chamadas de função dentro desse loop. Por isso, a alternativa B está correta e é a resposta para a questão.
- Estrutura condicional: A estrutura condicional está presente no uso do if...else, que testa se a variável a é par (se o resto da divisão de a por 2 é igual a 0) e executa diferentes blocos de código dependendo do resultado dessa condição. Assim, a alternativa C está incorreta.
- Estrutura de repetição: O while é uma estrutura de repetição que, neste caso, continua executando o bloco de código enquanto a condição (a < 100) for verdadeira. Logo, a alternativa D também está incorreta.
Para resolver essa questão, era importante ter conhecimento sobre cada um dos conceitos listados nas alternativas, e ser capaz de identificar a presença ou ausência deles no código dado.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo