Разработка электронного модуля дистанционного обучения
Разработка и применение компьютерных технологий в обучении. Обзор средств разработки обучающих программ и программ проверки знаний. Основы создания компьютерных тестов. Пакет программ SunRav. Средства реализации модуля. Структура электронного учебника.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.05.2009 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Медицинскую помощь на объекте организовать силами санитарной дружины и санитарных постов. В срок 3е суток провести иммунизацию рабочих, служащих и членов их семей от особо опасных инфекций. Иммунизацию провести силами личного состава санитарной дружины под руководством заведующей здравпунктом хлебокомбината.
Санитарную обработку проводить в санпропускниках (душевых) хлебозаводов № 1 и 2 (если они не получили разрушений). При разрушении зданий объекта санобработку и обеззараживание одежды производить в местах, указанных службой ПР и ПХЗ города.
Заключение
В данном дипломном проекте рассматривалась разработка электронного модуля дистанционного обучения предназначенного для размещения в сети Интернет на сайте преподавателя или учебного центра НИ РХТУ.
Электронный модуль дистанционного обучения создавался с целью повышения эффективности процесса обучения студентов заочного факультета.
Модуль разработан на тему «Схемотехника» и содержит электронный учебник - где рассмотрены основные понятия и методы моделирования логических устройств, и систему тестирования - позволяющую в интерактивном режиме проверять уровень знаний у обучающегося. В модуле предусмотрена обратная связь и система администрирования.
Данные о результатах тестирования обучающихся хранятся централизованно и всегда доступны для просмотра.
Web-интерфейс модуля достаточно удобен для быстрого освоения пользователями. Доступ к модулю осуществляется посредством стандартного web-браузера.
Положительной стороной данного модуля является постоянная система навигации, обязательность авторизации и регистрации, наглядность информации о результатах тестирования. Однако данный модуль можно улучшить, если предусмотреть дополнительные средства общения, такие как чат и форум.
Дистанционная форма обучения предполагает, что слушатель будет обучаться в удобном месте, в удобное время, в удобном темпе времени, используя имеющиеся компьютерные средства для общения с преподавателем центра, обмениваясь текстовыми сообщениями.
Тем не менее, поставленные цели и задачи выполнены, и разработанный модуль вполне можно применять.
Так как структура дистанционных учебных курсов подразумевает модульный принцип, то разработанный модуль может быть включен в состав курса по электронике или использоваться отдельно.
Список используемой литературы
Нормативные документы
1 СТП НИ(ф) РХТУ 201.01 - 2004 Стандарт предприятия. Проекты(работы) дипломные и курсовые: НИ РХТУ им Д. И. Менделеева, подготовлен к печати на кафедрах МСК и АПП
2 НПБ 105-03. Нормы пожарной безопасности. Определение категорий помещений, зданий и наружных установок по взрывопожарной и пожарной опасности.
3 СанПиН 2.2.2/2.4.1340-03. Гигиенические требования к персональным электронно-вычислительным машинам и организации работы.
4 ГОСТ 27818-88. Допустимые уровни шума на рабочих местах и методы определения.
Книга одного - двух авторов
1 Агапонов С.В. Средства дистанционного обучения. Методика, технологии, инструментарий: СПб.: БХВ-Петербург, 2003.-336 с.
2 Котеров Д.В. Самоучитель РНР4. - СПб.: БХВ-Петербург, 2004.-576с.
3 Карпова Т.С. Базы данных: модели, разработка, реализация.- СПб.: Питер, 2001. - 304с.
4 Полат Е.С. Моисеева М.В. Дистанционное обучение.- М,: Владос - 1998. - 192 с.
5 Андреев А.А. Введение в дистанционное обучение. ч.II - М.: МЭСИ, 1997 - 50 с.
Труды институтов
1 .Дистанционное обучение и новые технологии в образовании - М.: Изд. Моск. гос. социальный университет. 1995 г. с. 54.
2 Разработка средств дистанционного обучения, компьютерных сетей и баз данных: Отчет о НИР // НИИ Микроэлектроники и информационной измерительной техники, Рук. Моисеев С.Х., 1995 г.
Статьи из журналов
1 Мержанова М.И. Уроки Web-мастерства. Урок 6. Создаем свой первый сайт. // Мир ПК - 2004.- № 6.-С.76-83.
2 Кухарчик А.М. Дешево и сердито. Краткий рассказ о PHP-Nuke и преимуществах этой системы. //Hard&Soft - 2005.- № 1. - С.116-118.
3 Кухарчик А.М. По ту сторону сайта. Первые шаги в мир PHP // Hard&Soft - 2004.- № 7. - С.112-117.
4 Кухарчик А.М. PHP в действии.// Hard&Soft - 2004.- № 9. - С.114-116.
5 Поляков А.А. Системы дистанционного обучения // Новые знания - 1996.- № 3. - С. 34-35.
Материалы Интернета
1 Методика применения дистанционных технологий (дистанционного обучения) в образовательных учреждениях высшего профессионального образования Российской Федерации от 01.07.2002 // Министерство образования РФ. Сервер «Дистанционное обучение». Страница «Нормативно-правовая база». http://dp.informika.ru/do/npb/index.asp?id=75&a=VD
2 Разработка корпоративных систем ДО //Центр дистанционного образования «Эйдос» // Страница «Электронный магазин. Информационные услуги. Разработка корпоративных систем ДО»// http://www.eidos.ru/shop/info/corp.htm
3 Концепция создания и развития единой системы дистанционного образования в России. // Открытое образование, №2, 1997. // http://www.mesi.ru/joe/»
4 Электронные системы //«Система для разработки компьютерных тестов» // Страница «Статьи» // «http://www.bytic.ru/cue99M/cwf7pvpwke.html».
5 SunRav TestOfficePro // Сервер «SunRav Software». Страница «Документация»// «http://www.sunrav.ru/srtop/index.shtml».
6 OPOKC // Сервер «ОРОКС». Страница «software»// «http://dl.nw.ru/software/review/».
7 Virtual-U // Сервер «DL». Страница «Дистанционное обучение»// «http://dl.nw.ru/software/des/part11/».
8 Lotus LearningSpace // Сервер «LearningSpace». Страница «Document» // «http://www.lotus.ru/sa/part1/».
9 Прометей // Сервер «Дистанционное образование». Страница «СДО "Прометей", версия 4.x»// «http://www.prometeus.ru/products/sdo/new.asp»
10 Компьютерная и техническая документация // Сервер «eManual.ru» // «http://www.emanual.ru»
11 Дистанционное обучение // Сервер «Дистанционное обучение» // «http://dl.nw.ru»
Приложение В
Листинг главного скрипта index.php
181
<?
session_start();
if (file_exists("connect.php")) require('connect.php');
else exit('Can not connect to the database (file <B>connect.php</B> not found)!');
if ($_POST["section_id"]) $section_id =$_POST["section_id"];
else $section_id=$_GET["section_id"];
if ($_POST["test_id"]) $test_id =$_POST["test_id"];
elseif ($_GET["test_id"]) $test_id=$_GET["test_id"];
else $test_id=$_SESSION["test_id"];
if ($_POST["group_id"]) $group_id =$_POST["group_id"];
else $group_id=$_GET["group_id"];
if ($_POST["user_id"]) $user_id =$_POST["user_id"];
else $user_id=$_GET["user_id"];
$password=$_POST["password"];
if (file_exists("config.php")) include('config.php');
if (file_exists("variable.lng")) include('variable.lng');
if (file_exists("function.php")) include('function.php');
// Печать результатов
if ($_REQUEST["print"])
{
$login=$HTTP_SESSION_VARS['login'];
$password=$HTTP_SESSION_VARS['password'];
$user_id=$HTTP_SESSION_VARS['user_id'];
settype($user_id,"integer");
$query="SELECT user_id,user_password,user_name,ug_grant_id
FROM users
LEFT JOIN user_grants ON ug_user_id=user_id
WHERE user_password='".md5($password)."' AND user_id=$user_id";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
$_SESSION['grant_resultsview']='F';
if (@mysql_num_rows($result) > 0)
{
while ($row=mysql_fetch_array($result))
{ $name=$row["user_name"];
if (($row["ug_grant_id"]==6)||($row["ug_grant_id"]==1)) $_SESSION['grant_resultsview']='T';
}
}
else
{
echo ($BadPasswordText.' <a href="'.$ScriptName.'">'.$TryAgainText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit;
}
if ($_SESSION['grant_resultsview']!=='T')
{
echo ($CanNotViewResultsText.'<BR>
<a href="'.$ScriptName.'?main=1">'.$HomeText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit;
} else
{
$query="select *
from user_results r
left join tests t ON t.test_id=user_result_test_id
WHERE user_result_user_id=$user_id";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
$total=1;
?><br><align="center"><?=$name?><?
while ($row=mysql_fetch_array($result))
{
?>
<table width=100% border="1" class="table">
<tr>
<td class="header"><?=$total.'. '.$TestText?></td>
<td class="header"><?=$TestingDateText?></td>
<td class="header"><?=$Completed?></td>
<td class="header"><?=$Right?></td>
<td class="header"><?=$PercentRight?></td>
</tr>
<tr>
<td calss="text"><?=$row["test_name"]?></td>
<td calss="text"><?=$row["user_result_time_begin"]?></td>
<td calss="text"><?=$row["user_result_completed_questions"]?></td>
<td calss="text"><?=$row["user_result_righ_questions"]?></td>
<td calss="text"><?=round($row["user_result_percent_right"],2)?></td>
<br><br></tr>
<tr class="tableheader">
<td colspan="10"><?=$ResultText?></td>
</tr>
<tr>
<td calss="text" colspan="10"><?=$row["user_result_results"]?></td>
</tr>
</table>
<?
$total++;
}
$total--;
echo ('<br>Total:'.$total.'<br><br>');
echo ('<a href="'.$ScriptName.'?main=1">'.$HomeText.'</a>.');
?>
<script type="text/javascript" language="javascript1.2">
function printPage()
{
document.getElementById('print').style.visibility = 'hidden';
// Do print the page
if (typeof(window.print) != 'undefined') {
window.print();
}
document.getElementById('print').style.visibility = '';
}
</script>
<?php
echo '<br /><br /> <input type="button" style="width: 100px; height: 25px;" id="print" value="' . $strPrint . '" onclick="printPage()">' . "\n<br><br>";
unset ($_REQUEST["main"]);
if (file_exists("footer.html")) include "footer.html";
exit;
};
}
if (file_exists("header.php")) include('header.php');
if ($language && file_exists($language.'.lng')) require($language.'.lng');
//Главная страница
if ($_REQUEST["main"])
{ if (file_exists("main.html")) include "main.html";
unset ($_REQUEST["main"]);
if (file_exists("footer.html")) include "footer.html";
exit; }
$login=$HTTP_POST_VARS["login"];
/* Открытие файлов в зависимости от авторизации*/
if ($_REQUEST["auth"]){
if (empty ($_SESSION['login']))
{
if (empty ($_POST['author']))
{
$htm .= $txtTypeLogin.'<br><br>
<p> <form action="'.$_SERVER['PHP_SELF'].'" method="post">
<p> '.$txtLogin.' <input name="login" type="text" value=""></p>
<p> '.$txtPass.' <input name="password" type="password" value=""></p>
<p> <input name="author" type="submit" value="'.$btnLogin.'"></p>
<P class="text"> [<a href="'.$ScriptName.'?forget_pass=1">Забыли пароль?</a> | <a href="'.$ScriptName.'?newuser=1">Зарегистрировать нового пользователя?</a> ] </p>
</form></p>';
}
else
{
//Check LOGIN and PASSWORD
$sql = "SELECT user_id,user_login,user_password,ug_grant_id FROM users
LEFT JOIN user_grants ON user_id=ug_user_id
WHERE user_login='".preg_replace("/[^\w_\.\-]/", "", $_POST['login'])."'
AND user_password='".md5($_POST['password'])."'";
$r = mysql_query ($sql) or die (mysql_error());
if (@mysql_num_rows($r) > 0)
{
//Password is right
while ($row=mysql_fetch_array($r))
{
$_SESSION['user_id']=$row["user_id"];
$HTTP_SESSION_VARS['login']=$row["user_login"];
$HTTP_SESSION_VARS['password']=$row["password"];
$_SESSION['login']='T';
if ($row["ug_grant_id"]==1) $_SESSION['grant_admin']='T';
else $_SESSION['grant_admin']='F';
if ($row["ug_grant_id"]==2) $_SESSION['grant_users']='T';
else $_SESSION['grant_users']='F';
if ($row["ug_grant_id"]==3) $_SESSION['grant_tests']='T';
else $_SESSION['grant_tests']='F';
if ($row["ug_grant_id"]==4) $_SESSION['grant_report']='T';
else $_SESSION['grant_report']='F';
if ($row["ug_grant_id"]==5) $_SESSION['grant_testing']='T';
else $_SESSION['grant_testing']='F';
if ($row["ug_grant_id"]==6) $_SESSION['grant_resultsview']='T';
else $_SESSION['grant_resultsview']='F';
}
header("Location:".$_SERVER['PHP_SELF']);
}
else
{
//Wrong LOGIN or/and PASSWORD
sleep (2);
header("Location:".$_SERVER['PHP_SELF']);
}
}
echo $htm;
exit;
}
else
{
$sql = "SELECT user_id,ug_grant_id,grantpage_page FROM users
LEFT JOIN user_grants ON user_id=ug_user_id
LEFT JOIN grant_pages ON grantpage_grant_id=ug_grant_id
WHERE user_id='".$_SESSION['user_id']."'";
$logged=false;
$script_name=basename($_SERVER['PHP_SELF']);
$r = mysql_query ($sql) or die (mysql_error());
while ($row=mysql_fetch_array($r))
{
if ($script_name==$row["grantpage_page"])
$logged=true;
};
if (($logged==true) OR ($_SESSION['grant_admin']=='T'))
{
$_SESSION['login']='T';
}
else
{
echo($HaveNotGrants);
include "footer.html";
exit;
}
}
}
elseif ($HTTP_POST_VARS["author"])
{
if (file_exists("auth.php")) include('auth.php');
$HTTP_SESSION_VARS["password"]=$HTTP_POST_VARS["password"];
$HTTP_SESSION_VARS["login"]=$HTTP_POST_VARS["login"];
$user_name=$row['user_name'];
?><form name="Hello" method="post" action="<?=$ScriptName?>">
<table class="table" width="100%" align="center">
<tr>
<td class="header" align="center" valign="middle">
<b><font face="Arial" size="3" class="content"><?=$HelloText?> <?=$user_name?>
<br><br><p class="text"><?=$GoTo?><br><br><a href="<?=$ScriptName?>?list_lec=1"><font face="Arial" size="3" class="content"><?=$GoToLections?></a><br><br><font face="Arial" size="3" class="content">или<br><br><a href="<?=$ScriptName?>?list_test=1"><font face="Arial" size="3" class="content"><?=$GoToTests?></p></a>
<p> </p></td></tr></table></form> <?
if (file_exists("footer.html")) include "footer.html";
exit;
}
else if ($_REQUEST["list_lec"]||$_REQUEST["list_test"]||$_REQUEST["gloss"]||$_REQUEST["vved"]||$_REQUEST["feedback"])
{ $login=$HTTP_SESSION_VARS['login'];
$password=$HTTP_SESSION_VARS['password'];
$user_id=$HTTP_SESSION_VARS['user_id'];
if (file_exists("auth.php")) include('auth.php');
if ($_REQUEST["list_lec"])
{ $HTTP_SESSION_VARS["test"]=0;
if (file_exists("list_lec.html")) include "list_lec.html";
unset ($_REQUEST["list_lec"]);
if (file_exists("footer.html")) include "footer.html";
exit; }
elseif ($_REQUEST["list_test"])
{ ?>
<form name="form2" method="post" action="<?=$ScriptName?>">
<table class="table" width="100%" align="center">
<tr>
<td class="header"><?=$TestTopicText?></td>
<td >
<select name="section_id">
<?
$query="SELECT * FROM sections ORDER BY section_name";
$result=mysql_query($query) or exit ("Invalid sections query: ".$query);
while ($row=mysql_fetch_array($result))
{
$section_name=$row["section_name"];
$s_id =$row["section_id"];
settype($s_id,"integer");
if ($HTTP_POST_VARS["section_id"]==$s_id)
{
?>
<option value="<?=$s_id?>" selected><?=$section_name?></option>
<?}
else
{
?>
<option value="<?=$s_id?>" ><?=$section_name?></option>
<?
}
}
?>
</select>
<input type="submit" class="button" name="select_section" value="<?=$SelectText?>">
<br><br> </tr>
<tr>
<br><br> <td class="header"><?=$TestText?></td>
<td >
<select name="test_id">
<? if ($HTTP_POST_VARS["section_id"])
{
settype($HTTP_POST_VARS["section_id"],"integer");
$section_id=$HTTP_POST_VARS["section_id"];
$query=
"SELECT test_id,test_name FROM tests WHERE test_section_id=$section_id ORDER BY test_name";
$result=mysql_query($query) or exit ("Invalid tests query ".$query);
while ($row=mysql_fetch_array($result))
{
$test_name=$row["test_name"];
$t_id =$row["test_id"];
settype($test_id,"integer");
?>
<option value="<?=$t_id?>" selected><?=$test_name?></option>
<?
}
}?>
</select>
</td>
</tr>
</table>
<br>
<input type="submit" class="button" name="begin" value="<?=$BeginTest?>">
<p> </p>
<? exit;
if (file_exists("footer.html")) include "footer.html";
exit;
}
elseif ($_REQUEST["gloss"])
{if (file_exists("gloss.html")) include "gloss.html";
unset ($_REQUEST["gloss"]);
if (file_exists("footer.html")) include "footer.html";
exit; }
elseif ($_REQUEST["vved"])
{
if (file_exists("vved.html")) include "vved.html";
unset ($_REQUEST["vved"]);
if (file_exists("footer.html")) include "footer.html";
exit; }
elseif ($_REQUEST["feedback"])
{
if (file_exists("feedback.php")) include "feedback.php";
unset ($_REQUEST["feedback"]);
if (file_exists("footer.php")) include "footer.php";
exit; }
}elseif ($HTTP_POST_VARS["select_section"])
{ $HTTP_SESSION_VARS["test"]=1;
?>
<form name="form2" method="post" action="<?=$ScriptName?>">
<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="40%"><?=$TestTopicText?></td>
<td width="66%">
<select name="section_id">
<?
$query="SELECT * FROM sections";
$result=mysql_query($query) or exit (mysql_error()."in query: ".$query);
while ($row=mysql_fetch_array($result))
{
$section_name=$row["section_name"];
$s_id =$row["section_id"];
settype($s_id,"integer");
if ($HTTP_POST_VARS["section_id"]==$s_id)
{
?>
<option value="<?=$s_id?>" selected><?=$section_name?></option>
<?}
else
{
?>
<option value="<?=$s_id?>" ><?=$section_name?></option>
<?
}
}
?>
</select>
<input type="submit" class="button" name="select_section" value="<?=$SelectText?>">
<br> <br></tr>
<tr></tr>
<tr>
<br><br> <td width="40%"><?=$SelectTestText?></td>
<td width="66%">
<select name="test_id">
<?
settype($HTTP_POST_VARS["section_id"],"integer");
$section_id=$HTTP_POST_VARS["section_id"];
$query="SELECT test_id,test_name FROM tests WHERE test_section_id=$section_id";
$result=mysql_query($query) or exit (mysql_error()."in query ".$query);
while ($row=mysql_fetch_array($result))
{
$test_name = $row["test_name"];
$t_id = $row["test_id"];
settype($test_id,"integer");
?>
<option value="<?=$t_id?>" selected><?=$test_name?></option>
<?
}
?>
</select>
</td>
</tr>
</table>
<br>
<input type="submit" class="button" name="begin" value="<?=$BeginTest?>">
<input type="hidden" class="field" name="login" value="<?=$HTTP_SESSION_VARS["login"]?>" maxlength="30">
<input type="hidden" class="field" name="password" value="<?=$HTTP_SESSION_VARS["password"]?>" maxlength="20">
</form>
<?
unset ($_REQUEST["list_test"]);
exit;
} elseif ($HTTP_POST_VARS["sendmail"]){
if ($HTTP_POST_VARS["sender_email"]=='')
{ echo($NoEmail);
echo ('<br><br><a href="'.$ScriptName.'?feedback=1">'.$TryAgainText .'</a>.');
exit;
}
@$att=$_FILES["task"]["tmp_name"];
$emailuser=$HTTP_POST_VARS["sender_email"];
@$attachment = @fread(fopen("@$att", "r"), filesize("@$att"));
$mail = new mime_mail();
$mail->from = $HTTP_POST_VARS["sender_email"];
$mail->headers = "From: $from\r\nX-Mailer: ArkaSender v.1.0\r\n$headers";
$mail->to = $Email;
$mail->subject = "Sxemotexnika";
$mail->body = $HTTP_POST_VARS["message"];
$mail->add_attachment("$attachment", "@$att", "Content-Transfer-Encoding: base64");
$mail->send();
unset ($HTTP_POST_FILES["task"]);
echo $Sends;
echo ('<br><br><a href="'.$ScriptName.'?main=1">'.$HomeText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit;
}
$login=$HTTP_SESSION_VARS['login'];
$password=$HTTP_SESSION_VARS['password'];
$user_id=$HTTP_SESSION_VARS['user_id'];
if ($HTTP_POST_VARS["begin"])
{
if (trim($login)!='')
{
$user_id=$HTTP_SESSION_VARS["user_id"];
$HTTP_POST_VARS["password"]= $HTTP_SESSION_VARS["password"];
settype($user_id,"integer");
$query="SELECT user_id,user_password,user_name,ug_grant_id
FROM users
LEFT JOIN user_grants ON ug_user_id=user_id
WHERE user_password='".md5($HTTP_POST_VARS["password"])."' AND user_id=$user_id";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
$_SESSION['grant_resultsview']='F';
if (@mysql_num_rows($result) > 0)
{
while ($row=mysql_fetch_array($result))
{
if ($row["ug_grant_id"]==5) $_SESSION['grant_testing']='T';
}
if($_SESSION['grant_testing']!=='T')
{
echo ($HaveNotGrants.' <a href="'.$ScriptName.'">'.$TryAgainText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit;
}
}
else
{
echo ($BadPasswordText.' <a href="'.$ScriptName.'">'.$TryAgainText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit;
}
}
else
{
unset($HTTP_POST_VARS["begin"]);
}
}
if ($HTTP_POST_VARS["Back"])
{
$HTTP_SESSION_VARS["curq"]=$HTTP_SESSION_VARS["curq"]-1;
if ($HTTP_SESSION_VARS["right_answer"][$HTTP_SESSION_VARS["curq"]]==TRUE)
$HTTP_SESSION_VARS["rights"]--;
}
else if($_REQUEST["forget_pass"])
{?>
<form name="forget_form" method="post" action="<?=$ScriptName?>">
<?=$MailRequestText?><br><br><br><br>
<input type="text" class="field" name="mail" size="50" maxlength="40">
<input type="submit" class="button" name="forget_submit" value="<?=$SendText?>">
</form>
<?
unset ($_REQUEST["forget_pass"]);
if (file_exists("footer.html")) include "footer.html";
exit;
}
elseif($HTTP_POST_VARS["forget_submit"])
{
$user_mail=$HTTP_POST_VARS["mail"];
$query="SELECT user_name,user_login,user_password FROM users WHERE
user_mail='".$user_mail."'";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
if (mysql_num_rows($result)!==1)
{
echo($EmailNotFoundText);
if (file_exists("footer.html")) include "footer.html";
exit;
}
$row=mysql_fetch_array($result);
$name=$row["user_name"];
$password=$row["user_password"];
$login=$row["user_login"];
$message=$HelloText.",".$name.
$YourLoginText.$login.
$YourPassText.$password;
Mail($user_mail,'Login request',$message,'From: "'.$EMail.'"');
}
else if($_REQUEST["newuser"])
{
?>
<form name="reg_form" method="post" action="<?=$ScriptName?>">
<table width=80% border="0" cellspacing="0" cellpadding="0" align="center">
<tr align="center" class="tableheader"><p><font face="blackArial" class="H1" size="3">Введите пожалуйста свои данные</font></p>
<br><br></tr>
<tr>
<td width=20% ><p> <?=$YourNameText?></p>
</td>
<td width=80%>
<input type="text" class="field" name="reg_name" size="50" maxlength="50">
</td>
</tr>
<td> </td>
<tr>
<td width=20%><p> <?=$YourLoginText?></p></td>
<td width=80%>
<input type="text" class="field" name="reg_login" size="50" maxlength="30">
</td>
</tr>
<td> </td>
<tr>
<td width=20%><p> <?=$YourPassText?></p></td>
<td width=80%>
<input type="password" class="field" name="reg_password" size="50" maxlength="20">
</td>
</tr>
<td> </td>
<tr>
<td width=20%><p> E-mail</p></td>
<td width=80%>
<input type="text" class="field" name="reg_mail" size="50" maxlength="40">
</td>
</tr>
<td> </td>
<tr>
<td width=20%><p> <?=$userRemarks?></p></td>
<td width=80% colspan="2">
<textarea class="field" name="UserInfo" cols="50" rows="2" ></textarea>
</td>
</tr>
<tr>
<td colspan=2>
</td>
</tr>
<p>
<td width=80%> </td>
</tr>
<tr>
<td width=20%>
<input type="reset" class="button" name="clear" value="<?=$ClearText?>">
</td>
<td width=80%>
<input type="submit" class="button" name="register" value="<?=$RegisterText?>">
</td>
</tr>
</table>
</form>
<?
unset ($_REQUEST["newuser"]);
if (file_exists("footer.html")) include "footer.html";
exit;
}
else if($HTTP_POST_VARS["register"])
{
$name =$HTTP_POST_VARS["reg_name"];
$login =$HTTP_POST_VARS["reg_login"];
$password=$HTTP_POST_VARS["reg_password"];
$mail =$HTTP_POST_VARS["reg_mail"];
$UserInfo =$HTTP_POST_VARS["UserInfo"];
if ((trim($mail)=='') || (trim($login)=='') || (trim($password)=='') || (trim($name)=='') )
{
exit ($NotAllFilledText.' <a href="'.$ScriptName.'?newuser=1">'.$TryAgainText.'</a>');
}
$query="SELECT user_name, user_login
FROM users where user_login='".$login."' && user_password='". md5($password)."'";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
if (mysql_num_rows($result)>0)
{
exit ($UserExistsText.
'<a href="'.$ScriptName.'?newuser=1">'.$TryAgainText.'</a>');
}
$query="INSERT INTO users VALUES (
'', 1,'".$name."' , '".md5($password)."','".$UserInfo."','F' ,0, '".
$mail."','".$login."')";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
$query="SELECT user_id FROM users WHERE user_name='$name'&& user_password='".md5($password)."'&& user_login='$login'";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
while ($row = mysql_fetch_array($result))
{ $HTTP_SESSION_VARS["user_id"]=$row['user_id'];
for ($i=4; $i<7; $i++)
{
$query="INSERT INTO user_grants VALUES (
'','".$row["user_id"]."','".$i."')";
$r=mysql_query($query) or exit(mysql_error().' in query: '.$query);
}
}
if (mysql_affected_rows()<0)
{
echo('Can not register a new user '.$name);
if (file_exists("footer.html")) include "footer.html";
exit;
}
else
{
$message=$MailRegistrationTextBegin."\n".
"Login:".$login."\n".
"Password:".$password."\n".
$MailRegistrationTextEnd;
Mail ($mail,"Registration",$message,"From: ".$EMail);
$HTTP_SESSION_VARS["login"]=$login;
$HTTP_SESSION_VARS["password"]=$HTTP_POST_VARS["reg_password"];
if (file_exists("vved.html")) include "vved.html";
if (file_exists("footer.html")) include "footer.html";
exit;
}
}
else if ($HTTP_POST_VARS["select_section_after_testing"])
{?>
<form name="form2" method="post" action="<?=$ScriptName?>">
<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="40%"><?=$TestTopicText?></td>
<td width="66%">
<select name="section_id">
<?
$query="SELECT * FROM sections";
$result=mysql_query($query) or exit (mysql_error()."in query: ".$query);
while ($row=mysql_fetch_array($result))
{
$section_name=$row["section_name"];
$s_id =$row["section_id"];
settype($s_id,"integer");
if ($HTTP_POST_VARS["section_id"]==$s_id)
{
?>
<option value="<?=$s_id?>" selected><?=$section_name?></option>
<?}
else
{
?>
<option value="<?=$s_id?>" ><?=$section_name?></option>
<?
}
}
?>
</select>
<input type="submit" class="button" name="select_section" value="<?=$SelectText?>">
</tr>
<tr>
<td width="40%"><?=$SelectTestText?></td>
<td width="66%">
<select name="test_id">
<?
settype($HTTP_POST_VARS["section_id"],"integer");
$section_id=$HTTP_POST_VARS["section_id"];
$query="SELECT test_id,test_name FROM tests WHERE test_section_id=$section_id";
$result=mysql_query($query) or exit (mysql_error()."in query ".$query);
while ($row=mysql_fetch_array($result))
{
$test_name = $row["test_name"];
$t_id = $row["test_id"];
settype($test_id,"integer");
?>
<option value="<?=$t_id?>" selected><?=$test_name?></option>
<?
}
?>
</select>
<input type="submit" class="button" name="begin" value="<?=$BeginTest?>">
<input type="hidden" class="field" name="login" value="<?=$HTTP_SESSION_VARS["login"]?>" maxlength="30">
<input type="hidden" class="field" name="password" value="<?=$HTTP_SESSION_VARS["reg_password"]?>" maxlength="20">
</td>
</tr>
</table>
</form>
<?
exit;
}
else if($_REQUEST["Results"])
{ $login=$HTTP_SESSION_VARS['login'];
$password=$HTTP_SESSION_VARS['password'];
$user_id=$HTTP_SESSION_VARS['user_id'];
settype($user_id,"integer");
$query="SELECT user_id,user_password,user_name,ug_grant_id
FROM users
LEFT JOIN user_grants ON ug_user_id=user_id
WHERE user_password='".md5($password)."' AND user_id=$user_id";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
$_SESSION['grant_resultsview']='F';
if (@mysql_num_rows($result) > 0)
{
while ($row=mysql_fetch_array($result))
{ $name=$row["user_name"];
if (($row["ug_grant_id"]==6)||($row["ug_grant_id"]==1)) $_SESSION['grant_resultsview']='T';
}
}
else
{ echo ($BadPasswordText.' <a href="'.$ScriptName.'">'.$TryAgainText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit; }
if ($_SESSION['grant_resultsview']!=='T')
{ echo ($CanNotViewResultsText.'<BR>
<a href="'.$ScriptName.'?main=1">'.$HomeText.'</a>.');
if (file_exists("footer.html")) include "footer.html";
exit;
} else {
$query="select *
from user_results r
left join tests t ON t.test_id=user_result_test_id
WHERE user_result_user_id=$user_id";
$result=mysql_query($query) or exit(mysql_error().' in query: '.$query);
$total=1;
?><br><align="center"><?=$name?><?
while ($row=mysql_fetch_array($result))
{
?>
<table width=100% border="1" class="table">
<tr>
<td class="header"><?=$total.'. '.$TestText?></td>
<td class="header"><?=$TestingDateText?></td>
<td class="header"><?=$Completed?></td>
<td class="header"><?=$Right?></td>
<td class="header"><?=$PercentRight?></td>
</tr>
<tr>
<td calss="text"><?=$row["test_name"]?></td>
<td calss="text"><?=$row["user_result_time_begin"]?></td>
<td calss="text"><?=$row["user_result_completed_questions"]?></td>
<td calss="text"><?=$row["user_result_righ_questions"]?></td>
<td calss="text"><?=round($row["user_result_percent_right"],2)?></td>
<br><br></tr>
<tr class="tableheader">
<td colspan="10"><?=$ResultText?></td>
</tr>
<tr>
<td calss="text" colspan="10"><?=$row["user_result_results"]?></td>
</tr>
</table>
<?
$total++;
}
$total--;
echo ('<br>Total:'.$total.'<br><br>');
echo ('<a href="'.$ScriptName.'?main=1">'.$HomeText.'</a>. <a href="'.$ScriptName.'?print=1">'.$PrintVer.'</a>');
if (file_exists("footer.html")) include "footer.html";
exit;
};
}
else if ($HTTP_POST_VARS["Next"] || $HTTP_POST_VARS["Pass"])
{
$HTTP_SESSION_VARS["attempts"]++;
$question_id =$HTTP_SESSION_VARS["question_id"];
$test_id =$HTTP_SESSION_VARS["test_id"];
$user_id =$HTTP_SESSION_VARS["user_id"];
$results_id =$HTTP_SESSION_VARS["results_id"];
$attempts =$HTTP_SESSION_VARS["attempts"];
$is_next_when_right=get_is_next_when_right($test_id);
if ($HTTP_SESSION_VARS["notanswered_mode"]==TRUE)
{
$curq=get_next_notanswered($test_id,$HTTP_SESSION_VARS["curq"],$results_id);
$mqc=get_questions_count($test_id);
if ($curq>$mqc)
{ exit; }
}
else
{ $curq=$HTTP_SESSION_VARS["curq"]; }
settype($question_id,"integer");
settype($curq,"integer");
settype($test_id,"integer");
settype($results_id,"integer");
if ($HTTP_POST_VARS["Pass"])
{ $is_answ='F';
unset($HTTP_POST_VARS["Next"]);
}
else
{ $is_answ='T';
inc_answered_questions($results_id);
set_time_end($results_id);
}
$qtype = get_qtype($question_id);
settype($qtype,"integer");
$amax = get_answ_quantity($question_id);
settype($amax,"integer");
// Увеличиваем кол-во пройденных вопросов
set_time_end($results_id);
//Если тип вопроса "Один из нескольких"
if ($qtype==0)
{
$answ=$HTTP_POST_VARS["answ"];
if ($answ || ($answ=='0') ||($is_answ=='F'))
{
//запись номеров помеченых ответов и подсчет баллов за вопрос
for($i=0;$i<$amax;$i++) $checked_answer[$curq][$i]=FALSE;
$checked_answer[$curq][$answ]=TRUE;
//Проверка правильности ответа
$ans=$HTTP_SESSION_VARS["kkur"][$answ];
$righta = is_right_answer($question_id,$ans);
if ($righta=='T')
{
$right_answer[$curq]=TRUE;
$HTTP_SESSION_VARS["right_answer"][$curq]=TRUE;
}
else
{
$right_answer[$curq]=FALSE;
$HTTP_SESSION_VARS["right_answer"][$curq]=FALSE;
}
if (($test_type==0) && ($right_answer[$curq]==TRUE)) $ascore=get_question_weight($question_id);
else if ($test_type==1) $ascore=get_answ_score($question_id,$answ);
settype($ascore,"integer");
$scores[$curq] =$ascore;
$HTTP_SESSION_VARS["scores"][$curq] =$ascore;
//Если не добиваемся правильного ответа
if (($is_next_when_right=='F') || ($right_answer[$curq]==TRUE) ||($is_answ=='F') )
{ $answer_text[$answ]=addslashes($HTTP_SESSION_VARS["answer_text"][$answ]);
$question_text=addslashes($HTTP_SESSION_VARS["question_text"]);
if (is_showed_question($curq,$results_id)==FALSE)
{
$query="INSERT INTO user_answers VALUES (
'', $results_id, $curq, '".$question_text."','". $answer_text[$answ]."',
NOW(), '".$righta."',$ascore,'".$is_answ."')";
}
else
{
$query="UPDATE user_answers SET user_answer_question='".$question_text.
"', user_answer_answer='".$answer_text[$answ]."', user_answer_time=NOW(),
user_answer_is_right='".$righta."', user_answer_score=".$ascore.
", user_answer_answered='".$is_answ.
"' WHERE user_answer_user_result_id=".$results_id.
" && user_answer_qnumber=".($curq-1);
}
$result=mysql_query($query);
if (mysql_affected_rows()<0)
{
echo('Can not add information into ANSWERS(0) table: '.$query);
if (file_exists("footer.html")) include "footer.html";
exit;
}
}
}
}
//Если тип вопроса "Несколько из нескольких"
elseif($qtype==1)
{ $answ_text='';
for($i=0;$i<$amax;$i++)
{
$answ[$i]=$_POST["answ"][$i];
if ($answ[$i])
{
$checked_answer[$curq][$i]=TRUE;
$ascore = $ascore+get_answ_score($question_id,$answ[$i]);
$answ_text=$answ_text.$HTTP_SESSION_VARS["answer_text"][$i].'\n';
}
}
//Проверка правильности ответа
$aquantity=$amax;
$right_answer[$curq]=TRUE;
$HTTP_SESSION_VARS["right_answer"][$curq]=TRUE;
for ($i=0;$i<$aquantity;$i++)
{ $ans=$HTTP_SESSION_VARS["kkur"][$i];
$righta = is_right_answer($question_id,$ans);
if (($righta=='T')!=($answ[$i]))
{
$right_answer[$curq]=FALSE;
$HTTP_SESSION_VARS["right_answer"][$curq]=FALSE;
break;
}
}
if (($test_type==0) && ($right_answer[$curq]==TRUE)) $ascore=get_question_weight($question_id);
settype($ascore,"integer");
$scores[$curq]=$ascore;
$HTTP_SESSION_VARS["scores"][$curq]=$scores[$curq];
//Если не добиваемся правильного ответа
if (($is_next_when_right=='F') || ($right_answer[$curq]==TRUE) ||(($is_answ=='F')))
{ $answ_text=addslashes($answ_text);
$question_text=addslashes($HTTP_SESSION_VARS["question_text"]);
if (is_showed_question($curq,$results_id)==FALSE)
{
$query="INSERT INTO user_answers VALUES (
'', $results_id, $curq, '".$question_text."','". $answ_text."',
NOW(), '".$righta."',$ascore,'".$is_answ."')";
}
else
{
$query="UPDATE user_answers SET user_answer_question='".$question_text.
"', user_answer_answer='".$answer_text[$answ]."', user_answer_time=NOW(),
user_answer_is_right='".$righta."', user_answer_score=".$ascore.
", user_answer_answered='".$is_answ.
"' WHERE user_answer_user_result_id=".$results_id.
" && user_answer_qnumber=".($curq-1);
}
$result=mysql_query($query);
if (mysql_affected_rows()<0)
{ echo('Can not add information into ANSWERS(1) table ');
if (file_exists("footer.html")) include "footer.html";
exit;
}
}
}
//Если тип вопроса "На соответствие"
elseif (($qtype==3) OR ($qtype==4))
{ //Проверка правильности ответа
$right_answer[$curq]=TRUE;
$HTTP_SESSION_VARS["right_answer"][$curq]=TRUE;
$righta='T';
if ($qtype==3) $pairs=$amax/2;
else $pairs=$amax;
for ($j=0; $j<$pairs; $j++)
{
if (get_corresp_value($question_id,$j)!=$_POST["corr"][$j])
{
$right_answer[$curq]=FALSE;
$HTTP_SESSION_VARS["right_answer"][$curq]=FALSE;
$righta='F';
break;
}
};
if (($test_type==0) && ($right_answer[$curq]==TRUE)) $ascore=get_question_weight($question_id);
settype($ascore,"integer");
$scores[$curq]=$ascore;
$HTTP_SESSION_VARS["scores"][$curq]=$scores[$curq];
if (($is_next_when_right=='F') || ($right_answer[$curq]==TRUE) ||(($is_answ=='F')))
{ $answ_text=addslashes($answ_text);
$question_text=addslashes($HTTP_SESSION_VARS["question_text"]);
if (is_showed_question($curq,$results_id)==FALSE)
{
$query="INSERT INTO user_answers VALUES (
'', $results_id, $curq, '".$question_text."','". $answ_text."',
NOW(), '".$righta."',$ascore,'".$is_answ."')";
}
else
{
$query="UPDATE user_answers SET user_answer_question='".$question_text.
"', user_answer_answer='".$answer_text[$answ]."', user_answer_time=NOW(),
user_answer_is_right='".$righta."', user_answer_score=".$ascore.
", user_answer_answered='".$is_answ.
"' WHERE user_answer_user_result_id=".$results_id.
" && user_answer_qnumber=".($curq-1);
}
$result=mysql_query($query);
if (mysql_affected_rows()<0)
{
echo('Can not add information into ANSWERS(4) table ');
if (file_exists("footer.html")) include "footer.html";
exit;
}
}
}
if($is_answ=='F')
{
$HTTP_SESSION_VARS["right_answer"][$curq]=FALSE;
}
// Если надо среагировать на вопрос, то показываем сообщение
$response_on_right = is_resp_on_right($test_id);
$response_on_wrong = is_resp_on_wrong($test_id);
$explanation = get_explanation($question_id);
$is_explanation = get_is_explanation($test_id);
$text_of_right_message = get_text_of_right_message($test_id);
$text_of_wrong_message = get_text_of_wrong_message($test_id);
if (($response_on_right=='T') && ($right_answer[$curq]==TRUE) &&($NotShowMessages==FALSE))
{ if ($is_explanation=='T') $mes=$text_of_right_message.". ".$explanation;
else $mes=$text_of_right_message;
$mes=addslashes($mes);
?>
<script>
alert("<?=$mes?>");
</script>
<?
}
if (($response_on_wrong=='T') && ($right_answer[$curq]==FALSE) &&($NotShowMessages==FALSE))
{ $mes=$text_of_wrong_message;
if ($is_explanation=='T') $mes=$text_of_wrong_message."\n".$explanation;
else $mes=$text_of_wrong_message;
$mes=addslashes($mes);
$mes=str_replace(chr(10),"\\n",$mes);
?>
<script>
alert("<?=$mes ?>");
</script>
<?
}
//Если правильный ответ то начисляем 1 балл
$test_type = get_test_type($test_id);
$questions_count = get_questions_count($test_id);
if (($right_answer[$curq]==TRUE) && ($is_answ=='T')) $HTTP_SESSION_VARS["rights"]++;
if($is_answ=='F')
{
$scores[$curq]=0;
}
if (($isShowRightWrong==TRUE) && ($is_answ=='T'))
{ if (($is_answ=='T') && ($right_answer[$curq]==TRUE))
{ echo($YourAnswerText.'<font color='.$RightColor.'><b>'.$RightAnswerText.'</B></font>.<BR>');
echo($PrevQuestionText.$question_text.'<BR>');
if ($qtype==0)
{ echo($PrevAnswerText.$answer_text[$answ].'<BR>'); }
elseif($qtype==1)
{ echo($PrevAnswerText.$answ_text.'<BR>'); }
}
else
{ echo($YourAnswerText.'<font color='.$WrongColor.'><b>'.$WrongText.'</B></font>.'); }
}
// Все ли вопросы заданы или нет?
if (($is_next_when_right=='F') || ($right_answer[$curq]==TRUE) || ($is_answ=='F'))
{
if ($HTTP_SESSION_VARS["notanswered_mode"]==TRUE)
{
$curq=get_next_notanswered($test_id,$HTTP_SESSION_VARS["curq"],$results_id);
settype($curq,"integer");
$HTTP_SESSION_VARS["curq"]=$curq;
if ($curq==0) $curq=$questions_count;
}
else
{ $HTTP_SESSION_VARS["curq"]++; }
}
if ($HTTP_SESSION_VARS["notanswered_mode"]==TRUE)
{ $qc=$questions_count-1; }
else
{ $qc=$questions_count-1; }
if (($curq>=($qc+$qcoef)) || ((time()>=$HTTP_SESSION_VARS["finish_time"]) && (get_test_time_limit($test_id)>10)))
// Все вопросы заданы - начинаем обработка результатов
{
$completed=TRUE;
$test_caption=get_test_caption($test_id);
$theme_quantity = get_theme_quantity($test_id);
$show_score = get_is_show_score($test_id);
$show_results_message= get_is_show_results_message($test_id);
$resume_count = get_resume_count($test_id);
$TotalScores =0;
$right_questions=0;
for ($i=0;$i<$theme_quantity;$i++) $theme_scores[$i]=0;
if ($test_type==0)
{
for ($i=0;$i<$HTTP_SESSION_VARS["curq"]+1;$i++)
{
$questionid=get_question_id_by_qnumber($i,$test_id);
$qweight=get_question_weight($questionid);
$ThemeID=get_ThemeID($questionid);
$right_answer[$i]=$HTTP_SESSION_VARS["right_answer"][$i];
if ($right_answer[$i]==TRUE)
{
$TotalScores=$TotalScores+$qweight;
$theme_scores[$ThemeID]=$theme_scores[$ThemeID]+$qweight;
$right_questions++;
}
}
}
elseif ($test_type==1)
{
for ($i=0;$i<$HTTP_SESSION_VARS["curq"]+1;$i++)
{
$q_id=get_question_id_by_qnumber($i,$test_id);
$ThemeID=get_ThemeID($q_id);
$right_answer[$i]=$HTTP_SESSION_VARS["right_answer"][$i];
$scores[$i]=$HTTP_SESSION_VARS["scores"][$i];
$TotalScores =$TotalScores+$scores[$i];
$theme_scores[$ThemeID]=$theme_scores[$ThemeID]+$scores[$i];
}
}
$answered_count=get_answered_questions($results_id);
$test_count=get_questions_count($test_id);
echo ('<BR>'.$TestCompletedText.'<BR><span class="header">'.$TestText.':</span> '.$test_caption.'<BR><BR>');
$Result = '';
$result_text='';/
$total = 0;
for ($i=0;$i<$theme_quantity;$i++)
{
$theme_id = get_theme_id($i,$test_id);
$theme_caption = get_theme_caption($theme_id);
if ($theme_quantity>1)
{
$Result = $Result.'<span class="header">'.$theme_caption.'</span>: ';
$result_text=$result_text.$theme_caption.': ';
}
$MaxPoints = get_max_theme_points($i,$test_id);
$conclusions_count=get_conclusions_count($i,$test_id);
for ($j=0;$j<$conclusions_count;$j++)
{
$ConclType=get_concl_type($test_id);
if ($ConclType==0)
{ $concl_top_border = get_concl_top_border($theme_id,$j);
$concl_low_border = get_concl_low_border($theme_id,$j);
}
else
{ $concl_top_border = get_concl_top_border($theme_id,$j);
$concl_low_border = get_concl_low_border($theme_id,$j);
$concl_top_border = $concl_top_border/100*$MaxPoints;
$concl_low_border = $concl_low_border/100*$MaxPoints;
}
$conclusion = get_conclusion($theme_id,$j);
if ($theme_scores[$i]>=$concl_low_border && $theme_scores[$i]<=$concl_top_border)
{ if (trim($conclusion)!='')
{
$Result = ''.$Result.'<span class="text">'.$conclusion.'</span><BR>';
$result_text=$result_text.$conclusion.'\n';
}
break;
}
}
}
if ($resume_count>0)
{ $MaxPoints = get_max_test_points($test_id);
for ($j=0;$j<$resume_count;$j++)
{ $ConclType=get_concl_type($test_id);
if ($ConclType==0)
{ $concl_top_border = get_resume_top_border($j);
$concl_low_border = get_resume_low_border($j);
}
else
{ $concl_top_border = get_resume_top_border($j);
$concl_low_border = get_resume_low_border($j);
$concl_top_border = $concl_top_border/100*$MaxPoints;
$concl_low_border = $concl_low_border/100*$MaxPoints;
}
$resume = get_resume($j);
if (($TotalScores>=$resume_low_border) && ($TotalScores<=$resume_top_border) && (trim($resume)<>''))
{ $Result = $Result.$resume."<BR>";
$result_text=$result_text.$resume;
}
}
}
if ($show_results_message=='T')
{?>
<table class="table_100">
<tr class="tableheader" colspan="2">
<td class="tableheader"><?=$ResultsText?><td>
</tr>
<tr colspan="2">
<td class="text"><?=$Result?></td>
</tr>
<?
if ($show_score=='T')
{?>
<tr>
<td class="header"><?=$TotalScoresText?></td>
<td class="text"><?=$TotalScores?></td>
</tr>
<?}
?>
</table>
<BR><BR>
<? }
// статистика
if ($ShowStatsAtEnd)
{ $stat='';
$scurq=$curq+1;
$stat_total = get_stat_total($test_id);
$stat_current = get_stat_current($test_id);
$stat_rights = get_stat_rights($test_id);
$stat_time = get_stat_time($test_id);
$qcount = get_questions_count($test_id);
$total_answers = get_answered_questions($results_id);
if (($attempts!==0) && ($total_answers!==0))
{ $perc_right = round(($HTTP_SESSION_VARS["rights"]*100)/$total_answers,2); }
else
{ $perc_right=0; }
settype($HTTP_SESSION_VARS["rights"],"integer");
Подобные документы
Обзор средств создания обучающих программ и формирование требований к электронному учебнику. Исследование этапов разработки интерактивного обучающего ресурса. Выбор инструментов реализации. Создание интерфейсной части приложения, проектирование тестов.
дипломная работа [3,2 M], добавлен 20.05.2013Особенности электронных учебных пособий и основные принципы их создания. Сбор и подготовка исходного материала для электронного учебного пособия. Разработка структуры электронного пособия. Выбор программ и разработка интерфейса электронного учебника.
дипломная работа [738,5 K], добавлен 27.06.2012Концептуальные основы разработки электронного учебника на основе гипертекстовых технологий. Архитектура учебного пособия. Этапы построения электронного учебника "Информатика" и его структура. Анализ практического использования электронного учебника.
дипломная работа [104,9 K], добавлен 02.05.2012- Разработка электронного практикума по дисциплине "Математика" в программе Microsoft Office FrontPage
Отличительные признаки электронного учебника от печатного. Преимущества и недостатки компьютерных систем обучения. Аспекты применения информационных технологий в образовании. Типы педагогических программных средств. Этапы создания электронного практикума.
курсовая работа [3,0 M], добавлен 28.05.2015 Обзор средств создания электронных обучающих систем. Требования к системе проектирования "электронного учебника". Разработка теоретической части и интерактивных примеров. Классификация средств создания электронных учебников. Принципы изложения материала.
дипломная работа [7,8 M], добавлен 10.01.2013Учебный процесс современных обучающих технологий. Использование компьютерных технологий на уроках иностранного языка. Преимущества и недостатки обучения с помощью ПК. Методические функции, выполняемые компьютером при обучении иностранному языку.
реферат [28,9 K], добавлен 27.05.2009Рассмотрение основ разработки технического задания. Проектирования структуры программ; описание соответственного алгоритма. Собственно программирование. Тестирование и отладка компьютерных программ. Ознакомление с основными правилами защиты проекта.
реферат [157,4 K], добавлен 15.11.2014Рассмотрение теоретических и методологических основ создания компьютерных тестов. Описание практической разработки программного обеспечения для контроля знаний студентов. Сравнение экономических и технических параметров аналогичных тестовых программ.
дипломная работа [1,3 M], добавлен 14.07.2010Понятие о современном электронном учебнике, обзор средств создания обучающих программ и формирование требований к учебнику. Обучающие системы на основе линейного текста и гипертекста, мультимедийные системы. Требования к подготовке тестового материала.
дипломная работа [912,9 K], добавлен 08.11.2010Краткий обзор и анализ ныне существующих программно-педагогических средств обучения. Методика и порядок разработки электронного учебника по предмету "Язык программирования C++". Общая характеристика и основные формы входных и выходных данных программы.
курсовая работа [232,6 K], добавлен 10.09.2010