Смекни!
smekni.com

Использование языка программирования Visual Basic for Applications VBA для обработки результатов 2 (стр. 4 из 6)

Удобной мерой вариации является значение дисперсии баллов, обозначаемой символом

. Для заданий, в которых используется только дихотомическая оценка (1 или 0), мера вариации определяется по сравнительно простой формуле:

(5)

Значения дисперсии по каждому заданию, рассчитанные по этой формуле, представлены в пятой строке нижней части таблицы 2.

Помимо вариации баллов в каждом задании считается вариация тестовых баллов испытуемых, набранных ими в тесте, по всем заданиям. Расчет показателей вариации тестовых баллов начинается с определения суммы квадратов отклонений значений баллов от среднего арифметического тестового балла (

), по формуле:

(6)

Для данных таблицы 2:

(7)

У показателя SSy тоже есть недостаток, который заключается в его зависимости от числа испытуемых: при прочих равных условиях, чем больше группа, тем большей оказывается

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

Для тестовых баллов в столбце

табл. на рис.2 дисперсия вычисляется по формуле:

(8)

При N, равном тринадцати испытуемым, дисперсия равна:

(9)

Для удобства в интерпретации тестовых результатов вместо дисперсии часто используется стандартное отклонение тестовых баллов от средней арифметической. Оно обозначается символом Sy и вычисляется как корень квадратный из значения sy2.

(10)

Стандартное отклонение Sy является общепринятой мерой вариации тестовых баллов.

Подставляя наши данные, получаем

(11)

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

Если на какое-то задание правильно отвечают все тестируемые, то такое задание не дифференцирует сильных от слабых и потому ему в тесте делать нечего. Нет в тесте места и тем заданиям, на которые нет ни одного правильного ответа; в матрице по ним ставят одни нули.


4. Visual Basic for Applications (VBA)

Программирование в Excel , в основном, сводится к управлению объектами. Эта задача выполняется с помощью инструкций, введённых на языке, понятном Excel .

Visual Basic For Application ( далее VBA ) – немного упрощённая реализация языка программирования Visual Basic , встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а так же во многие другие программные пакеты, такие как AutoCAD, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.

VBA является интерпретируемым языком. Как и следует из его названия, VBA близок к Visual Basic, но может выполняться лишь в рамках приложения, в которое он встроен. Кроме того, он может использоваться для управления одним приложением из другого, с помощью OLE Automation (например, таким образом можно создать документ Word на основе данных из Excel). В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) — инструментарий расширения функциональности приложений, основанный на Microsoft .NET.[6]

VBA в настоящее время входит в состав всех приложений Microsoft Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, можно сразу перейти к созданию макросов для других программных продуктов Microsoft (равно, как и приложений других компаний). Более того, можно создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.


4.1 Объектные модели

Секрет использования VBA заключается в правильном понимании объектной модели в каждом отдельном приложении. Следует отметить, VBA всего лишь управляет объектами, а у каждого программного продукта (Excel, Word, Access, PowerPoint и т.п.) своя объектная модель. Приложением можно управлять программным образом только с помощью объектов, которые представлены в этом приложении.

Например, в объектной модели Excel представлено несколько мощных объектов анализа данных, например, рабочие листы, диаграммы, сводные таблицы, сценарии, а также многочисленные математические, финансовые, инженерные и общие функции. С помощью VBA можно работать с этими объектами и разрабатывать автоматизированные проце­дуры.

4.2 Основы VBA

Предназначение VBA:

1.Действия в VBA осуществляются в результате выполнения кода VBA.

2. Разработчик создаёт (или записывает) программу VBA, которая сохраняется в модуле VBA

Модуль VBA состоит из процедур.

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

Sub Test ()

Sum =1+1

MsgBox "Ответ: " & Sum

End Sub

Кроме процедур Sub, в модуле VBA может использоваться второй тип процедур — функции.

Процедура функции возвращает одно значение (или массив). Функция может быть вызвана из другой процедуры VBA или использоваться в формуле рабочего листа. Ниже приведен пример функции с названием AddTwo:

Function AddTwo(arg1, arg2)

AddTwo = arg1 + arg2

End Function

Excel позволяет управлять более, чем ста классами объектов, включая рабочую книгу, рабочий лист, диапазон ячеек рабочего листа, диаграмму и нарисованный прямоугольник. В распоряжении разработчика находятся и другие объекты, с которыми можно работать в VBA.

4.3 Классы объектов

Классы объектов в VBA организованы в иерархическую структуру.

Объекты могут быть контейнерами для других объектов. Например, Excel — это объект под названием Application, он содержит другие объекты, например, Workbook (Рабочая книга).

Объект Workbook может состоять из других объектов, например, Worksheet (Рабочий лист) и Chart (Диаграмма).

Объект Worksheet также содержит объекты, например, Range (Диапазон), PivotTable (Сводная таблица) и т.д. Организацию таких объектов называют объектной моделью Excel.

Одинаковые объекты формируют коллекцию.

Например, коллекция Worksheets состоит из всех рабочих листов конкретной рабочей книги, а коллекция CommandBars — из всех объектов CommandBar. Коллекции — это объекты в себе.

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

Например, на рабочую книгу с названием Книга1.xls можно сослаться следующим образом:

Application. Workbooks(«Книга1.xls»)

Это ссылка на рабочую книгу Книга1.xls в коллекции Workbooks. Коллекция Workbooks находится в объекте Application. Переходя на следующий уровень, можно сослаться на лист под названием «Лист1» в книге Книга1.xls:

Application. Workbooks («Книга1.хls») .Worksheets («Лист1»)

Сослаться на ячейку, перейдя на один уровень ниже, следующим образом:

Application. Workbooks(«Книга1.xls»).Worksheets(«Лист1»).Range(«А1»)

При опущенной ссылке на объект Excel по умолчанию используются активные объекты. Если книга Лист1 — активная рабочая книга, то предыдущую ссылку можно упростить: Worksheets («Лист1»).Range(«А1»)

Если лист «Лист1» — активный, то ссылку можно упростить еще больше:

Range(«A1»)

4.4 Свойства объектов

Свойство можно считать параметром или настройкой объекта. Например, объект диапазона имеет такие свойства, как Value (Значение) и Name (Имя). Объект диаграммы обладает такими свойствами, как HasTitle (Заголовок) и Туре (Тип). Разработчик вправе использовать VBA, чтобы задать свойства объектов и их изменить.

Свойства в программном коде отделяются от названия объекта точкой.

Например, можно сослаться на значение в ячейке А1 листа «Лист1» следующим образом:

Worksheets («Лист1»).Range(«А1»).Value

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

Чтобы присвоить значение ячейки А1 листа Лист1 переменной с названием Interest, можно использовать следующий оператор VBA:

Interest = Worksheets («Лист1»).Range («А1») .Value

4.5 Методы

У объектов есть методы.

Метод - это действие, которое выполняется над объектом. Например, один из методов объекта Range — ClearContents. Этот метод удаляет содержимое диапазона ячеек.

Методы вводятся после названия объекта с методом, в роли разделителя выступает точка.

Например, для удаления содержимого ячейки А1 активного рабочего листа используется следующая команда:

Range(«А1») .ClearContents

4.6 Редактор VBE

В Excel 5 и Excel 95 модуль VBA записывался на отдельном листе рабочей книги. Начиная с версии Excel 97t модули VBA уже не представляются в виде листов рабочей книги. Вместо этого для работы и просмотра модулей VBA используется редактор Visual Basic (VBE — Visual Basic Editor).