SóProvas


ID
2791426
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Considere o seguinte programa na linguagem Java:

public class Loop{
public static void main(String[] args) {
int a, b;
a=1; b=2;
while(a<7){
a = b+a;
do {
b= a+b;
a= a+1;
} while(b<9);
}
System.out.print(a + " e " + b);
}
}

Qual o resultado exibido da execução do programa acima?

Alternativas
Comentários
  • public class Loop {

      public static void main(String[] args) {

        int a, b;

        a = 1;

        b = 2;

        while (a < 7) {

          a = b + a;

          do {

            b = a + b;

            a = a + 1;

          } while (b < 9);

        }

        System.out.print(a + " e " + b);

      }

    }



    Facilitando a visualização.

  • ìnicia o código - > memória a=1; b=2

    entra no loop while(a<7) a=b+a -> memória a=3; b=2

    entra no loop de dentro do... while(b<9)-> b=a+b; a=a+1 ->memória b=5; a=4

    loop de dentro do... while(b<9)-> b=a+b; a=a+1 ->memória b=9; a=5

    como b não é maior que nove sai do loop do..while (b<9)

    retorna para o loop while(a<7) a=b+a -> memória a=14;b=9

    entra no loop de dentro do... while(b<9) como a condição só é verificada no final executa o loop-> b=a+b; a=a+1 ->memória b=23; a=15

    sai do loop do ...while(b<9)

    sai do loop while{a<7)

    imprime as variáveis.

    Assim, a resposta correta é a letra E) a=15 e b=23.