p align="left">7. тематическая направленность; 8. вариативность содержания; 9. доступность; 10. соответствие уровня трудности содержанию цели тестирования. Существуют также и другие правила разработки тестов и тестовых заданий, но мы не будем углубляться в них. Глава 2. Практическая реализация приложения Генератор тестов представляет собой веб-приложение, генерирующее из базы данных вопросы и ответы к ним, и представляющее их пользователю в виде тестовых заданий. При запуске приложения, показывается название программы и кнопка-ссылка «Начать». После нажатия этой кнопки начинается сам тест. При нажатии кнопки «Начать» открывается новая страница, на которой отображаются вопросы, выбранные из базы данных, и по четыре варианта ответа к каждому вопросу. Вопросы и ответы к ним располагаются последовательно друг под другом. Выбор варианта ответа производится кликом мыши. После выбора ответов ко всем вопросам пользователь должен нажать на кнопку «Проверить», после чего программа подсчитает количество правильных ответов и выведет результаты на экран. В Базе данных хранится две таблицы: таблица вопросов «Vopr» и таблица ответов к ним - «Otv». Вопросы в базе данных разбиты на блоки, по три вопроса в каждом, каждый следующий блок содержит более сложные вопросы, чем предыдущий. Таблица вопросов содержит следующие поля: ID - идентификационный номер вопроса; Vopros - формулировка самого вопроса; Block - номер блока, к которому принадлежит вопрос. Таблица ответов содержит поля: ID - идентификационный номер ответа; Otvet - формулировка ответа; ID_vopr - номер вопроса, к которому относится ответ; Znach - значение истинности ответа, может принимать два значения: T(true) - ответ является верным, F(false) - не верный ответ. Значения хранящиеся в таблицах можно посмотреть в приложении 1. Веб-приложение состоит из трех html-страниц: главная, тестовая и страница проверки. Главная страница, содержит приветственное слово и кнопку-ссылку для перехода на следующую страницу и начала теста. Код страницы: <html> <head> <title> Генератор тестов :: Главная </title> </head> <body bgcolor="#D9ECFF"> <div align="center"> <font size="6">Главная</font> <p> </p><p> </p> <table border="1" width="50%" cellpadding="7" bgcolor="#BFDFFF" align="center"> <tr> <td> Приветствуем Вас в генераторе тестов. </td></tr> <tr> <td height="10%"> Пожалуйста, нажмите на кнопку, чтобы начать. </td></tr> <tr><td height="29"> <a title="Жмите, не бойтесь :)"href="index.php"> <font size="4">Начать</font></a> </td></tr> </table> </div> </body> </html> Графическое представление (интерфейс пользователя): Тестовая страница - страница, содержащая код на языке РНР, который непосредственно и генерирует вопросы из БД и ответы к ним, а также выводит вопросы с ответами на экран. Рассмотрим РНР код: <?php ERROR_REPORTING(E_ALL & ~E_NOTICE & ~E_WARNING); $mysql_host="localhost"; $mysql_user="tanushka"; $mysql_password="******"; $mysql_database="Gener"; /* Соединяемся, выбираем базу данных */ $link = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or die("Could not connect:".mysql_error()); mysql_select_db("$mysql_database") or die("Could not select database"); echo "<FORM method=\"POST\" action='proverka.php'>"; $num = 1; // переменная, отвечающая за номер вопроса; while ($num<=5) { $query = "SELECT * FROM Vopr WHERE Block='$num'"; $q=@mysql_query ($query); if(!$q) break; while ($row=@mysql_fetch_array($q)) {$quest[]=$row;} $current=$quest[rand(0,count($quest)-1)]; echo "<hr>"; echo $current['Vopros']; echo "</hr>"; echo "<input type='hidden' name='q[$num]' value='".$current['ID']."'>"; $query2= "SELECT * FROM Otv WHERE ID_vopr='".$current['ID']."'"; $a=@mysql_query ($query2); while ($arow=@mysql_fetch_array($a)) { echo "<p><input type='radio' name='a[$num]' value='".$arow ['ID']."'> ".$arow ['Otvet']." </p>"; } echo "<br><br>"; unset($quest); $num++; // переходим к следующему вопросу } echo "<INPUT TYPE=submit VALUE='Отправить'>"; echo " </FORM>"; /* Закрываем соединение */ mysql_close($link); ?> Страница проверки - страница, содержащая РНР код, сравнивающий правильный ответ с ответом пользователя, если они совпадают, пользователю начисляется балл. РНР код: <? if (!isset ($_POST['q'])||!isset($_POST ['a'])) exit(0); $q=$_POST['q']; $a=$_POST['a']; $ball=0; $mysql_host="localhost"; $mysql_user="tanushka"; $mysql_password="******"; $mysql_database="Gener"; /* Соединяемся, выбираем базу данных */ $link = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or die("Could not connect:".mysql_error()); mysql_select_db("$mysql_database") or die("Could not select database"); for ($i=1; $i<=count($q); $i++) {$query="SELECT * FROM Otv WHERE ID_vopr='".$q[$i]."' AND Znach='T'"; $p=@mysql_query($query); $row=@mysql_fetch_array($p); $answer = $row['ID']; if($a[$i]==$answer) $ball++; unset($query,$p,$row); } echo "Ваш балл ".$ball." Из ".count($q)."; ?> Заключение В настоящее время в нашу жизнь широко внедряются информационные технологии. На сегодняшний день, наверное, не осталось такой области, где бы они ни применялись. Компьютеры является неотъемлемой частью работы людей. Они используются в школах и университетах. В данном курсовом проекте был создан: “Генератор тестов на языке РНР”. Он представляет собой веб-приложение, которое выбирает произвольным образом 5 вопросов и ответов к ним из базы данных, выводит их на экран и проверяет, сколько правильных ответов дал пользователь. Пользовательский интерфейс приложения делает его простым, понятным и доступным. Данное веб-приложение может быть усовершенствовано до полноценной системы тестового контроля знаний пользователей. Его пользовательский интерфейс может быть улучшен за счет разделения списка вопросов на страницы, т.е. каждый новый вопрос выводился бы на новой странице. Также данное приложение можно сделать межпредметным, т.е. добавить возможность выбора дисциплины, по которой будет проводиться тестирование. Список использованных источников 1. Интернет Университет Информационных Технологий - дистанционное образование [Электронный ресурс]. Режим доступа: http:// www.intuit.ru. - Загл. с экрана. Яз. Рус. 2. Википедия - свободная библиотека [Электронный ресурс]. Режим доступа: http://ru.wikipedia.org/wiki - Загл. с экрана. Яз. Рус. 3. Сайт компании “Softwerk”[Электронный ресурс]. Режим доступа: http://www.softwerk.ru - Загл. с экрана. Яз. Рус. 4. Котеров, Д.В. Самоучитель PHP4/ Д.В. Котеров - СПб.: БХВ-Петербург, 2001. 5. Кузнецов, М.В. РНР 5 на примерах / М.В. Кузнецов, И.В. Симдянов, С.В. Голышев. - СПб.: БХВ-Петербург, 2005. - 575 с. Приложение 1. Описание таблиц хранящихся в базе данных “Gener”: Таблица вопросов “Vopr” |
ID | Vopros | Block | | 1 | 2*2 | 1 | | 2 | 3*3 | 1 | | 3 | 4*4 | 1 | | 4 | 7*8 | 2 | | 5 | 9*5 | 2 | | 6 | 5*4 | 2 | | 7 | 11*7 | 3 | | 8 | 15*3 | 3 | | 9 | 16*2 | 3 | | 10 | 44:4 | 4 | | 11 | 42:7 | 4 | | 12 | 56:7 | 4 | | 13 | 512:2 | 5 | | 14 | 1024:2 | 5 | | 15 | 256:2 | 5 | | |
Таблица ответов “Otv” |
ID | Otvet | ID_vopr | Znach | | 1 | 4 | 1 | T | | 2 | 5 | 1 | F | | 3 | 6 | 1 | F | | 4 | 7 | 1 | F | | 5 | 11 | 2 | F | | 6 | 12 | 2 | F | | 7 | 9 | 2 | T | | 8 | 10 | 2 | F | | 9 | 5 | 3 | F | | 10 | 12 | 3 | F | | 11 | 15 | 3 | F | | 12 | 16 | 3 | T | | 13 | 56 | 4 | T | | 14 | 63 | 4 | F | | 15 | 58 | 4 | F | | 16 | 55 | 4 | F | | 17 | 40 | 5 | F | | 18 | 45 | 5 | T | | 19 | 55 | 5 | F | | 20 | 48 | 5 | F | | 21 | 15 | 6 | F | | 22 | 18 | 6 | F | | 23 | 20 | 6 | T | | 24 | 24 | 6 | F | | 25 | 77 | 7 | T | | 26 | 76 | 7 | F | | 27 | 87 | 7 | F | | 28 | 79 | 7 | F | | 29 | 46 | 8 | F | | 30 | 45 | 8 | T | | 31 | 30 | 8 | F | | 32 | 35 | 8 | F | | 33 | 30 | 9 | F | | 34 | 34 | 9 | F | | 35 | 32 | 9 | T | | 36 | 36 | 9 | F | | 37 | 10 | 10 | F | | 38 | 11 | 10 | T | | 39 | 12 | 10 | F | | 40 | 13 | 10 | F | | 41 | 8 | 11 | F | | 42 | 7 | 11 | F | | 43 | 6 | 11 | T | | 44 | 5 | 11 | F | | 45 | 6 | 12 | F | | 46 | 7 | 12 | F | | 47 | 9 | 12 | F | | 48 | 8 | 12 | T | | 49 | 1028 | 13 | F | | 50 | 266 | 13 | F | | 51 | 256 | 13 | T | | 52 | 117 | 13 | F | | 53 | 512 | 14 | T | | 54 | 522 | 14 | F | | 55 | 507 | 14 | F | | 56 | 519 | 14 | F | | 57 | 127 | 15 | F | | 58 | 129 | 15 | F | | 59 | 128 | 15 | T | | 60 | 132 | 15 | F | | |
Страницы: 1, 2
|