Вторник, 18.06.2024, 15:53
Вы вошли как Гость | Группа "Не зарегистрированный"Приветствую Вас Гость | RSS
Главная | Каталог статей | Мой профиль | Регистрация | Выход | Вход
QO.DO.AM
 >>>мир предметника 050202

Форма входа

Основное меню

Меню 050202

Учительская OnLine

Категории раздела
Теория по создания ЭП [10]
PowerPoint 2007
Конструктор тестов TestKit.pptm 2007 [4]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
// Your SEO optimized title page contents

Счетчики

Главная » Архив Информатики и ИКТ » Создание презентации в PowerPoint 2007 » Конструктор тестов TestKit.pptm 2007 [ Добавить статью ]

Алгоритмы реализации

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

Подпрограмма начальной инициализации:

  • инициирует класс событий приложения для возможности реагирования на смену слайдов и выход из режима просмотра;

  • определяет количество слайдов в презентации;

  • создает и заполняет массив меток видов слайдов;

  • определяет цвета заливки и заголовка в используемой цветовой схеме и окрашивает в них кнопку «Далее»;

  • выводит на слайды с заданиями их порядковые номера, скрывая эти атрибуты на информационных слайдах;

  • очищает поле вывода времени тестирования, и если это задано в настройках, то скрывает его;

  • на предпоследнем слайде, для предупреждения пользователя, надпись «Далее» на кнопке меняет на «Итоги».

Вслед за этим создается массив, куда будут заноситься результаты выбора, и вызывается подпрограмма обработки первого слайда. Ее назначение – скрыть или отобразить элементы вывода времени и установить цвет кнопки «Начать тестирование» и текста на ней в соответствии с выбранной цветовой схемой. Затем вступает в действие процедура скрытия меток на флажках и переключателях, очистки массива результатов выбора и информации из текстовых полей вывода на последнем слайде.

Событийная процедура, реагирующая на смену слайдов, записана в модуле класса. Ее основное назначение – запуск таймера, а также вызов подпрограммы для определения переменных окружающей среды: номера слайда и номера задания, а при переходе на последний слайд, вывода результатов. Здесь же находится еще одна процедура, реагирующая на прерывание режима просмотра вызовом подпрограммы очистки результатов.

Так как в режиме отладки теста нередко выполняется запуск презентации на просмотр с произвольного слайда, то для этого случая предусмотренаподпрограмма проверки инициализации при начале просмотра. Она вызывается всякий раз, как только выполняется щелчок на флажке, переключателе или кнопке «Далее» и в случае, если инициализация теста не осуществлялась, вызывает необходимые для этого процедуры.

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

Нажатие на кнопку «Далее» приводит к чтению данных в массив регистрации правильных ответов текущего слайда и вызову процедуры проверки выбранного ответа. На основании сравнения данных в массивах правильных и выбранных ответов определяется количество совпадений и в массив учета результатов выбора заносится отношение числа совпадений к числу вариантов правильных ответов с точностью до сотых долей. Затем выполняется переход на следующий слайд.

Процедура обработки результатов тестирования:

  • находит сумму набранных баллов в соответствии с установленным параметром учета долей множественного выбора и количество полностью правильных ответов;

  • формирует отчет о номерах заданий, в которых допущены ошибки;

  • формирует отчет о номерах заданий, в которых не заданы правильные ответы;

  • вычисляет процент верных ответов;

  • определяет итоговую оценку по пятибалльной шкале;

  • находит время, фактически затраченное на прохождение теста и

  • выводит всю эту информацию на последний слайд;

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

Если установлен флаг вывода результатов тестирования в текстовый файл, то вызывается соответствующая подпрограмма.

Эта подпрограмма:

  • определяет адрес файла выполняемого теста и его имя;

  • конструирует на его основе имя тестового файла;

  • открывает файл для вывода в той же папке, где и файл теста;

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

  • определяет и выводит дату и время создания файла;

  • устанавливает на файл атрибуты «Скрытый» и «Только чтение».

Таймер обратного отсчета времени можно было бы кратко представить в виде следующего макроса:

 Public Sub Countdown()

    Stop_t = Timer + ost_t

    Do While Stop_t > Timer

        DoEvents

        If Timer = Int(Timer) Then

            Call Out_tim(Stop_t)

        End If

   Loop

End Sub

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

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

Совместимость версий

Принцип обратной совместимости при разработке приложений обычно декларируется и исповедуется фирмами-разработчиками, в том числе и корпорацией Microsoft. Он означает способность новых версий программы работать с файлами, созданными в более ранних версиях этой же программы. При работе в MS Office 2007 с обычными документами, созданными в предыдущих версиях,  никаких проблем  с их открытием и использованием не возникает. Но не все так просто на уровне макросов. Если вызвать справку о версии VBA, встроенного в Office 2003 и Office 2007, то в обоих случаях получим один и тот же результат: «Microsoft Visual Basic 6.3 Version 1020 VBA: Retail 6.5.1020 Forms3: 12.0.4518.101».

Совместимость версий Принцип обратной совместимости при разработке приложений обычно декларируется и исповедуется фирмами-разработчиками, в том числе и корпорацией Microsoft. Он означает способность новых версий программы работать с файлами, созданными в более ранних версиях этой же программы. При работе в MS Office 2007 с обычными документами, созданными в предыдущих версиях, никаких проблем с их открытием и использованием не возникает. Но не все так просто на уровне макросов. Если вызвать справку о версии VBA, встроенного в Office 2003 и Office 2007, то в обоих случаях получим один и тот же результат: «Microsoft Visual Basic 6.3 Version 1020 VBA: Retail 6.5.1020 Forms3: 12.0.4518.101».

Окно сообщения о версии VBA

Однако на деле выясняется, что в двенадцатой версии офисного пакета от Microsoft из VBA куда-то исчез класс объектов «FileSearch» для работы с внешними файлами, и это не единственная потеря. Оказывается, что иначе ведут себя и циклы. Если в версии 2003 года возможен досрочный выход из цикла по условию изменения значения глобальной переменной в период его исполнения, то в версии 2007 года циклы словно «слепнут», не реагируя на такое событие. Похожая странность возникает и при попытке обращения к элементу копии объекта с целью определения имени группы, в состав которой он входит с помощью указателя ParentGroup. Его использование не дает результатов и приводит к зависанию макросов. Но стоит файл документа сохранить, закрыть и открыть снова, как ситуация выправляется. Ничего подобного в предыдущих версиях MS Office не наблюдается. Еще одна ситуация: ранее к элементу группы можно было обратиться по его имени как напрямую, так и с указанием группы, в состав которой он входит. В последней версии допускается только последний вариант.

Трудно сказать, в чем причина таких внешне скрытых проблем совместимости: то ли это недоработки Microsoft, то ли смена идеологии, однако их наличие при создании конструктора потребовало отказаться от некоторых простых и красивых решений, нормально работающих в Office 2003, и искать более сложные алгоритмы на основе совместимых средств, для того, чтобы конструктором можно было пользоваться как обладателям  PowerPoint 2007, так и тем, у кого он с большим стажем.


Категория: Конструктор тестов TestKit.pptm 2007 | Добавил: metalworker (05.03.2013)
Просмотров: 1304
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]


qo.do.am © 2024