На главную Самоучитель pascal Форум программистов онлайн Решение задач pascal Задачи pascal Поиск
20 Июн 13

Обмен значениями двух переменных


Комментарии :  0        Просмотры :  3871


В различных типах задач на языке pascal вы можете столкнуться с такой задачей : Вам потребуется обменять значения двух или нескольких переменных.

В данной статье мы рассмотрим способы обмена значений двух переменных.

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

Реализовать данный обмен можно двумя способами. Первый способ самый простой - обмен с использование третьей переменной. Второй способ - без использования дополнительной переменной.

С использованием дополнительной переменной :

Выглядеть это будет примерно так , как показано на картинке ниже.

Обмен с использованием дополнительной переменной


Как видно на картинке нам потребуются три переменные целочисленного типа. В данном случае названия переменных такие ( a,b,c ). Переменные a,b нужны для хранения значений чисел , которые человек вводит с клавиатуры командой readln(a,b).

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

Без использования дополнительной переменной :

Передача значений без использования дополнительных переменных осуществляется немного сложнее , но при этом понять это будет нетрудно.

Обмен без использования дополнительной переменной


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

Вывод :

Какой именно способ использовать решать только вам. В первом случае вам понадобится ещё одна переменная , то есть лишняя нагрузка на память , хотя и совсем маленькая.
Во втором случае переменных потребуется только две , однако в данном случае легко запутаться в вычислениях.
Рейтинг материала : ( 5 / 2 )
Сообщить об ошибке
Комментарии :  0        Просмотры :  3871

Поиск

Решение задач

Если вас интересует решение какой-либо задачи , то вы можете опубликовать
её условие на нашем сайте или форуме. И в скором времени другие пользователи помогут вам.

Опубликовать на сайте

Опубликовать на форуме

Опрос

Какой ваш любимый раздел ?