(3) Он также
(3)
Он также не требует дополнительной переменной и использует свойство логической операции xor.
a := a xor b; b := a xor b; a := a xor b;
*
Проверьте работоспособность алгоритма на том же примере.
Упражнение #2.
Напишите соответствующую процедуру Swap3.
Выше мы уже говорили о том, что понятие шаг алгоритма следует конкретизировать в каждом случае отдельно. В трех рассмотренных алгоритмах, очевидно, под шагом надо понимать реализацию оператора присваивания, включая в него, - в шаг, - все необходимые машинные операции. Таким образом, алгоритм обмена реализуется за 3 шага. Или, иначе говоря, имеет постоянную трудоемкость.
Рассмотрим еще один полезный прием, используемый для выделения бит и соответствующий алгоритм, реализующий решение следующего упражнения.
Пример #1.
Для заданного натурального числа (договоримся, что оно помещается в 2 байта памяти) определить количество единичных бит в его представлении.
Суть алгоритма в том, что заводится
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа