• Matéria: Informática
  • Autor: danilo300pa8hga
  • Perguntado 7 anos 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.

Respostas

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 similares