суббота, 9 февраля 2013 г.

системы нелинейных уравнений средствами excel

Const mes1 = "Если объект Range, переданный "

'правильный результат. Ее результат в этом случае - #ЗНАЧ.

'также не приводит к успеху. В этом случае и функция не возвращает

'Попытка явного изменения значений ячеек рабочего листа

'Однако заметьте, это изменение не затрагивает ячеек рабочего листа!

'Побочным эффектом является изменение параметра Y, переданного по ссылке.

ПобочныйЭффект = X

'в качестве результата переданный ей параметр X.

'Также, как и ПравильнаяФункция данная функция возвращает

Public Function ПобочныйЭффект(X As Variant, ByRef Y As Variant) As Variant

ПравильнаяФункция = X

'то, естественно, функция должна вызываться в формуле над массивами.

'также является объектом Range. Если передается и возвращается массив,

'Range - отдельная ячейка или диапазон. Возвращаемый результат

'При вызове функции в формуле рабочего листа ей может быть передан объект

В этой главе я продолжу рассмотрение задач, которые входят в сферу традиционного образования прикладных математиков и, обычно, даются при изучении программирования. Возможно, задачи этой главы потребуют чуть большей математической подготовки. Основное внимание я буду уделять здесь решению этих задач программным путем, даже в тех случаях, когда их решение может быть получено с использованием встроенных стандартных функций. Но прежде, чем перейти к рассмотрению отдельных задач давайте рассмотрим несколько вопросов, проясняющих семантику вычислений в Excel. Я хочу рассмотреть некоторые особенности пользовательских функций - функций, написанных на VBA и вызываемых в формулах рабочего листа Функции с побочным эффектом и неявная передача данныхВозможность написать функцию с побочным эффектом или неявной передачей данных является одной из основных причин вычисления всех пользовательских функций при пересчете электронной таблицы. Давайте приведем примеры, проясняющие ситуацию. С этой целью я написал три функции:ПравильнаяФункция( X As Variant) As Variant. Это пример хорошей, правильно построенной функции. Через параметр X ей передается значение некоторой ячейки рабочего листа (объект Range ). В качестве результата она возвращает значение функции,- в нашем примере результат является копией входного параметра X.ПобочныйЭффект(X As Variant, Y As Variant) As Variant. В данной функции помимо вычисления результата изменяется и значение параметра Y. Поскольку по умолчанию параметр передается по ссылке ( By Ref ), то это должно было бы привести к побочному эффекту и изменить содержимое ячейки рабочего листа, переданной в качестве параметра Y. Мы увидим, что этого, однако, не происходит.НеявнаяПередача(X As Variant) As Variant В данной функции результат зависит не только от входного параметра X, но и от значения другой, неявно используемой ячейки рабочего листа.Вот как выглядят описания наших функций:Public Function ПравильнаяФункция(X As Variant) As Variant

Excel для математиков: версия для печати и PDA

Основы офисного программирования и документы Excel

Интернет-Университет Информационных Технологий

INTUIT.ru::Интернет-Университет Информационных Технологий

Комментариев нет:

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