Смекни!
smekni.com

Разработка информационно-обучающей системы на тему “Атомно-молекулярная теория. Доказательство существования атомов и молекул (стр. 2 из 7)

– активно поисковое окно.

Каждое из приведенных выше состояний обрабатывается собственными функциями.

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

На рисунке 2.2 приведен способ организации интерфейса, реализованный в данном программном продукте.


Рисунок 2.2 – Схема интерфейса

В системе реализованы следующие виды видов диалоговых окон:

– окно запроса.

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

– поле информации;

– меню окна диалога.

В окне запроса нажатие клавиши ENTER означает выбор активного пункта диалогового меню; клавиши ESCAPE – выход из диалогового окна.

2.2 Реализация графических элементов

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

– прорисовка отдельных графических элементов управления;

– прорисовка диалоговых окон с последующим их сокрытием;

– прорисовка основного окна программы и окон инструментов;

– прорисовка заставки.

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

Рисование объёмного текста осуществляется путём вывода одного и того же текста два раза разными цветами со сдвигом в 1-2 пикселя. Рисование всех графических элементов основано на рисовании таких графических примитивов, как линия, прямоугольник и строка текста.

При прорисовке большинства элементов указывается конкретный цвет, хранящийся специальных константах.

2.3 Реализация функции скроллинга

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

– в переменную oldpos заносится позиция указателя в файле, откуда будет проводиться чтение;

– с этой позиции из файла читается, и одновременно выводиться на экран первые двадцать строк, oldpos: =74*20, oldpos присваивается значение новой позиции указателя;

– система ждет команды пользователя;

– при нажатии пункта “« Назад” (на страницу вверх), проверяется, является ли текущая позиция в файле больше чем 74*20 и если является, то oldpos:= -74*20+oldpos. Происходит смещение указателя на позицию, хранящуюся в ячейке oldpos, до тех пор, пока oldpos не станет меньше позиции 74*20 – тогда oldpos присвоит себе указатель на начальную позицию файла;

– при нажатии пункта “ Далее»” (на страницу вниз), проверяется, является ли текущая позиция в файле меньше чем 540*20 и если является, то oldpos:= 74*20+oldpos. Происходит смещение указателя на позицию, хранящуюся в ячейке oldpos, до тех пор, пока oldpos не станет больше или равна позиции 540*20 – тогда oldpos присвоит себе указатель на конечную позицию файла;

Схема работы функции скроллинга представлена на рисунке 2.3



Нет да

Рисунок 2.3 – Схема работы функции скроллинга

2.4 Реализация функции поиска информации по ключевым словам

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

– получение от пользователя искомой лексемы, занесение ее в переменную searchstr;

– занесение текущей позиции указателя в файле в специальную переменную oldpos;

– чтение строки из файла в переменную tmp;

– занесение текущей позиции указателя в файле в специальную переменную tmppos;

– поиск подстроки searchstr в строке tmp;

– если подстрока найдена, то перевод указателя на позицию, хранящуюся в переменной tmppos, и вывод информации, из файла начиная с этой позиции, иначе – переход на пункт номер два.

Ниже на рисунке 2.4 приведена схема работы функции поиска информации по ключевым словам.


Рисунок 2.4 – Схема работы функции поиска по ключевым словам

Очевидно, что поиск информации прекращается только тогда, когда обработана вся информация, содержащаяся в файле, то есть все строки файла не будут проверены на вхождение в них подстроки searchstr.

Стоит так же отметить, что файл с информацией может содержать не одно, а несколько вхождений искомого термина. Кроме того, в процессе работы с полученной информацией пользователь может перемещаться по файлу, тем самым, изменяя позиции указателя в файле. Очевидно, так же, что пользователю может понадобиться не первое, а второе или, скажем, третье его вхождение. Поэтому необходима возможность продолжения поиска с учетом предшествующего перемещения пользователя по файлу. Для реализации этой возможности и вводиться специальная переменная tmppos, которая в каждый конкретный момент времени хранит позицию в файле, до которой все строки файла уже обработаны (проверены на вхождение искомого термина). Таким образам, возобновляя поиск, мы смещаем указатель на позицию tmppos и продолжаем искать вхождения термина уже в той части текста, которая еще не обработана.

2.5 Реализация процесса тестирования и оценки уровня знаний

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

– задается вопрос;

– пользователь дает ответ;

– ответ пользователя сравнивается с правильным ответом;

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

– возвращаемся на пункт 1.

Возникает вопрос: “Каким образом система оценивает правильность ответа пользователя?” В данной информационно-обучающей системе использовались тестовые файлы со следующей структурой:

– текст вопроса;

– текст ответов (все варианты ответов на вопрос пронумерованы);

Ответы на вопросы хранятся в отдельном файле ANSWER, в формате dat.

Таким образом, варианты правильных ответов считываются заранее и заносятся в массив otvet[k], а уже затем читаются и выводятся на экран тексты вопроса и вариантов ответов. Выбор каждого из вариантов ответов интерпретируется системой, как некоторая цифра, соответствующая номеру выбранного варианта, которая также хранится в массиве user_otvet[k]. Сравнивая выбранный пользователем вариант ответа, с вариантом ответа, прочитанным из файла система, может оценить правильности данного ответа.

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

После прохождения теста (десять вопросов) количество баллов, за тест представляется на экране. На экране так же представляется общее количество набранных баллов за пройденный тест. После этого подводится итог знаний пользователя, то есть выводится оценка за тест.

На рисунке 2.5 приведена схема процесса тестирования и оценки уровня знаний пользователя.



да нет

Рисунок 2.5 – схема системы тестирования и оценки знаний

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