Учебная работа. Дипломная работа: Использование языка программирования Visual Basic for Applications VBA для обработки результатов 2
Кафедра экспериментальной физики
Курсовая работа
«Внедрение языка программирования
Visual
Basic
for
Applications (
VBA) для обработки результатов АСТ — тестирования
»
Панасенко Н.С., студент
3 курса группы Ф-053
Научный управляющий: Павлова Т.Ю.
Оценка:
Роспись:
Кемерово, 2008
Оглавление
1. Введение ……………………………………………………………………3
2. Теория тестирования……………………………………………………….4
2.1 тест как система заданий…………………………………………………..4
2.2 Понятие эффективности теста………………………………………..……7
3. Свойство тестовых заданий……………………………………….….…..10
3.1 Проверка свойства тестовых заданий………………………………..…..10
3.2 Матрица результатов………………………………………………….…..11
3.3 Работа с матрицей результатов…………………………………………..13
3.4 Современный подход к понятию «трудность»…………………………..17
4. Вариация, дисперсия баллов и дифференцирующая способность…….18
5. Visual Basic for Applications (VBA)……………………………………/..21
5.1 Объектные модели …………………………………………………..……22
5.2 Базы VBA…………………………………………………………..…..22
5.3 Классы объектов……………………………………………………………23
5.4 характеристики объектов…………………………………………………………25
5.5 способы………………………………………………………………..……26
5.6 Редактор VBE………………………………………………………..……26
5.7 Иерархия объектов…………………………………………………..……27
5.8 характеристики объектов……………………………………………………..…28
5.9 способы объектов…………………………………………………………30
6. Практическая часть……………………………………………………….32
7. Заключение ……………………..………………………..………………38
8. Перечень использованной литературы…………………………………….39
9. Приложения……………………………………………………………….40
1.Введение
В истинное время видна тенденция к переходу от классической формы контроля познаний, к примеру, экзаменов, контрольных работ к тестированию.
Это проявляется во внедрении одного Муниципального Экзамена (ЕГЭ), подмене экзаменов и даже зачётов в ВУЗах в устной форме на тест. В связи с сиим, трудности измерения свойства для педагогических измерений является главный. Конкретно потому в теории важную роль играют вопросцы заслуги и проверки свойства тестирования. В практике плохое измерение приводит к ошибкам при аттестации выпускников школ и вузов, при приёме абитуриентов в ВУЗы, оценке кадров при профотборе.
Также на актуальность данной трудности показывает сегоднящая практика, основанная на метафорических заглавиях и спорных идеях.
Целью данной работы будет являться исследование теории тестирования, способов определения надёжности тестовых результатов, также написание программки для обработки результатов АСТ – тестирования. Эта система употребляется в нашем ВУЗе для проведения тестирования.
Программирование будет осуществляться при помощи языка программирования Visual Basic for Applications (дальше VBA), встроенного в пакет Microsoft Office. Результаты будут предоставляться педагогам, также употребляться для корректировки испытательной базы.
2. Теория тестирования
2.1 тест как система заданий
Система значит, что в тесте собраны такие задания, которые владеют системообразующим качествами. Хотя хоть какой тест состоит из тестовых заданий, крайние представляют не совокупа произвольно объединенных заданий, а конкретно систему. тест, как система, владеет составом, целостностью и структурой.
тест состоит из:
1)Заданий
2)Правил их внедрения;
3)Оценок за выполнение всякого задания;
4)Советов по интерпретации тестовых результатов.
Целостность значит связь заданий, их принадлежность общему измеряемому фактору. Каждое задание теста делает отведенную ему роль и поэтому ни одно из их не быть может изъято из теста без утраты свойства измерения.
структура теста образует метод связи заданий меж собой. В главном, это так именуемая факторная структура, в какой каждое задание соединено с иными через общее содержание и общую часть варианты тестовых результатов.
Проявлению системного свойства теста содействует и единая дисциплинарная общность заданий, реализующая идею измерения подготовленности испытуемых по одной какой-нибудь определенной учебной дисциплине. совокупа таковых заданий, отобранных в согласовании с требованиями теста, образует гомогенный тест, измеряющий одно какое-либо свойство (свойство).
время часто именуется в качестве другого системообразующего фактора. Вправду, одно из суждений, положенных в базу сотворения тестов- иметь инструмент резвого и относительно четкого оценивания огромных контингентов испытуемых.
Требование экономии времени становится естественным в массовых действиях, каковым и сделалось образование.[1] Одно из животрепещущих направлений современной организации тестового контроля- это индивидуализация контроля, приводящая к значимой экономии времени тестирования. Контроль ведется при помощи заблаговременно откалиброванных, по трудности, заданий.
Иная сторона вопросца состоит в том, что от времени тестирования значительно зависит свойство результатов. Любой тест имеет наилучшее время тестирования, уменьшение либо превышение которого понижает высококачественные характеристики теста. Среднее время тестирования определяется эмпирически, по показателю дисперсии тестовых данных. Если по оси абсцисс отложить время тестирования, а по оси ординат- значение дисперсии тестовых результатов, получаемое опосля всякого пробного контроля, то соединив точки, получим времени, нужного для тестового контроля.
Определенное содержание значит внедрение в тесте лишь такового контрольного материала, который соответствует содержанию учебного курса; остальное содержание в тест не врубается ни под каким предлогом.
Содержание теста существует, сохраняется и передается в одной из 4 главных форм заданий. Вне тестовых форм ни тест, ни его содержание не есть. Внеучебное содержание в тест не врубается.
Содержание теста проходит экспертизу у опытнейших преподавателей, которые призваны отдать ответ на основной вопросец— можно ли при помощи предложенных заданий корректно оценить содержание, уровень и структуру познаний у данного контингента испытуемых? При оценке содержания теста постоянно появляются вопросцы о цели теста, его содержания и свойства.
анализ содержания заданий, а как следует, и теста в целом, дозволяет найти познания, умения, способности и представления, требуемые для правильного выполнения задания. При применении заданий в испытательной форме для аттестации выпускников образовательных учреждений принципиально иметь такие задания, которые разрешают созодать вывод о мало допустимой компетентности выпускников.[2]
Свойство теста обычно сводится к определению меры его надежности и вопросцев валидности приобретенных результатов. Как и беспристрастным, высококачественным можно именовать лишь тот способ измерения, который обусловлен научно и способен отдать требуемые результаты.
В западной литературе обычно рассматривается два главных аспекта свойства: валидность и надежность.
Валидность значит пригодность тестовых результатов для той цели, ради чего же проводилось тестирование. Валидность зависит от свойства заданий, их числа, от степени полноты и глубины охвата содержания учебной дисциплины (по темам) в заданиях теста. Не считая того, валидность зависит также от баланса и распределения заданий по трудности, от способа отбора заданий в тест из общего банка заданий, от интерпретации тестовых результатов, от организации сбора данных, от подбора выборочной совокупы испытуемых.
2.2 понятие эффективности теста
Действенным можно именовать тест, который лучше, чем остальные испытания, определяет познания испытуемых интересующего уровня подготовленности, с наименьшим числом заданий, лучше, резвее, дешевле, и все это- по способности, в комплексе.
С понятием «эффективность» связано и близкое к нему по содержанию понятие «оптимальность». Крайнее трактуется как лучшее из вероятных вариантов, исходя из убеждений ублажения нескольким аспектам, взятым попеременно либо вкупе.
Действенный тест не может состоять из неэффективных заданий. В таком случае естественно поставить вопросец о признаках, которые различают действенное задание от неэффективного. Исходя из убеждений содержания, действенное задание инспектирует принципиальный элемент содержания учебной дисциплины, который часто именуют главным для требуемой структуры познаний испытуемых. В тест соответственно врубаются лишь такие задания, которые специалисты признают в качестве главных частей изучаемой учебной дисциплины.
В определении эффективности теста обращается внимание на два главных элемента- это число заданий теста и уровень подготовленности испытуемых.
Если из какого-нибудь теста с огромным числом заданий создать лучший выбор наименьшего числа, то может образоваться система, не уступающая приметно по своим свойствам тесту со сравнимо огромным числом заданий. тест с наименьшим числом заданий в таком случае можно именовать сравнимо наиболее действенным.
Кроме этого, эффективность теста можно оценить исходя из убеждений соответствия уровня его трудности уровню подготовленности тестируемых в данный момент испытуемых. Эту оценку в литературе часто относят к валидности, имея в виду идею валидности теста, так сказать, по уровню.
Просто осознать практическую бесполезность того, чтоб давать слабеньким испытуемым трудные задания; большая часть испытуемых, скорее всего, не смогут верно на их ответить. Так же обстоит дело и с легким тестом: его никчемно (неэффективно) давать знающим испытуемым, поэтому что и тут высока возможность, но сейчас уже правильных ответов, и поэтому фактически все испытуемые получат по тесту идиентично высочайший балл. И в том, и в другом случае испытуемые не будут различаться меж собой.
Измерение, таковым образом, не состоится из-за несоответствия уровня трудности теста уровню подготовленности. Из этих суждений просто вывести, что самый действенный тест— это тест, буквально соответственный по трудности заданий уровню подготовленности испытуемых.
Эффективность тестов может зависеть и от формы. Нарушение испытательной формы постоянно приводит к худшему выражению содержания и к худшему осознанию смысла задания испытуемыми.
Эффективность теста зависит также и от принципа подбора заданий. Если подбирать задания для измерения на всем спектре конфигурации трудности, то понижается точность измерения на отдельном участке. И напротив, если стремится буквально измерить познания испытуемых, к примеру, среднего уровня подготовленности, то это востребует иметь больше заданий конкретно данного уровня трудности.
Потому тест не быть может действенным совершенно, на всем спектре подготовленности испытуемых. Он быть может наиболее эффективен на этом же уровне познаний и менее- на другом. Конкретно этот смысл вкладывается в понятие дифференциальной эффективности теста.
Соответствие уровня трудности теста уровню подготовленности испытуемых можно попробовать оценить показателем количества инфы, получаемой в процессе измерения. В первый раз этот показатель в практику тестирования ввел А. Bimbaum.
3.Свойство тестовых заданий
3.1 Проверка свойства тестовых заданий
Работа по превращению заданий в испытательной форме в тестовые задания просит опоры на теорию тестов.[3]
Во всех узнаваемых теориях тестирование рассматривается как процесс противостояния испытуемого с предлагаемым ему заданием. Испытуемого обычно обозначают эмблемой , а задание – эмблемой , тогда итог тесты равен .
В самом простом случае рассматриваются два финала: победа либо поражение. Если испытуемый совладевает с заданием, ему за победу дается один балл. В таковых вариантах пишут
.= 1. Если не совладевает, то дается ноль баллов.
В отличие от остальных педагогических контрольных материалов, тестовые задания проходят процесс специальной апробации , к примеру, за ранее тестирование . Хотя разработка заданий начинается, как обычно, с общего педагогического плана, она на этом не завершается. Дальше начинаются пробы перевоплощения заданий в испытательной форме в тестовые задания. Главным моментом является эмпирическая проверка тестовых параметров и внедрения статистических способов обработки данных.
Определение статистических черт является основным (опосля экспертной проверки содержания) средством диагностики тестовых параметров заданий, при этом по хоть какой учебной дисциплине.
3.2 Матрица результатов
Для проверки тестовых параметров заданий употребляется матрица результатов тестирования.
Матрицей именуется малогабаритная форма записи частей, связанных некой общностью содержания.
Матрица тестовых результатов представляет результаты испытуемых по всем проверяемым заданиям. Если представить, для примера, что четыре испытуемых отвечают на три задания, и что за любой верный ответ даётся один балл, а за неверный — ноль, то итог тестирования можно представить в матрице .
В данной нам матрице имеется четыре строчки, что приравнивается числу испытуемых, и три столбца, что равно числу заданий. Применены лишь две оценки, 1 и 0. В матрице хоть какого размера эти оценки отражают результаты взаимодействия огромного количества испытуемых со обилием заданий.
Тестовый балл первого испытуемого (1-ая строчка) по третьему заданию (3-ий столбец, ) равен единице; тестовый балл третьего испытуемого по второму заданию () равен нулю и т. д.
Разглядим пример матрицы (таблица 1), в какой приведены результаты проверки познаний 13-ти испытуемых по 10-ти заданиям().
№
1
2
3
4
5
6
7
8
9
10
1
1
1
1
0
1
1
1
1
1
1
2
1
1
0
1
1
1
1
1
1
0
3
1
1
1
1
0
1
1
0
1
0
4
1
1
1
1
0
1
0
1
0
0
5
1
1
1
1
1
1
0
0
0
0
6
1
1
1
1
0
0
1
0
0
0
7
1
1
0
1
1
0
1
0
0
0
8
1
1
1
1
1
0
0
0
0
0
9
1
0
1
0
1
1
0
0
0
0
10
0
1
1
0
0
0
0
1
0
1
11
1
1
1
0
0
0
0
0
0
0
12
1
1
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
Таблица 1. Матрица результатов
В данной матрице приведены результаты тестирования группы из 13 человек, которым задавалось по 10 схожих заданий. Ноль соответствует ошибке в ответе, а единица — значит верный ответ на вопросец. В предстоящем с данной нам матрицей проведут некие вычисления, описанные в последующих пт.
3.3 Работа с матрицей результатов
Для проверки тестовых параметров заданий испытательной формы и перевоплощения части из их в тестовые задания, с данными (таблица 1) делается ряд расчетов. Результаты представлены в таблице 2.
1
1
1
1
0
1
1
1
1
1
1
9
0,9
0,1
9
2,19722
2
1
1
0
1
1
1
1
1
1
0
8
0,8
0,2
4
1,38629
3
1
1
1
1
0
1
1
0
1
0
7
0,7
0,3
2,333
0,8473
4
1
1
1
1
0
1
0
1
0
0
6
0,6
0,4
1,5
0,40547
5
1
1
1
1
1
1
0
0
0
0
6
0,6
0,4
1,5
0,40547
6
1
1
1
1
0
0
1
0
0
0
5
0,5
0,5
1
0
7
1
1
0
1
1
0
1
0
0
0
5
0,5
0,5
1
0
8
1
1
1
1
1
0
0
0
0
0
5
0,5
0,5
1
0
9
1
0
1
0
1
1
0
0
0
0
4
0,4
0,6
0,667
-0,4055
10
0
1
1
0
0
0
0
1
0
1
4
0,4
0,6
0,667
-0,4055
11
1
1
1
0
0
0
0
0
0
0
3
0,3
0,7
0,429
-0,8473
12
1
1
0
0
0
0
0
0
0
0
2
0,2
0,8
0,25
-1,3863
13
1
0
0
0
0
0
0
0
0
0
1
0,1
0,9
0,111
-2,1972
12
11
9
7
6
6
5
4
3
2
65
1
2
4
6
7
7
8
9
10
11
0,923
0,846
0,692
0,538
0,462
0,462
0,385
0,308
0,231
0,154
5
0,077
0,154
0,308
0,462
0,538
0,538
0,615
0,692
0,769
0,846
0,071
0,13
0,213
0,249
0,249
0,249
0,237
0,213
0,178
0,13
0,083
0,182
0,444
0,857
1,167
1,167
1,6
2,25
3,333
5,5
-2,48
-1,7
-0,81
-0,15
0,154
0,154
0,47
0,811
1,204
1,705
Таблица 2. Матрица результатов с расчётами
В данной нам матрице проведено два упорядочения.
Одно касается испытуемых. В первой строке представлены баллы самого удачного испытуемого, во 2-ой наименее, и т.д., по нисходящей сумме баллов, если ее посчитать для всякого испытуемого.
Другое упорядочение проведено для заданий. На первом месте стоит самое легкое задание, по которому имеется наибольшее число правильных ответов, на втором — наименьшее, и т. д., до крайнего, у которого имеется всего один верный ответ.
В таблице 2 приводятся и главные статистические данные, которые принимаются во внимание на первом шаге эмпирической проверки свойства заданий.
Сначала определяется мера трудности заданий. Известную трудность заданий, как 1-ое требование к тестовым заданиям, можно образно сопоставить с разновысокими барьерами на беговой дорожке стадиона, где любой следующий барьер чуток выше предшествующего. Удачно преодолеть все барьеры сумеет лишь тот, кто лучше подготовлен.
Трудность задания может определяться двойственно:
1)умозрительно – другими словами на базе предполагаемого числа и нрава интеллектуальных операций, которые нужны для удачного выполнения задания;
2)эмпирически — методом опробования задания, с подсчетом толики некорректных ответов по любому из их.
Эмпирически трудность заданий можно найти, сложив элементы матрицы по столбцам, что укажет на число правильных ответов, приобретенных по любому заданию () . Чем больше правильных ответов на задание, тем оно легче для данной группы испытуемых.
больше правильных ответов оказалось в первом задании ( = 12), это означает , что оно самое легкое в матрице.
В традиционной теории тестов почти все годы рассматривались лишь эмпирические характеристики трудности. В новейших вариантах психических и педагогических теорий тестов больше внимание сделалось уделяться ,кроме эмпирических характеристик , , комфортен, но до того времени, пока не возникают остальные группы испытуемых, с различным числом испытуемых (). Потому для получения сопоставительных черт , делят на число испытуемых в каждой группе.[4]
В итоге выходит нормированный (числом испытуемых) статистический показатель — толика правильных ответов, . значения приводятся в третьей строке нижней части таблицы 2.
Статистика длительное время использовалась в качестве показателя трудности в так именуемой традиционной теории тестов. Позднее была осознана содержащаяся в ней смысловая некорректность: ведь повышение значения показывает не на возрастание трудности, а, напротив, на возрастание легкости, если можно применить такое слово.
Потому в крайние годы с показателем трудности заданий стали сравнивать обратную статистику — долю некорректных ответов (). Эта толика рассчитывается из дела числа некорректных ответов ( — 2-ая строчка нижней части таблицы) к числу испытуемых ():
Значения представлены в четвертой строке нижней части таблицы 2. Естественным образом принимается, что
Результаты сложения по строчкам представлены в крайнем столбце таблицы. Из крайнего, одиннадцатого столбца таблицы видно, что больше правильных ответов у первого испытуемого, а меньше — у крайнего. Это столбец представляет собой числовой вектор тестовых баллов испытуемых. Суммирование баллов всех испытуемых, представленных в таблице, дает число 65. Полезно посчитать средний арифметический тестовый балл в данной группе испытуемых
(4)
Это равенство отражает сумму всех частей матрицы тестовых заданий, но лишь для случаев, когда для получения употребляются однообразные весовые коэффициенты () значимости заданий в тесте, все равные, к примеру, единице.
3.4 Современный подход к понятию «трудность».
В современных разработках адаптивного обучения и контроля употребляется иная мера трудности задания, равная . Эту меру трудности, получаемую в шкале натуральных логарифмов, именуют логит трудности задания. Симметрично введена и логарифмическая оценка уровня познаний, так именуемый логит уровня познаний, равный , где — толика правильных ответов испытуемого, рассчитываемая по формуле , в какой значит число правильных ответов испытуемого , а знак значит общее число заданий. [5]
Логарифмические оценки таковых, чудилось бы, реально несопоставимых феноменов как уровень познаний всякого испытуемого, с уровнем трудности всякого задания, привели к незамудреной, снаружи, попытке сопоставить их средством вычитания. Но эффективность такового сопоставления оказала большущее воздействие на развитие забугорной педагогической теории и практики.
В первый раз возникла возможность конкретного сравнения хоть какого огромного количества заданий с хоть каким числом испытуемых. ЭВМ сопоставляет логит задания и логит познаний и на данной нам базе подбирает еще одно задание в системах адаптивного обучения и контроля познаний.
Требование известной трудности оказывается важным системообразующим признаком тестового задания. Если тест— это система заданий растущей трудности, то в нем нет места заданиям без известной меры трудности.
3.5 Вариация, дисперсия баллов и дифференцирующая способность.
Если на некое задание верно отвечают все тестируемые, то такое задание становится не тестовым. Испытуемые отвечали на него идиентично; меж ними нет варианты. Соответственно, по данному заданию в матрице будут стоять одни единички.
Не тестовым нужно считать и то задание, на которое нет ни 1-го правильного ответа; в матрице по нему ставят, соответственно, одни нули. Вариация по нему также равна нулю. Нулевая вариация значит практическую необходимость удаления задания из проектируемого теста. Оно, для данной группы, не тестовое. Может быть, в иной группе это задание заработает, но это будет задание уже другого, а не данного теста, если под тестом осознавать способ и итог измерения познаний.
Комфортной мерой варианты является . Для заданий, в каких употребляется лишь дихотомическая оценка (1 либо 0), мера варианты определяется по сравнимо обычной формуле:
(5)
значения дисперсии по любому заданию, рассчитанные по данной нам формуле, представлены в пятой строке нижней части таблицы 2.
Кроме варианты баллов в любом задании считается вариация тестовых баллов испытуемых, набранных ими в тесте, по всем заданиям. Расчет характеристик варианты тестовых баллов начинается с определения суммы квадратов отклонений значений баллов от среднего арифметического тестового балла (), по формуле:
(6)
Для данных таблицы 2:
(7)
У показателя SSy тоже есть недочет, который заключается в его зависимости от числа испытуемых: при иных равных критериях, чем больше группа, тем большей оказывается , что делает этот показатель несопоставимым для групп с различным числом испытуемых. Потому для исправления отмеченного недочета употребляют 2-ой прием — делят на число испытуемых в группе. В итоге выходит обычный показатель варианты тестовых баллов, именуемый дисперсией либо, по-старому, вариансой.
Для тестовых баллов в столбце табл. на рис.2 дисперсия рассчитывается по формуле:
(8)
При N, равном 13-ти испытуемым, дисперсия равна:
(9)
Для удобства в интерпретации тестовых результатов заместо дисперсии нередко употребляется обычное отклонение тестовых баллов от средней арифметической. Оно обозначается эмблемой Sy и рассчитывается как корень квадратный из значения sy2.
(10)
Обычное отклонение Sy является принятой мерой варианты тестовых баллов.
Подставляя наши данные, получаем
(11)
Дифференцирующая способность является четвертым требованием к тестовым заданиям.
Если на некое задание верно отвечают все тестируемые, то такое задание не дифференцирует мощных от слабеньких и поэтому ему в тесте созодать нечего. Нет в тесте места и тем заданиям, на которые нет ни 1-го правильного ответа; в матрице по ним ставят одни нули.
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 может употребляться 2-ой тип процедур — функции.
Процедура функции возвращает одно иной процедуры VBA либо употребляться в формуле рабочего листа. Ниже приведен пример функции с заглавием AddTwo:
Function AddTwo(arg1, arg2)
AddTwo = arg1 + arg2
End Function
Excel дозволяет управлять наиболее, чем 100 классами объектов, включая рабочую книжку, рабочий лист, спектр ячеек рабочего листа, диаграмму и нарисованный прямоугольник. В распоряжении разраба находятся и остальные объекты, с которыми можно работать в 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 (
характеристики в программном коде отделяются от наименования объекта точкой.
к примеру, можно сослаться на
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).
Модули VBA все еще сохраняются вкупе с файлами рабочей книжки; просто они не заметны до того времени, пока не запущен редактор VBE.
VBE— это отдельное приложение, запускающееся в Excel. Программка сама делает всю операцию по запуску VBE, когда это нужно, VBE не может запускаться раздельно от Excel; для пуска VBE употребляется лишь Excel.
Во время работы в Excel перейти к окну VBE при помощи 1-го из последующих методов.
1)Надавить <AU+F1
2)Избрать команду Сервис=>Макрос=>Редактор Visual Basic.
3)Щелкнуть на кнопочке Редактор Visual Basic, расположенной на панели инструментов Visual Basic.
4.7 Иерархия объектов
объект Application (другими словами Excel) содержит остальные объекты. Ниже приведено несколько примеров объектов, которые находятся в объекте Application:
Workbooks (коллекция всех объектов Workbook — рабочих книжек);
Windows (коллекция всех объектов window — окон);
Addlns (коллекция всех объектов Addln — надстроек).
Некие объекты могут содержать остальные объекты. к примеру, коллекция Workbooks состоит из всех открытых объектов Workbook, а объект Workbook включает остальные объекты, некие из которых представлены ниже;
Worksheets (коллекция объектов Worksheet — рабочих листов);
Charts (коллекция объектов Chart — диаграмм);
Names (коллекция объектов Name — имен).
Любой из этих объектов, в свою очередь, может содержать остальные объекты. Коллекция Worksheets состоит из всех объектов Worksheet рабочей книжки Workbook. объект Worksheet включает остальные объекты, посреди которых последующие;
Chartobjects (коллекция объектов Char tobject — частей диаграмм);
Range — спектр;
PageSetup — характеристики странички;
PivotTables (коллекция объектов PivotTable — сводных таблиц).
одной из главных концепций в программировании на языке VBA являются коллекции. Коллекция — это группа, объектов 1-го класса [и сама коллекция тоже является объектом). Как указывалось выше: Workbooks — это коллекция всех открытых в данный момент объектов Workbook. Worksheets — коллекция всех объектов Worksheet, которые содержатся в определенном объекте Workbook. Разраб может сразу управлять целой коллекцией объектов либо отдельным объектом данной нам коллекции. Чтоб сослаться на один объект из коллекции, нужно ввести заглавие либо номер объекта в скобках опосля наименования коллекции:
Worksheets («Лист1»)
Если лист «Лист1» — это 1-ый рабочий лист в коллекции, то можно применять следующую ссылку:
Worksheets (1)
На 2-ой лист в рабочей книжке Workbook можно сослаться соответственно последующим образом:
Worksheets (2)
Не считая того, существует коллекция с заглавием Sheets, состоящая из всех листов рабочей книжки, рабочих листов и листов диаграмм. Если «Лист1» — 1-ый лист в книжке, то на него можно сослаться так
Sheets (1)
4.8 характеристики объектов
Все объекты владеют качествами. к примеру, объект Range владеет свойством с заглавием Value. к примеру, можно сделать оператор VBA, чтоб показать свойство Value либо задать свойству Value определенное окна, в каком представлено значение ячейки А1 листа Лист! активной рабочей книжки.
Sub ShowValue()
HsgSox Worksheets(«Лист1»).Range(«А1»).Value
End Sub
Код предшествующего примера показывает текущее книжки. Но если в активной книжке отсутствует лист с заглавием Лист1, то макрос выдаст ошибку.
MsgBox — нужная функция, нередко применяемая для отображения результатов выполнения операторов VBA.
Также разраб вправе изменять свойство Value . Ниже приведена процедура по изменению значения ячейки А1 методом определения значения характеристики Value:
Sub ChangeValueO
Worksheets[«Лист1»),Range(«Al»).Value = 123
End Sub
Опосля выполнения данной нам процедуры ячейка A1 листа Лист1 получает
Почти все объекты имеют свойство по дефлоту. Для объекта Range свойством по дефлоту является Values. Как следует, выражение .Value в приведенном выше коде можно опустить, и ничего не поменяется. Но лучше включать ссылку на свойство, даже если оно употребляется по дефлоту.
4.9 способы объектов
Не считая параметров, объекты имеют способы. Обычной пример — внедрение способа Clear по отношению к спектру ячеек. Опосля выполнения данной нам процедуры ячейки А1:СЗ листа Лист1 станут пустыми, и доп форматирование ячеек будет удалено.
Sub SapRange ()
Worksheets(«Лист1»).Range(«Al:C3»).Clear
End Sub
Если нужно удалить значения в спектре, но бросить форматирование, можно применять способ ClearContents объекта Range.
Почти все способы получают аргументы, определяющие выполняемые над объектом деяния наиболее детально. Дальше приводится пример, в каком ячейка А1 копируется в ячейку В1 при помощи способа Сору объекта Range.
В данном примере способ Сору получает один аргумент (адресок ячейки, в которую следует скопировать данные):
Sub CopyOnet ()
Worksheets( «Лист1») .Range(«Al») .Copy _
Worksheets(«Лист1»).Range(«В1»)
End sub
5.Практическая часть
При выполнении данной работы была поставлена цель изучить базы VBA, объектную модель данного языка, главные принципы программирования. Изучить приемы, используемые при анализе результатов теста, методы определения свойства теста другими словами провести анализ результатов теста.
Потому на данном шаге работы было начато написание кода на языке Visual Basic for Applications с внедрением табличного редактора Microsoft Excel.
Написанный код дозволяет копировать результаты тестирования из начального файла, избираемого юзером, в текущий файл с следующей обработкой данных.
По результатам сгенерированным текущим кодом педагоги могут найти, как нередко задавался тот либо другой вопросец, также найти частоту правильных ответов на него тестируемыми.
Это понадобится, к примеру, для формирования у педагога познания о качестве владения студентами материала и создать упор на ошибки, допущенные в тесте, в процессе предстоящего исследования курса.
В приложении 1 содержится код главный программки с комментами (записаны опосля знака апострофа «’»).
В приложении 2 содержится код, включающий в себя применяемые в программке процедуры с комментами
Ниже представлена блок – схема программки:
Описание работы программки по анализу результатов теста.
Пуск макроса можно выполнить последующим образом:
1) Сервис=>Макрос=>Макросы
2) Нажав комбинацию кнопок Alt+F8
как показано на рисунке 1.
Потом, в показавшемся диалоговом окне «Макрос», избрать Test и надавить клавишу «Выполнить», как показано на рисунке 2:
Опосля нажатия клавиши «Выполнить» начнётся выполнение кода макроса и юзер увидит сообщение-приветствие и просьбу избрать файл для анализа:
Потом возникает пользовательское окно, в каком юзер должен указать путь к файлу как показано на рис.4:
Опосля того, как юзер изберет файл начнётся выполнение макроса, при всем этом файл, избранный юзером, раскроется. Потом из импортированного файла будут скопированы нужные данные в текущий файл, заглавие которого «Тест.xls». По окончании копирования будут произведены нужные вычисления. Потом покажется окно, в каком будет показано время выполнения макроса как на рисунке 5:
Потом юзер может работать с приобретенными плодами примерный вид которых можно узреть на рисунке 6:
В предстоящем планируется выполнить вывод приобретенных результатов в отдельный файл с следующим сохранением, оформление в виде документа приложения Microsoft Word либо составления презентации на базе Microsoft PowerPoint
6. Заключение
1. Исследована система тестирования АСТ и принципы формирования ею результатов тестирования.
2. Исследованы принципы обработки результатов тестирования с внедрением понятия теории тестирования.
3. Исследован принцип составления матрицы результатов и её предстоящей обработки
4. Исследованы такие характеристики теста как валидность, надёжность, дисперсия, дифференцирующая способность.
5. Написана программка на языке программирования VBA, позволяющая проводить частичный анализ тестовых результатов.
В предстоящем планируется в данной программке сводить результаты тестирования не только лишь определенной группы, а нескольких с целью уточнения характеристик свойства теста. Будет проводиться построение корреляционной таблицы для всякого вопросца в тесте с целью анализа построения теста.
Планируется выполнить сбор результатов, содержащий характеристики надёжности тестовых заданий с следующим представлением в виде документа на базе Microsoft Word педагогу с целью предстоящей корректировки содержания теста.
7. Перечень использованной литературы
1. Аванесов В.С. Форма тестовых заданий. М.: Центр тестирования, 2005
2. Аванесов В.С. Испытания в социологическом исследовании. М.: Наука , 1982
3. Аванесов В.С. Научные трудности тестового контроля познаний. М. Иссл. Центр заморочек свойства подготовки профессионалов. М.: 1994
4. Яноши Л. Теория и практика обработки результатов измерений. М.: мир, 1965
5. Пособия «Композиция тестовых заданий». М.: Центр Тестирования. 2002
6. www.wikipedia.org.ru/VBA
7. HTTP://bit.pirit.info/forum/index.php
8. Уокенбах Дж. Проф программирование на VBA в Excel 2002. М.: Диалектика, 2003
9. Берлинер Э.М. Microsoft Office 2003
10. Мюррей К. Microsoft Office 2003. Новейшие горизонты
11. Кузьмин В. Microsoft Office 2003. Учебный курс
8.Приложения
приложение 1: Код главный программки
Sub Test()
Dim FNXLS As String ‘Путь к импортированному файлу
Dim FNO As String ‘Заглавие импортированного файла
Dim StartTime As Date ‘время начала модуля
Dim EndTime As Date ‘Время окончания работы модуля
Dim CountOfSheets As Integer
Dim CountOfUsers As Integer
Dim Fn1 As String
Dim i As Integer ‘Переменная — счётчик
Dim j As Integer
Dim n1 As Integer
Dim k As Integer
Fn1 = «тест.xls»
Dim q1 As Integer
Dim q2 As Integer
Dim q3 As Integer
ОСНОВНАЯ часть
GreetMe4
FNXLS = FileNameXLS
If FNXLS = » » Then Exit Sub
StartTime = Timer
FNO = FileNameOnly(FNXLS)
MsgBox «Работаем с файлом: » & FNO
Workbooks.Open FNO ‘Открытие рабочей книжки с заглавием, подходящим значению переменной FNO на чтение
CountOfSheets = Sheets.Count ‘Определение количества листов в книжке
CountOfUsers = Num(FNO)
Workbooks(Fn1).Worksheets(1).Range(«A1:IV256»).Clear
Workbooks(FNO).Sheets(1).Cells(2, 2).Copy Workbooks(Fn1).Sheets(1).Cells(2, 2)
Workbooks(FNO).Sheets(1).Cells(3, 2).Copy Workbooks(Fn1).Sheets(1).Cells(3, 2)
Workbooks(FNO).Sheets(1).Cells(4, 2).Copy Workbooks(Fn1).Sheets(1).Cells(4, 2)
Workbooks(Fn1).Sheets(1).Cells(6, 1) = «вопросец» ‘ Оформление конечного файла
Workbooks(Fn1).Sheets(1).Cells(7, 1) = «Кол-во»
Workbooks(Fn1).Sheets(1).Cells(8, 1) = «Ri»
Workbooks(Fn1).Sheets(1).Cells(9, 1) = «Ri/N»
Workbooks(Fn1).Sheets(1).Cells(11, 1) = «вопросец«
Workbooks(Fn1).Sheets(1).Cells(12, 1) = «Кол-во»
Workbooks(Fn1).Sheets(1).Cells(13, 1) = «Ri»
Workbooks(Fn1).Sheets(1).Cells(14, 1) = «Ri/N»
Workbooks(Fn1).Sheets(1).Cells(17, 1) = «вопросец«
Workbooks(Fn1).Sheets(1).Cells(17, 2) = «Кол-во»
Workbooks(Fn1).Sheets(1).Cells(17, 3) = «Ri»
Workbooks(Fn1).Sheets(1).Cells(17, 4) = «Ri/N»
Workbooks(Fn1).Sheets(1).Cells(17, 7) = «Кол-во»
Workbooks(Fn1).Sheets(1).Cells(17, 8) = «Процент»
n1 = 2
n = CountOfUsers ‘ количество учащихся в группе
‘ Копирование данных а текущий файл
k = 1
For i = 1 To CountOfSheets
For j = 1 To 256
If j = 255 Then k = 0
If Workbooks(FNO).Sheets(i).Cells(n + 1 + 6, j + k) > 0 Then Workbooks(FNO).Sheets(i).Cells(n + 1 + 6, j + k).Copy _
Workbooks(Fn1).Sheets(1).Cells(7, n1)
If Workbooks(FNO).Sheets(i).Cells(n + 1 + 6, j + k) > 0 Then Workbooks(FNO).Sheets(i).Cells(6, j + k).Copy _
Workbooks(Fn1).Sheets(1).Cells(6, n1)
If Workbooks(FNO).Sheets(i).Cells(n + 1 + 6, j + k) > 0 Then Workbooks(FNO).Sheets(i).Cells(n + 2 + 6, j + k).Copy _
Workbooks(Fn1).Sheets(1).Cells(8, n1)
If Workbooks(FNO).Sheets(i).Cells(n + 1 + 6, j + k) > 0 Then n1 = n1 + 1
Next j
Next i
n1 = n1 — 1 — 7
For i = n1 + 2 To 256
Workbooks(Fn1).Sheets(1).Cells(6, i).Clear
Next i
For i = 2 To n1 + 1
q1 = Workbooks(Fn1).Sheets(1).Cells(6, i)
q2 = Workbooks(Fn1).Sheets(1).Cells(7, i)
q3 = Workbooks(Fn1).Sheets(1).Cells(8, i)
Workbooks(Fn1).Sheets(1).Cells(11, i) = Workbooks(Fn1).Sheets(1).Cells(6, n1 + 3 — i)
Workbooks(Fn1).Sheets(1).Cells(12, i) = Workbooks(Fn1).Sheets(1).Cells(7, n1 + 3 — i)
Workbooks(Fn1).Sheets(1).Cells(13, i) = Workbooks(Fn1).Sheets(1).Cells(8, n1 + 3 — i)
Workbooks(Fn1).Sheets(1).Cells(11, n1 + 3 — i) = q1
Workbooks(Fn1).Sheets(1).Cells(12, n1 + 3 — i) = q2
Workbooks(Fn1).Sheets(1).Cells(13, n1 + 3 — i) = q3
Next i
For i = 2 To n1 + 1
Workbooks(Fn1).Sheets(1).Cells(9, i) = Workbooks(Fn1).Sheets(1).Cells(8, i) / Workbooks(Fn1).Sheets(1).Cells(7, i)
Workbooks(Fn1).Sheets(1).Cells(14, i) = Workbooks(Fn1).Sheets(1).Cells(13, i) / Workbooks(Fn1).Sheets(1).Cells(12, i)
Next i
For i = 1 To n1
Workbooks(Fn1).Sheets(1).Cells(11, i + 1).Copy Workbooks(Fn1).Sheets(1).Cells(17 + i, 1)
Workbooks(Fn1).Sheets(1).Cells(12, i + 1).Copy Workbooks(Fn1).Sheets(1).Cells(17 + i, 2)
Workbooks(Fn1).Sheets(1).Cells(13, i + 1).Copy Workbooks(Fn1).Sheets(1).Cells(17 + i, 3)
Workbooks(Fn1).Sheets(1).Cells(17 + i, 4) = Workbooks(Fn1).Sheets(1).Cells(17 + i, 3) / Workbooks(Fn1).Sheets(1).Cells(17 + i, 2)
Next i
For i = 0 To 9
Workbooks(Fn1).Sheets(1).Cells(18 + i, 7) = 0
Workbooks(Fn1).Sheets(1).Cells(18 + i, 8) = (i + 1) * 10
Next i
For i = 1 To n1
If Workbooks(Fn1).Sheets(1).Cells(17 + i, 4) = 0 Then Workbooks(Fn1).Sheets(1).Cells(18, 7) = Workbooks(Fn1).Sheets(1).Cells(18, 7) + Workbooks(Fn1).Sheets(1).Cells(17 + i, 2)
Next i
For j = 0 To 9 Step 1
For i = 1 To n1
If Workbooks(Fn1).Sheets(1).Cells(17 + i, 4) > j * 0.1 And Workbooks(Fn1).Sheets(1).Cells(17 + i, 4) <= (j + 1) * 0.1 Then _
Workbooks(Fn1).Sheets(1).Cells(18 + j, 7) = Workbooks(Fn1).Sheets(1).Cells(18 + j, 7) + Workbooks(Fn1).Sheets(1).Cells(17 + i, 2)
Next i
Next j
For i = 2 To n1 + 1
Workbooks(Fn1).Sheets(1).Cells(9, i) = Format(Workbooks(Fn1).Sheets(1).Cells(9, i), «0.00%»)
Workbooks(Fn1).Sheets(1).Cells(14, i) = Format(Workbooks(Fn1).Sheets(1).Cells(14, i), «0.00%»)
Workbooks(Fn1).Sheets(1).Cells(16 + i, 4) = Format(Workbooks(Fn1).Sheets(1).Cells(16 + i, 4), «0.00%»)
Next i
Workbooks(FNO).Close SaveChanges:=False ‘Закрытие рабочей книжки с заглавием, подходящим значению переменной FNO без сохранения конфигураций
EndTime = Timer
MsgBox «Выполнено за » & Format(EndTime — StartTime, «0.0») & » сек.» ‘Определение времени выполнения
End Sub
Приложение 2: Процедуры, применяемые в программке
Public Function FileNameXLS() As String
‘Импорт файла
Dim Filt As String
Dim FilterIndex As Integer
Dim FileName As Variant
Dim Title As String
‘Настройка перечня файлов
Filt = «Файлы Excel (*.xls),*.xls,»
‘По дефлоту употребляется фильтр *.*
FilterIndex = 5
‘Заголовок окна
Title = «Изберите импортируемый файл«
‘Получение названии файла
FileName = Application.GetOpenFilename(filefilter:=Filt, FilterIndex:=FilterIndex, Title:=Title)
‘При отмене — выйти из окна
If FileName = False Then
MsgBox «файл не избран»
FileNameXLS = » «
Exit Function
End If
‘Отображение полного имени и пути
‘MsgBox «Вы избрали » & FileName
FileNameXLS = FileName
End Function
Private Function FileNameOnly(pname) As String
‘Возвращает имя файла из пути/названии файла
FileNameOnly = Dir(pname)
End Function
Sub GreetMe4()
‘Процедура для определения приветствия
If Time < 0.5 Then
MsgBox «Доброе утро» & «, изберите импортируемый файл«
Else
If Time >= 0.5 And Time < 0.75 Then
MsgBox «Хороший денек» & «, изберите импортируемый файл«
Else
If Time >= 0.75 Then
MsgBox «Хороший вечер» & «, изберите импортируемый файл«
End If
End If
End If
End Sub
Function Num(File) As Integer
‘Определение количества тестиреумых
Dim i As Integer
For i = 7 To 10000
If Workbooks(File).Sheets(1).Cells(i, 1).Value = «Кол-во» Then Exit Function
Num = Num + 1
Next i
End Function
Sub Diagr()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location _
Where:=xlLocationAsObject, Name:=»Лист1″
With ActiveChart
.SetSourceData Range(«G18:H27»)
.HasTitle = True
.ChartType = xl3DColumnClustered
.HasLegend = False
.ApplyDataLabels Type:=xlDataLabelsShowValue
.Axes(xlCategory).TickLabels.Orientation = xlHorizontal
.ChartTitle.Font.Bold = True
.ChartTitle.Font.Size = 12
.PlotArea.Top = 18
.PlotArea.Height = 162
.Axes(xlValue).MaximumScale = 0.6
.Deselect
End With
Application.ScreenUpdating = True
End Sub
]]>