Опубликован: 09.12.2017 | Доступ: свободный | Студентов: 741 / 32 | Длительность: 02:06:00
Специальности: Программист
Лекция 6:

Арифметические операции, функции и выражения

< Лекция 1 || Лекция 6: 12
Аннотация: Арифметические операции, функции и выражения На этом уроке от игр мы возвращаемся в мир основ математики и программирования. Рассматриваются арифметические операции, функции и выражения. Дается определение понятия выражения и показано, как оно вычисляется. Объясняется, что вычислить выражение означает не только определения значения выражения, но и определение его типа. Решаются простые школьные задачи на ту тему.

И снова о числах

Арифметический тип данных является одним из основных типов данных. Встроенными типами, с которыми мы познакомились, являются тип int, задающий некоторое подмножество целых чисел, и тип double, задающий числа, имеющие целую часть, дробную часть и десятичный порядок. Чаще всего, числа рассматриваются как неделимые, хотя мы и видели, что их можно разобрать на цифры, можно найти делители числа и другие его составляющие. Но основой являются операции над числами как неделимыми единицами.

Привычными являются бинарные операции сложения, вычитания, умножения (+, -, *):

A = B + C;

Результаты этих операций интуитивно понятны и соответствуют их пониманию в математике. Следует заметить, что для компьютера сложение целых и сложение вещественных – это разные операции. Когда операция сложения выполняется над двумя операндами, один из которых типа int, а другой – double, то перед сложением тип int преобразуется в тип double. Такое преобразование всегда возможно, поскольку целые числа – это часть вещественных чисел (каждое целое число – это вещественное число, а обратное утверждение неверно).

Понятны и унарные операции (+ и -):

A = -B;

Деление чисел и взятие остатка от деления нацело

Один и тот же знак операции деления чисел (/) означает разные операции. Если оба операнда (делимое и делитель) типа int, то это операция деления нацело и возвращает результат типа int. Если же один из операндов или оба – типа double, то это деление вещественных и результат имеет тип double.

Результат операции взятия остатка от деления нацело (%) интуитивно понятен при делении целых положительных чисел. Для отрицательных и вещественных чисел эта операция хотя и допустима, но применяется редко.

Следует еще отметить особенности деления на нуль. Для целых чисел в результате деления на нуль возникает ошибка, для вещественных чисел ошибки не возникает, но результат равен специальному значению – infinity (бесконечность).

Пример:

int m, n, p, q, r;
            double a, b, c, d;
            m = 2; n = 3; p = m * n; q = n / p; r = n % p;
            a = 2.2; b = 3.3; c = a * b; d = b / c; 
            Console.WriteLine("m = {0} n = {1} " +
                " p = {2} q = {3} r = {4} ", m, n, p, q, r);
            Console.WriteLine("a = {0} b = {1} " +
                " c = {2} d = {3} ", a, b, c, d);
Результаты:
m = 2 n = 3  p = 6 q = 0 r = 3
a = 2,2 b = 3,3  c = 7,26 d = 0,454545454545455
< Лекция 1 || Лекция 6: 12