§ . № Обмен значений
Придумайте свой алгоритм обмена значениями числовых переменных A и B.
Решение
Используем числовые операции, чтобы сохранить оба исходных значения без промежуточной переменной. Пусть сначала A = a, B = b.
- Выполним A := A + B. Теперь A = a + b, а B = b.
- Выполним B := A − B. Подставляем текущие значения: B = (a + b) − b = a. Первоначальное значение A сохранено в B.
- Выполним A := A − B. Теперь A = (a + b) − a = b. Значит, A получило прежнее значение B, а B — прежнее значение A.
Алгоритм состоит из трёх последовательно выполняемых присваиваний, как в конструкции «следование». Он предполагает, что числовой тип допускает сложение и вычитание этих значений без выхода за его допустимые пределы.
Ответ
A := A + B
B := A − B
A := A − B
Помогло?
