Национальный исследовательский университет "Высшая Школа Экономики"
Опубликован: 01.04.2010 | Доступ: свободный | Студентов: 3836 / 673 | Оценка: 4.45 / 4.06 | Длительность: 08:48:00
ISBN: 978-5-9556-0119-9
Специальности: Программист
Лекция 5:

Операции с данными

< Лекция 4 || Лекция 5: 123 || Лекция 6 >

Приоритет операций

Каждая операция имеет приоритет. Вычисления производятся слева направо в порядке приоритета операций. Порядок действий может быть изменен при помощи скобок.

В следующей таблице операции расположены по старшинству приоритетов.

Приоритет операций
Арифметические операции Операции сравнения Логические операции
Возведение в степень ( ^ ) = Not
Отрицание( - ) <> And
Умножение ( * ) или деление ( / ) < Or
Деление нацело ( \ ) > Xor
Остаток от деления ( Mod ) <= Eqv
Сложение ( + ) или вычитание ( - ) >= Imp
Конкатенация ( & ) Like

Оператор присваивания

Процесс установки значения переменной называется присвоением. Оператор присваивания составляет основу всех вычислений. Он состоит из переменной слева, знака равенства и выражения (формулы) справа. Выражение содержит знаки операций и операнды. В качестве операндов могут использоваться переменные, функции и константы. Например, A = B + C * D - 34.5 / ln(B).

Оператор присваивания вычисляет значение выражения справа и назначает его переменной слева, при этом прежнее значение этой переменной заменяется новым.

Следует отличать оператор присваивания от операции сравнения двух операндов. В первом случае производится изменение значения переменной, указанной слева, а во втором - значения операндов сравниваются.

Внимание:
  • В операторе присваивания один и тот же идентификатор переменной может стоять слева и справа. Например, запись x=x+2 с математической точки зрения недопустима, а в качестве оператора присваивания означает, что значение переменной x увеличивается на два.

Оператор присваивания применяется для вычислений с любыми типами данных. В операторе присваивания могут использоваться свойства объектов, например, в результате выполнения оператора ActiveCell.Value=222 в активную ячейку поместится значение 222.

В выражении справа можно смешивать различные типы данных. Необязательно типы переменной слева и результата выражения справа должны совпадать. При несовпадении типов выражение преобразуется к типу переменной слева. Если эта попытка не удается, то возникает ошибка несоответсвия типов - Type mismatch. Рекомендуется контролировать соответствие типов левой и правой частей оператора присваивания.

Операторы присваивания можно записывать в окне Immediate. Например, R=13.5.

Другая форма записи оператора присваивания - это использование оператора Let. Например, Let R=13.5. Обычно ключевое слово Let опускается.

Арифметические операции

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

Если заранее известно, что переменная будет принимать только целые значения, ей следует назначать тип Integer или Long. Если будут использоваться дробные числа, то переменная может иметь тип Currency, Single или Double.

Внимание:
  • Если необходима высокая точность вычислений или нельзя заранее определить, какие значения будут у переменной, используйте тип Double.
  • Операция деления на нуль порождает ситуацию ошибки Division by zero и приводит к немедленному завершению программы.
  1. Операции деления нацело "\" и получения остатка от деления Mod запишите в окне Immediate (для перехода в окно нажмите Ctrl+G ). Оператор ? 10 \ 3 возвращает три.

    При делении нацело оба числа преобразуются в целые путем округления, затем выполняется операция деления и у результата операции отбрасывается дробная часть.

    Операция получения остатка от деления Mod дополняет операцию деления нацело возвращением остатка. Оператор ? 10 MOD 3 возвращает значение 1.

  2. Какой день недели будет через сто дней, если сегодня понедельник?

    Оператор ?1+100 MOD 7 возвращает значение 3, что соответствует среде.

  3. Какая дата будет через 100 дней, если сегодня 14 января 2009 года? ( рис. 5.4)

    Дату как константу задают, используя знак "#" слева и справа от даты. В качестве разделителя даты всегда используется слэш ( / ), а в качестве разделителя времени - двоеточие ( :).

    Пример расчета даты, отстоящей от заданной на 100 дней

    Рис. 5.4. Пример расчета даты, отстоящей от заданной на 100 дней
    Установка даты в виде a=#14 January 2009# или a = #14/1/2009# автоматически преобразует дату в #1/14/2009#.
< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Дмитрий Денисов
Дмитрий Денисов

Еще раз повторяю вопрос  - отправил договор и сканы документов по почте - в начале августа, до  5 го, внес предоплату - летом действовала скидка - чтобы пройти курс в августе, но я уезжал в Москву. По возвращению - и  в течение месяца - никакого ответа, никаких зачислений, ничего. Как проверить, пришли ли мои документы в Интуит, предоплата, почему нет зачисления.

Дмитрий Денисов
Дмитрий Денисов

Как записаться на курс, оплатить, не ориентируюсь в программе.

Ранее у Вас учился.

Работаю преподавателем, есть справка. Как получить скидку, т.е. оплата 2000


 

Денис Ермаков
Денис Ермаков
Россия
Alexander Vizelka
Alexander Vizelka
Россия