Descreva um algoritmo que troque os valores das variáveis
e
, usando apenas tarefas. Qual é o menor número de proposições necessárias para fazer isto?
Passo 1
O enunciado pede um algoritmo que, usando apenas tarefas de atribuição, troque os valores de
e
. O conteúdo aqui é raciocinar sobre atribuições sequenciais e sobre a necessidade de preservar temporariamente um dos valores para não perdê-lo.
Passo 2
Observe que cada atribuição sobrescreve o conteúdo de uma variável. Com uma única proposição não há como trocar, pois você perderia imediatamente o valor de
; ou de
.
Passo 3
Com duas proposições também não funciona: após a primeira atribuição um dos valores originais é perdido e não há como recuperá-lo com apenas mais uma instrução.
Passo 4
Portanto, é preciso pelo menos três proposições. O algoritmo clássico usa uma variável auxiliar
e faz as atribuições na ordem:
Resposta
O menor número de proposições necessárias para trocar
e
é três.