
- •Понятие вычислительного документа
- •Простейшие базовые понятия в вычислительных системах
- •1. Имена
- •2. Числа
- •3. Переменные
- •4. Функции
- •5. Арифметическое выражение (ав)
- •6. Операторы присваивания
- •7. Программирование строчных арифметических выражений (ав), типичные ошибки в их записи.
- •8. Понятие пользовательской функции
- •Программирование арифметических формул.
- •Приложение 1. Встроенные функции MathCad
- •Приложение 2. Встроенные функции Excel
- •Дополнение 1. Понятие невязки приближённого решения.
- •Дополнение 2. О числе обусловленности слау.
5. Арифметическое выражение (ав)
Арифметическое выражение (АВ) – это либо число1 либо переменная, либо функция, либо их комбинация, содержащая также круглые скобки (для задания нужного порядка арифметических действий) и знаки арифметических операций. Значением корректно заданного АВ всегда является число. Поэтому АВ называют также числовым выражением.
Примечание1. В данном определении более правильно вместо слова «функция» использовать термин «указатель функции». Примеры записи указателей функций: sin(3); cos(3+5).
Сразу после имени функции в круглых скобках записывается ее аргумент, который в общем случае представляет собой АВ.
Таким образом, указатель функции (или просто функция), находящаяся в АВ, представляет собой запись вида
ИмяФункции(АВ1).
При вычислении значения функции сначала вычисляется значение её аргумента.
Функция может иметь несколько аргументов. В MathCAD и VBA эти аргументы разделяются символом , (запятая), а в Excel – обычно символом ; (точка с запятой) (Почему? Для чего в Excel используется запятая?)
Отметим, что во многих случаях для ввода значений аргументов в Excel очень удобно использовать мастер функций.
В подавляющем большинстве ВС используется строчная запись АВ. Главным исключением из этого общего правила является MathCAD.
При вычислении значения строчного АВ действия выполняются слева направо с учётом круглых скобок и следующего старшинства арифметических операций:
^ (возведение в степень);
* (умножение) и / (деление) – равноправные операции;
+ (сложение) и – (вычитание) – равноправные операции.
Примечание 2. В языке Pascal операция возведения степень вообще отсутствует, а в Fortran обозначается ** (две звёздочки подряд). Это желательно иметь в виду, так как при выводе результатов громоздких символьных вычислений MathCAD иногда предлагает записать их в текстовой форме с использованием обозначений языка Fortran.
Кроме этих, самых распространённых операций 1., 2., 3., имеются и другие, но мы их пока рассматривать не будем.
Поскольку функция является первичным объектом АВ, вычисление значения функции всегда осуществляется в самую первую очередь, то есть, это операция высшего ранга!
Зная этот порядок действий, можно легко и правильно записывать АВ.
6. Операторы присваивания
Простейшие примеры операторов присваивания были рассмотрены нами ранее (см. раздел 3. Переменные). Рассмотрим этот оператор подробнее применительно к VBA и MathCAD.
[В Excel оператор присваивания, как таковой, отсутствует. Правда, можно считать, что при вводе числа 77 в ячейку А7 своего рода «переменная» А7 получает значение 77. Но такая интерпретация сильно осложняется, когда в ячейку заносится формула.]
Оператор присваивания в VBA имеет вид:
<переменная> = <выражение>
То есть, символом присваивания здесь (как и в языках Fortran и С) является обычный знак =
Оператор присваивания в MathCAD имеет вид:
<переменная> := <выражение>
При этом знак присваивания (:=) можно брать с панельки (Calculator, Evaluation), а можно с клавиатуры ввести символ : (двоеточие).
При выполнении оператора присваивания вычисляется значение выражения в правой части и полученный результат присваивается переменной, стоящей в левой части оператора.
Результат действия оператора присваивания распространяется правее и ниже его месторасположения.
В VBA обычно используется только скалярные операторы присваивания. Например, в результате выполнения операторов:
Pi=4*atn(1) : x=Pi/3 : s=Sin(x+1)
переменные с именами Pi, x, s получат соответствующие значения, которые можно будет использовать в дальнейших вычислениях.
Символ : (двоеточие) является разделителем между операторами VBA, находящимися в одной строке.
Напомним, что для вывода значений переменных в окно Immediate можно в этом окне записать оператор
Print "Pi=";Pi, "x=";x, "s=";s
Здесь символ , (запятая) переводит курсор в начало следующий зоны строки печати. При выполнении этого оператора будет выведена строка вида:
Pi= 3,1415… x= 1,0471… s= 0,8886…
Операторы присваивания MathCAD мы рассмотрим более подробно.
Эти операторы могут быть скалярными, а могут быть векторными и матричными. Рассмотрим пример 1:
Здесь приведены 2 векторных оператора присваивания и 2 векторных оператора вывода. Напомним, что при сложении вектора с числом это число добавляется ко всем элементам данного вектора.
Операция сложения вектора с числом, предусмотренная в MathCAD, запрещена в обычной математике!
Аналогичные операции могут выполняться и над матрицами. Проделайте это самостоятельно!
Над векторами и матрицами могут выполняться также операторы с использованием индексов. Рассмотрим пример 2 – операции над матрицами с использованием ранжированных переменных:
Здесь заданы 4 оператора присваивания и два оператора числового вывода.
Вначале системной переменной ORIGIN (начальный индекс массивов) присваивается значение 1.
Этот момент очень существенен при работе с индексами. Попробуйте, например, установить ORIGIN в 0 и просмотреть измененный вариант.
Затем задаются две ранжированные переменные: i=1,2 и j=1,2,3
Наконец, при выполнении матрично-индексного оператора присваивания Mi , j := i + j происходит формирование 6 элементов матрицы M. Именно, вначале i принимает значение 1, а j - последовательно значения 1, 2, 3, и происходит формирование 1 – й строки матрицы. Затем i принимает значение 2, а j - последовательно значения 1, 2, 3, и происходит формирование 2 – й строки матрицы.
Очевидно, таким образом можно сформировать любую матрицу произвольной размерности, элементы которой будут вычисляться по определённой формуле. Например, для формирования матрицы М размерности mn с произвольными элементами на базе функции двух переменных f(x, y) достаточно задать соответствующие ранжированные переменные и написать оператор присваивания вида Mi , j := f(i, j) . Таким образом, можно легко создать матрицу, элементами которой будут значения функции двух переменных.
Замечание. В MathCAD иногда используется глобальное присваивание, результат которого распространяется на весь ВД.
Соответствующий
знак
(как у математического тождества) берётся с панельки Evaluation.
Пример:
Внимательно отследите за тем, как меняется значение переменной s !
Как уже было сказано ранее, различают встроенные (стандартные) и пользовательские (определяемые пользователем) функции. Все встроенные функции в MathCAD доступны через значок f(x), и только несколько самых распространённых можно «взять» с панельки Calculator.
Но любую функцию можно набрать и с клавиатуры!