на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка программы генерации тестов из базы данных на языке РНР
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>&nbsp;</p><p>&nbsp;</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



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.