Observe o algoritmo abaixo, que tem por objetivo ler dois n...

Próximas questões
Com base no mesmo assunto
Q385764 Algoritmos e Estrutura de Dados
Observe o algoritmo abaixo, que tem por objetivo ler dois números, e armazená-los em duas variáveis P e Q. Após, ocorre a troca de valores entres as variáveis, com a impressão dos resultados. A troca de valores pode ocorrer COM ou SEM o uso de uma variável auxiliar, neste caso, nomeada TROCA:

imagem-020.jpg

Os blocos de instruções que realizam a troca correta de valores, COM e SEM uso da variável TROCA, são, respectivamente:
Alternativas

Comentários

Veja os comentários dos nossos alunos

1. Uso COM TROCA

Para evitar que o valor original de a se perca é necessário associar a uma outra variável (denominada usualmente de variável TROCA) tal valor, estabelecer uma associação de P com o valor em Q e, por último, associar Q ao valor "salvo" na variável TROCA. Assim sendo, uma forma correta de efetuar a troca é:

leia P e Q

TROCA <- P

P <- Q

Q <- TROCA

apresente P e Q

Para ilustrar o que ocorre com a segunda alternativa, vamos novamente supor que para P e Q sejam lidos, respectivamente os valores 5 e 8. Assim teremos, após cada instrução, a seguinte situação:

     P   Q TROCA     

1   5   8   ?     

2   5   8   5     

3   8   8   5     

4   8   5   5     

^                 

número da instrução

Assim, conforme solicitado pelo problema, a quinta instrução apresentará ao usuários os valores 8 e 5.

 

2.  Uso SEM TROCA.

c)

P <- P + Q

P <- P - Q

Q <- P + Q

P <- 5 + 8 = 13 // 1ª valor

P<- 5 – 8 = -3 // 2ª valor

Q <- 5 + 8 = 13 // 3ª valor

No primeiro valor troca com segundo valor? SIM

No segundo valor troca com terceiro valor? SIM

Houve troca P = -3 e Q = 13.

 

d)

P <- P + Q

Q <- P - Q

P <- P - Q

P <- 5 + 8 = 13 // 1ª valor

Q <- 5 – 8 = -3 // 2ª valor

P <- 5 – 8 = -3 // 3ª valor

No primeiro valor troca com segundo valor? SIM

No segundo valor troca com terceiro valor? NÃO

Não houve troca P = -3 e Q = -3.

 

e)

P <- P + Q

Q <- P + Q

P <- P - Q

P <- 5 + 8 = 13 // 1ª valor

P<- 5 + 8 = 13 // 2ª valor

Q <- 5 - 8 = -3 // 3ª valor

No primeiro valor troca com segundo valor? NÃO

No segundo valor troca com terceiro valor? SIM

Houve troca P = 13 e Q = -3.

Força Guerreiro!!!!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo