Заметили ошибку ?
Выделите это место и нажмите Ctrl + Q

Приёмы на уроке информатики - меняем переменные местами без использования третьей переменной


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


Задача: Поменять значения целочисленных переменных между собой любыми тремя различными способами.


Данные приёмы способствуют росту мастерства по информатике и программированию и приводят ум в порядок!


Решение:


Первый способ самый привычный для нас в информатике. Он заключается в том, что мы использованием третью переменную. Код приведён на языке C#.

 
  static void Main(string[] args)
        {
            int a = 3, b = 5, temp;

            temp = a;
            a = b;
            b = temp;

            Console.WriteLine("a= " + a);
            Console.WriteLine("b= " + b);
            Console.ReadKey();

        }

Здесь значение переменной a сохраняется в промежуточную переменную temp. Затем мы кладём значение переменной b в переменную a. И, наконец, в переменную b кладём значение переменной temp, т.е. первоначальное значение переменной a. Таким образом, у нас переменные поменялись значениями.


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


 
static void Main(string[] args)
        {
            int a = 3, b = 5 ;

            a = a + b;
            b = a - b;// здесь уже будет 3
            a = a - b;

            Console.WriteLine("a= " + a);
            Console.WriteLine("b= " + b);
            Console.ReadKey();

        }

Третий способ малоизвестный с использованием логической операции исключающее ИЛИ (XOR).


 
 static void Main(string[] args)
        {
            int a = 3, b = 5;

            a = a ^ b;
            b = b ^ a;
            a = a ^ b;

            Console.WriteLine("a= " + a);
            Console.WriteLine("b= " + b);
            Console.ReadKey();
        }

Рассмотрим операцию исключающего ИЛИ, и почему она нам помогает менять значения у переменных местами.


бит1 бит2 бит1^бит2
0 0 0
0 1 1
1 0 1
1 1 0

Если биты разные, то результат будет 1, если одинаковые, то 0. Как переменные меняются значениями показано на рисунках:




Приёмы информатики - меняем значения переменных между собой




Приёмы информатики - меняем значения переменных между собой


В результате у нас получается в переменной a число 5, а в переменной b число 3.



Сегодня мы продвинулись на ступеньку, на пол ступеньки в программировании и информатике. До новых встреч!


08-08-2017 в 11:53:20





Похожая статья:

Задача по информатике - поиск элемента в массиве.

Всем привет! Настало время позаниматься Информатикой....

Категория: Алгоритмы  Подкатегория: Задачи
Дата: 15-01-2018 в 16:47:34 0



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:


Последние
видео:



Присылайте ваши задачи
Шейкер-сортировка (С#)


Подготовка к
ОГЭ


Подготовка к ОГЭ по информатике


Давайте
дружить!


Группа Вконтакте Code-Enjoy

Твиттер Александра Калужского

YouTube канал Code-Enjoy


Препод напал на тебя как вампир? Не бойся! Студланс защитит этот мир!