SóProvas


ID
2709241
Banca
SUGEP - UFRPE
Órgão
UFRPE
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere o algoritmo a seguir Inteiro


x1 =2, x2 = -1, x3 = 4

Enquanto (x1 > 0) faça

x2 = x3/3-x2*4

x1 = x3 % x1

Fim enquanto

Imprime(x2)


O que será impresso ao final do programa?

Alternativas
Comentários
  • X1 = 2;

    X2 = -1

    X3 = 4

    vou seguir a sequência de passos que o programa faz, pois não achei a resposta. Se alguém souber em que parte estou errando, favor me ajude. Vamos lá.

    enquanto ( x1 > 0) faça // nesse primeiro o x1 = 2, desta forma ele entra no loop

    x2 = 3/3-(-1*4) // desta forma ficaria 3/7, pois 3-(-4) = 3 + 4

    x1 = x3 % x1 // x1 = 4 % 2 esse iria dar x1 = 0 assim sairia do loop

    fim enquanto

    imprime(x2); // pra mim a resposta é 3/7.

     

     

  • Como a equação está sem parenteses devemos seguir a ordem de divisão e multiplicação primeiro, depois somas e subtrações.

    x2 = x3/3-x2*4

    x2 = 4/3-(-1)*4   -- Aqui usamos parenteses apenas para separar o menos da equação com o menos do numero substituido

    x2 = 1,3-(-1)*4   -- Aqui fiz a divisão entre 4/3

    x2 = 1,3-(-4)      -- Aqui foi feita a multiplicação entre -1 e4

    x2 = 1,3+4      -- Menos com menos é + . E agora somamos normalmente

    x2 = 5,3          -- A questão arredondou o resultado para 5

     

    GABARITO - ITEM B

  • O loop Enquanto-faça é a estrutura de repetição pré-testada que estudamos. 

    Uma boa estratégia para resolver questões desse tipo é construir uma tabela auxiliar com o estado das variáveis. Na hora da prova, você pode rabiscar a tabela e resolver da mesma forma. Exercite para conseguir fazer isso certo e rápido. Concurso é um teste de rapidez!

    x1 x2 X3

    Estado inicial 2 -1 4

    1ª repetição do loop 4%2 = 0 4/3 – (-1)*4 = 4/3 + 4 = 1,33... + 4 = 5,33... = 5 4

    Opa! Já na 1ª repetição do loop, x1 fica igual a 0. Lembre-se que a operação 4%2 representa o resto da divisão inteira de 4 por 2, que é 0. Antes de entrar na 2ª repetição, o algoritmo irá fazer o pré-teste x1 > 0 e o teste dará FALSO porque x1 = 0. Isso ocasiona a saída do loop. Portanto, Imprime(x2) irá imprimir 5. Veja que o cálculo de x2 na tabela deu 5,33333...... Mas como x2 foi declarado como inteiro na 1ª linha, desprezamos a parte decimal e ficamos só com a parte inteira 5.

    Resposta: B

  • Força Guerreiro!!!!!!