Из этой лекции вы узнаете об операциях над переменными и их особенностях.
Для операций над переменными, в программирование, используются унарные, бинарные, тернарные операции, поразрядные операции и операции инкремента, декремента. Сегодня речь пойдет о бинарных операциях. Напомним, что операнд — это элемент, над которым происходит действие, а оператор — это элемент, который производит действие.
Бинарные операции — это операции с двумя операндами. С операторами бинарных операций вы знакомы со школы.
1. Сложение — « + »
2. Вычитание — « — »
3. Умножение — « * »
4. Деление — « / »,
5. Оператор получение остатка отделения — « % »
6. Умножение на минус единицу— « *-1»
Выполнение операций аналогично выполнению математических операций в школе. Приоритет у сложения и вычитания ниже, чем у умножения и деления. Для изменения порядка выполнения операций используют круглые скобки. Как и в математике, скобки могут быть вложены друг в друга.
Запустим VS, создадим проект, и вручную, не копируя перепишем код.
static void Main(string[] args)
{
int a = 6;
Console.WriteLine("Значение a = " + a);
int b = 10 * 2 + 20 - 4 + 3;
Console.WriteLine("Результат 10 * 2 + 20 - 4 + 3 = " + b);
int c = 10 * (2 + (4 - 4)) + 5;
Console.WriteLine("Результат 10 * (2 + (4 - 4)) + 5 = " + c);
}
Здесь, по правилам математики происходят действия над литералами. Сами по себе операции над числовыми литералами бесполезны. Можно заранее определить результат вычисления и уже готовое значение записать в переменную. Но числовые литералы нашли широкое применение в качестве различных коэффициентов или индексов.
Напишем программу перевода из сантиметров в дюймы.
Значение сантиметров заранее неизвестно, поэтому это значение будет хранится в переменной, в которую пользователь будет вводить каждый раз новое значение. Коэффициент перевода известен и равен значению 2,54. Такой коэффициент может хранить как переменная, но тогда при каждом вычислении пользователь должен будет вводить его в ручном режиме, или сохранить этот коэффициент в качестве литерала, избавив тем самым пользователя от ненужной обязанности.
static void Main(string[] args)
{
int number = 10;
double result = number * 2.54;
Console.WriteLine("Результат перевода: " + result);
}
Здесь результатом операции является дробное число. Тип данных double предназначен для хранения таких чисел. О типах данных позже.
Вместо литерала можно использовать константы. Это вид значений, который инициализируется как переменная, но не изменяется в ходе выполнения программного кода как литерал,. Записав один раз в константу какое-либо значение, к примеру путь к файлу, программисту достаточно в дальнейшем использовать имя константы, что снижает трудоемкость и вероятность ошибки.
static void Main(string[] args)
{
const double x = 2.54;
int number = 10;
double result = number * x;
Console.WriteLine("Результат перевода: " + result);
}
Отдельно остановимся на операторе — « = », который в математике указывает на равенство левой части и правой, а в программирование, отдает указание о записи значения в переменную. Напомним, что такая операция это операция над двумя операндами, где знак « = » помещает значение правого операнда в левый. В качестве операндов могут выступать как сами значения, так и переменные их содержащие. При операциях с переменными должна соблюдаться схожесть типов данных. Нельзя переменную со строковым типом данных присвоить переменной с числовым типом данных, есть и еще ряд особенностей, о которых вы узнаете после изучения материала о типах данных.
Перепишем нижеследующий код
static void Main(string[] args)
{
int a = 5;
int b = a;
Console.WriteLine("Значение переменной b = " + b);
}
Используя однотипные переменные, мы записали в переменную b значение хранимое в переменной a.
И еще один пример
static void Main(string[] args)
{
int a = 1;
int b = a + 2;
int c = b = a;
Console.WriteLine("Переменная a = " + a);
Console.WriteLine("Переменная b = " + b);
Console.WriteLine("Переменная c = " + c);
}
Уже на стадии написания, VS указывает на ненужность строки — int b = a + 2; так как intellisense уже определила что все три переменные получат одинаковое значение.
В строка — int c = b = a; по правилам правой ассоциативности операций, значение переменной « а », перезапишет содержимое переменной « b », а затем переменная « b » присвоит хранимое значение в переменную « с ».
Пример применение оператора присваивания « = » для взаимозамены значений двух переменных.
static void Main(string[] args)
{
int a = 10;
int b = 15;
Console.WriteLine("Значение a = " + a);
Console.WriteLine("Значение b = " + b);
Console.WriteLine("Поменяем значения переменных местами");
int temp;
temp = a;
a = b;
b = temp;
Console.WriteLine("a = " + a + "; " + "b = " + b);
}
И еще немного о практических особенностях применения операторов, которые помогут выполнить практические задания.
Оператор — Умножение « * ». Для возведения числа в степень достаточно умножить одно значение на другое, такое количество раз, которому равна степень числа.
Оператор — Деление « / ». Результатом деления целого двузначного числа на 10 будет первая цифра этого числа.
Оператор — Операция получения остатка от деления « % ». При делении целого числа на 10, результатом будет последняя цифра числа. При делении на число 2, остаток от деления укажет на четность числа. 0— число четное, 1 — нечетное
Умножение на минус единицу позволяет изменить значение на противоположное по знаку
Код программы изменения значение на противоположное по знаку
static void Main(string[] args)
{
int a = -1;
a = -a;
Console.WriteLine("Значение переменной а = " + a);
}
В заключении.
Для операций над значениями переменных используются арифметические операторы, применения которых подчинено тем же правилам, что и в математике.
На этом занятие закончено.
Вы можете самостоятельно найти задачи для закрепления теоретического материала или написать — basicprog@mail.ru.
Удачи в выполнении практических заданий!