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

Analise o código a seguir e responda a afirmativa correta: public class Laco1 { public static void main(String[] args) { int j = 2; int i; for(i = 1; i < 100; i = i * 2){ j = j - i; while(j < 25){ j = j + 5; } } } }

Soluções para a tarefa

Respondido por bokomoko
0
public class Laco1 {
     public static void main(String[] args) {
             int j = 2;  
             int i;
             for(i = 1; i < 100; i = i * 2){
                   j = j - i;
                   while(j < 25){
                         j = j + 5;
                   }
             }
}
}

O primeiro for vai fazer a variável i variar entre 1 e 100 sempre dobrando.
1, 2, 4, 8, 16 ... e assim por diante até 64 pois o próximo seria 128 que é maior que 100 e aí o loop é terminado

A variável j vai começar com (2 -1 = 1) e depois vai somar de 5 em 5
1 , 6 , 11, 16, 21 e aí para

Quando i for 2, j vai começar (21-2 = 19) e vai somar de 5 em 5
24 , e aí para

quando i for 4, j vai começar (24-4 = 20) e vai somar de 5 em 5
20 e aí para

quando i for 8, j vai começar com (20-8 = 12) e vai somar de 5 em 5
12, 17, 22 e para

quando i for 16, j vai começar com (22-16 = 6)
6, 11, 21, para

i vai para 32, (21-32 = -9)
-9, -4, 1, 6, 11, 21

i vai para 64 (21-64 = -49)
-49, -44, -39, -34 .... aaté 

Ou seja, não faz nada

Perguntas interessantes