Informática, perguntado por danilo300pa8hga, 1 ano atrás

Questão de algoritmo e lógica em C:

Uma estrutura de repetição sempre precisa de um critério de parada para não ficar repetindo infinitamente. Observe o código a seguir:

for (i = n; i >= 1; i--) {
printf("%d\n", i);
}

Considerando o código apresentado, o trecho exibe, na tela, os números em ordem decrescente, reduzindo 1 número a cada passo, até chegar em 1. O que acontece caso a variável n passada tenha valor 0? Assinale a alternativa correta:

Alternativas
Alternativa 1:
O looping não é executado, por iniciar com uma condição falsa.

Alternativa 2:
O looping é executado apenas uma vez, imprimindo o número 0 na tela.

Alternativa 3:
O programa tem um erro fatal, sendo cancelado para prevenir um looping infinito.

Alternativa 4:
A variável i é iniciada com valor zero e reduzida de 1 a cada passo. Com isso, nunca vai chegar a 1 e entra em looping infinito.

Alternativa 5:
O looping é executado 2 vezes, uma para o valor 0 e outra para o valor 1. Como n é menor no que i, o passo é invertido automaticamente.

Soluções para a tarefa

Respondido por ytalolima
3

Alternativa 5: Está correta <---------

O looping é executado 2 vezes, uma para o valor 0 e outra para o valor 1. Como n é menor no que i, o passo é invertido automaticamente.


tiagoyear2pbayd4: eu discordo, por que se o valor passado for 0 a condição é falsa por que 0 não é nem maior nem igual a 1, logo não atende ao critério para entrar no looping
tiagoyear2pbayd4: Alternativa 1: O looping não é executado, por iniciar com uma condição falsa.
Respondido por tiagoyear2pbayd4
8

se o valor passado for 0 a condição é falsa por que 0 não é nem maior nem igual a 1, logo não atende ao critério para entrar no looping


Alternativa 1: O looping não é executado, por iniciar com uma condição falsa.



jackthemaster4: Isso mesmo. Concordo contigo
Perguntas interessantes