
В различных типах задач на языке pascal вы можете столкнуться с такой задачей : Вам потребуется обменять значения двух или нескольких переменных.
В данной статье мы рассмотрим способы обмена значений двух переменных.
Самое главное это понимать , что такое обмен значений. Во-первых это не просто перестановка переменных , а именно обмен. Например первая переменная равна трем , а вторая равна пяти , тогда после выполнения программы первая переменная будет равна пяти , а вторая , как ни странно , будет равна трем.
Реализовать данный обмен можно двумя способами. Первый способ самый простой — обмен с использование третьей переменной. Второй способ — без использования дополнительной переменной.
С использованием дополнительной переменной :
Выглядеть это будет примерно так , как показано на картинке ниже.

Как видно на картинке нам потребуются три переменные целочисленного типа. В данном случае названия переменных такие ( a,b,c ). Переменные a,b нужны для хранения значений чисел , которые человек вводит с клавиатуры командой readln(a,b).
Далее в программе идет эта самая передача данных. Допустим мы ввели значения 3 и 5 ( «а» и «б» ) соответственно. Тогда переменная «ц» запоминает значение переменной «а» ( три ). После того как мы запомнили значение первой переменной , её потеря нам не грозит и поэтому мы можем задать ей значение второй переменной без каких-либо опасений.
Теперь первая переменная равна 5 и после этого мы можем задать значение второй переменной. Это делается присваиванием переменной «б» значение переменной «ц». ( b:= c ).
В конце программы мы просто выводим эти переменные командой writeln(a,b).
Без использования дополнительной переменной :
Передача значений без использования дополнительных переменных осуществляется немного сложнее , но при этом понять это будет нетрудно.

В данной случае нам понадобятся только две переменные (a,b). Обмен совершается так :
Первой переменной задаем значение суммы первой и второй, выглядеть это будет примерно так
( a:= 3 + 5 ). Переменная «а» будет равна 8
Второй переменной будет задана разность первой и второй
( первоначальное значение переменной «а» )
И снова работаем с первой переменной.
Задаем ей значение разности первой и второй
( первоначальное значение переменной «б» )
Вот и все осталось только вывести их на экран.
Вывод :
Какой именно способ использовать решать только вам. В первом случае вам понадобится ещё одна переменная , то есть лишняя нагрузка на память , хотя и совсем маленькая.
Во втором случае переменных потребуется только две , однако в данном случае легко запутаться в вычислениях.