Ciclo while

Muito bom dia, pessoal alguém pode explicar o que faz este código ?

` while(i!=0){
s1 += i;
i–;
}

while(j!=0){
    s2 += j;
    j--;

}

`

Qual é a sua dúvida? até onde você entendeu?

No meu ponto de vista o ciclo while vai sempre percorrendo a variável j até que ele seja diferente de 0 e neste caso soma os valores que o j já possui e decrementa uma casa e salva na variável s2. No meu ponto de viste acho que é isso. Só que, não sei se estou a fazer a interpretação correta.

Está correto, agora em qual ocasião este loop se transforma em um loop infinito?

No meu entender, quando o j toma o valor de zero.

Não, é justamente quando j for igual a zero que o loop deixará de rodar contudo se j for igual a um número negativo então o loop será infinito :wink:

1 curtida

Boa tarde, Lord_Lordson.

Por este trecho de código, darei o meu entendimento:

  • Leitura de 2 variáveis inteiras i , j ;
  • Ambas variáveis são totalizadas nas variáveis S1 e S2 e decrementadas no laço condicional while.
    Esse laço tem a consequência citada pelo leofariasrj25 abaixo: