Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.14;
Скачать: CL | DM;

Вниз

Вот, сваял на скорую руку. Отведайте...   Найти похожие ветки 

 
pasha_golub ©   (2003-07-23 18:28) [0]

Написал я, вот тут, тест онлайновый по Делфи. Всего 10 вопросов и одна тема, пока. Тема: "Язык Паскаль"

Поюзайте люди добрые. И мне добрым (али злым) словом подсобите. Доступ я включу, только на часик. А если понравиться может исчо включу. У кого есть вопросы или желание помочь (читай "сделать за меня" :-) милости просим.

http://www.farata.kr.ua/testsonline


 
sergey2.2 release   (2003-07-23 18:36) [1]

а бумажки мол прошол сертификацию присылать будешь?


 
pasha_golub ©   (2003-07-23 18:37) [2]

Проблем не было с открытием. А то я не знаю правильно ли маршрутизацию прописал?

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


 
Романов Р.В. ©   (2003-07-23 18:41) [3]

Глючит подсчет баллов
http://www.farata.kr.ua/testsonline/question.php?last_id=52


 
Palladin ©   (2003-07-23 18:42) [4]

после окончания теста ошибка в скрипте высветилась на последней странице... в самом експлорере...


 
pasha_golub ©   (2003-07-23 18:44) [5]

2Романов Р.В.

Подсчет баллов не глючит. Я ж написал, что некотрые варианты имеют отрицательный вес!

2 Palladin
Чего написала? А то я только под Мозиллой проверял.

Спасибо всем, кто откликается.


 
sergey2.2 release   (2003-07-23 18:47) [6]


> pasha_golub © (23.07.03 18:37)


> А на кой хрен нам бумажки? Я мечтаю общими усилиями базу
> вопросов сделать. А там как получиться...

а тада какой резон проходить? сейчас фактически "знаем ли мы столько сколько pasha_golub"


 
NickBat ©   (2003-07-23 18:52) [7]

Глючит откат назад. В таких программах по идее не должно быть возврата назад по перечню вопросов. У тебя это есть,но номер вопроса увеличивается на 1.


 
Palladin ©   (2003-07-23 18:52) [8]

эээ...
с таймерной процедурой в скрипте видимо проблема
http://www.farata.kr.ua/testsonline/question.php?last_id=51


 
Игорь Шевченко ©   (2003-07-23 18:53) [9]

Дык, вроде нормально работает. Я честно набрал свои 35 баллов :))


 
pasha_golub ©   (2003-07-23 18:53) [10]

Я ж не для себя, а для людей и вместе с людьми :-)
OpenSource понимаешь :-)


 
sergey2.2 release   (2003-07-23 18:56) [11]

и в самом деле ошибка:
предполагается наличие объекта
строка 1
символ 1
код 0


 
pasha_golub ©   (2003-07-23 18:59) [12]

Это у нас question.php

<HTML>
<HEAD>
<TITLE>Делфи | Тестирование</TITLE>
<link rel=stylesheet href=styles.css>
<?php
$questions = 10;

if (mysql_connect(ТУТ Я ВАМ НИЧЕГО НЕ ПОКАЖУ :-))) {
if (!mysql_select_db("testsonline")) {
echo " Не удалось соедениться с базой данных!!!";
exit();
}
} else {
echo " Не удалось соедениться с сервером баз данных!!!";
exit();
} ;
$last_id = $_GET["last_id"];

$score = 0;
$sql = "SELECT t_questionid FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$questionid = $row[0];
if ($questionid > 0)
{
$sql = "SELECT q_points1, q_points2, q_points3, q_points4 FROM questions WHERE q_id = $questionid";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);

$answer1 = $_POST["answer1"];
$answer2 = $_POST["answer2"];
$answer3 = $_POST["answer3"];
$answer4 = $_POST["answer4"];

if ($answer1 == 1) { $score = $score + $row[0]; }
if ($answer2 == 2) { $score = $score + $row[1]; }
if ($answer3 == 3) { $score = $score + $row[2]; }
if ($answer4 == 4) { $score = $score + $row[3]; }
$sql = "SELECT t_score FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$score = $score + $row[0];
$sql = "UPDATE transactions SET t_score = $score WHERE t_id = $last_id";
$res = mysql_query($sql);
}
echo "<meta HTTP-EQUIV="refresh" CONTENT="91; URL=question.php?last_id=".$last_id."">";

$sql = "select t_questionnumber from transactions where t_id = "$last_id"";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$q_number = $row[0] + 1;
if ($q_number <= $questions) {include "script.js"; }
?>


</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#07017F" VLINK="#A39D89" topmargin=0 leftmargin=0 marginheight=0 marginwidth=0
onload="if(resetVals){
setem();
}
if(doTimer){
tf=window.setTimeout("TimerFunc()",1000);
}"
>

<script language="javascript">
var doTimer=false;
var resetVals=false;
</script>


<FORM METHOD=POST name="qform" onsubmit="window.clearTimeout(tf);window.document.qform.submitbutton.disabled=true;">

<?php

echo "<INPUT TYPE="hidden" name="last_id" value=".$last_id.">";
?>
<INPUT TYPE="hidden" name="type" value="radio">
<INPUT TYPE="hidden" name="spenttime" value="0">

<br><span id=left30sec style="visibility:hidden; color:red"> Осталось 30 секунд</span>


<?php
if ($q_number > $questions) {
echo "<b class="red">Ваш окончательный счет равен ".$score."";
include "finish.phtml"; }
else
{
$sql = "select q_text, q_answer1, q_answer2, q_answer3, q_answer4 from questions where q_id = "$q_number"";
$res = mysql_query($sql);

$row = mysql_fetch_row($res);
echo "<TABLE border="0" bgcolor="#828097" width="400" cellspacing="0" cellpading="0" align="center">";
echo "<TR><TD>";
echo "<TABLE border="0" width=100% cellspacing="0" cellpadding="3">";
echo "<TR>";
echo "<TD>";
echo "<b class="smallwhite" align="left"> Вопрос номер ".$q_number." из 10";
echo "</TD>";
echo"</TR><TR bgcolor="#FFFFFF"><TD> ";
echo $row[0]."<BR>
<hr>";

# варианты ответа
echo "</TD></TR>";
echo "<TR><TD bgcolor="#FFFFFF">";
for ($i=1; $i<5; $i++)
{
echo "<INPUT TYPE="checkbox" name="answer".$i."" value=".$i.">".$i.") ".$row[$i]."</LI><br>";
}
echo "</TD></TR>";
( $sql) Это у нас question.php

<HTML>
<HEAD>
<TITLE>Делфи | Тестирование</TITLE>
<link rel=stylesheet href=styles.css>
<?php
$questions = 10;

if (mysql_connect(ТУТ Я ВАМ НИЧЕГО НЕ ПОКАЖУ :-))) {
if (!mysql_select_db("testsonline")) {
echo " Не удалось соедениться с базой данных!!!";
exit();
}
} else {
echo " Не удалось соедениться с сервером баз данных!!!";
exit();
} ;
$last_id = $_GET["last_id"];

$score = 0;
$sql = "SELECT t_questionid FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$questionid = $row[0];
if ($questionid > 0)
{
$sql = "SELECT q_points1, q_points2, q_points3, q_points4 FROM questions WHERE q_id = $questionid";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);

$answer1 = $_POST["answer1"];
$answer2 = $_POST["answer2"];
$answer3 = $_POST["answer3"];
$answer4 = $_POST["answer4"];

if ($answer1 == 1) { $score = $score + $row[0]; }
if ($answer2 == 2) { $score = $score + $row[1]; }
if ($answer3 == 3) { $score = $score + $row[2]; }
if ($answer4 == 4) { $score = $score + $row[3]; }
$sql = "SELECT t_score FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$score = $score + $row[0];
$sql = "UPDATE transactions SET t_score = $score WHERE t_id = $last_id";
$res = mysql_query($sql);
}
echo "<meta HTTP-EQUIV="refresh" CONTENT="91; URL=question.php?last_id=".$last_id."">";

$sql = "select t_questionnumber from transactions where t_id = "$last_id"";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$q_number = $row[0] + 1;
if ($q_number <= $questions) {include "script.js"; }
?>


</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#07017F" VLINK="#A39D89" topmargin=0 leftmargin=0 marginheight=0 marginwidth=0
onload="if(resetVals){
setem();
}
if(doTimer){
tf=window.setTimeout("TimerFunc()",1000);
}"
>

<script language="javascript">
var doTimer=false;
var resetVals=false;
</script>


<FORM METHOD=POST name="qform" onsubmit="window.clearTimeout(tf);window.document.qform.submitbutton.disabled=true;">

<?php

echo "<INPUT TYPE="hidden" name="last_id" value=".$last_id.">";
?>
<INPUT TYPE="hidden" name="type" value="radio">
<INPUT TYPE="hidden" name="spenttime" value="0">

<br><span id=left30sec style="visibility:hidden; color:red"> Осталось 30 секунд</span>


<?php
if ($q_number > $questions) {
echo "<b class="red">Ваш окончательный счет равен ".$score."";
include "finish.phtml"; }
else
{
$sql = "select q_text, q_answer1, q_answer2, q_answer3, q_answer4 from questions where q_id = "$q_number"";
$res = mysql_query($sql);

$row = mysql_fetch_row($res);
echo "<TABLE border="0" bgcolor="#828097" width="400" cellspacing="0" cellpading="0" align="center">";
echo "<TR><TD>";
echo "<TABLE border="0" width=100% cellspacing="0" cellpadding="3">";
echo "<TR>";
echo "<TD>";
echo "<b class="smallwhite" align="left"> Вопрос номер ".$q_number." из 10";
echo "</TD>";
echo"</TR><TR bgcolor="#FFFFFF"><TD> ";
echo $row[0]."<BR>
<hr>";

# варианты ответа
echo "</TD></TR>";
echo "<TR><TD bgcolor="#FFFFFF">";
for ($i=1; $i<5; $i++)
{
echo "<INPUT TYPE="checkbox" name="answer".$i."" value=".$i.">".$i.") ".$row[$i]."</LI><br>";
}
echo "</TD></TR>";
echo "</TD></TR></TABLE>";
echo "<b class="smallwhite">Ваш текущий счет равен ".$score."</td></tr></table>";
echo "<input align="center" type=submit name=submitbutton value="Отправить ответ" style="margin-top: 3px; background-color:#CAD5E0; font-family: Verdana, Tahoma, MS Sans Serif; font-size: 8pt; font-weight: bold;" ></td>";
$sql = "UPDATE transactions SET t_questionnumber= "$q_number", t_questionid= "$q_number" WHERE t_id="$last_id"";
$res = mysql_query($sql);
}
?>
<br>
</FORM>
<script language="javascript">
doTimer = true;
</script>
</BODY>
</HTML>


 
sergey2.2 release   (2003-07-23 19:00) [13]


> pasha_golub © (23.07.03 18:53)

понимаю :)
хороший тест, прошу прощения за наезд :)


 
pasha_golub ©   (2003-07-23 19:02) [14]

это у нас script.js
<script language="javascript">
var ck=0;
var tf=0;
var timeUp=0;
var timeLeft=0;
var tcount=0;

function TimerFunc() {
tf=window.setTimeout("TimerFunc();",1000);
tcount++;
window.document.qform.spenttime.value=tcount;
timeLeft=90 - tcount;
window.status = "Осталось "+Math.round(timeLeft)+" секунд";
if(timeLeft==30) {
left30sec.style.visibility = "visible";
}
if(timeLeft == 0) {
window.clearTimeout(tf);
timeUp=1;
document.qform.submit();
}
}


function verifyAnswer() {
document.qform.submitbutton.disabled=true;
document.qform.submit();
return(true);

if(timeUp==1) {
return(true);
}
for(var i=0;i<5;i++) {
if(document.qform.fansw[i].checked == true) {
window.clearTimeout(tf);
return(true);
}
}
if(ck==0) {
ck=1;
if(confirm("Вы не выбрали ответ.Если Вы нажмете \"OK\", система \nперейдет к следующему вопросу и этот ответ будет защитан как неправильный. \nВы не сможете вернуться к этому вопросу позже.")) {
window.clearTimeout(tf);
return(true);
}
}
else return(true);

( false) это у нас script.js
<script language="javascript">
var ck=0;
var tf=0;
var timeUp=0;
var timeLeft=0;
var tcount=0;

function TimerFunc() {
tf=window.setTimeout("TimerFunc();",1000);
tcount++;
window.document.qform.spenttime.value=tcount;
timeLeft=90 - tcount;
window.status = "Осталось "+Math.round(timeLeft)+" секунд";
if(timeLeft==30) {
left30sec.style.visibility = "visible";
}
if(timeLeft == 0) {
window.clearTimeout(tf);
timeUp=1;
document.qform.submit();
}
}


function verifyAnswer() {
document.qform.submitbutton.disabled=true;
document.qform.submit();
return(true);

if(timeUp==1) {
return(true);
}
for(var i=0;i<5;i++) {
if(document.qform.fansw[i].checked == true) {
window.clearTimeout(tf);
return(true);
}
}
if(ck==0) {
ck=1;
if(confirm("Вы не выбрали ответ.Если Вы нажмете \"OK\", система \nперейдет к следующему вопросу и этот ответ будет защитан как неправильный. \nВы не сможете вернуться к этому вопросу позже.")) {
window.clearTimeout(tf);
return(true);
}
}
else return(true);

return(false);
}
</script>


 
pasha_golub ©   (2003-07-23 19:07) [15]

2sergey2.2 release

Да какой нафиг наезд? :-) Ты с Палладином общался? :-)

2Палладин
Без обид попрошу, шучу :-)


 
pasha_golub ©   (2003-07-23 19:12) [16]

Приглашаю составителей вопросов. Вопрос один. Четыре ответа. Сумма положительных ответов не выше пяти, сумма отрицательных не меньше 6. В вопросе имейте в виду, что некоторые умники могут выбрать все варианты одновременно :-)


 
Palladin ©   (2003-07-23 19:12) [17]

гы... я даже не понял на че обижатся то...


 
pasha_golub ©   (2003-07-23 19:15) [18]

2Palladin

Ну, тем мне спокойнее :-)


 
ZZ ©   (2003-07-23 19:19) [19]

Я ж не для себя, а для людей и вместе с людьми :-)
OpenSource понимаешь :-)


Opensource эт конечно хорошо, только мне кажется, что нную часть твоих вопросов я уже видел в другом месте и лежали они там явно не под GNU/GPL... Или пойти покреститься?


 
easy ©   (2003-07-23 19:28) [20]

действительно, при подсчёте баллов - ошибка..


 
SergP ©   (2003-07-23 23:15) [21]

2 pasha_golub © & ALL

Прошу не обращать внимания на этого дебила, который ходит под ником sergey2.* и указывает мой E-mail. Пусть успокоится...


 
ZZ ©   (2003-07-24 01:46) [22]

SergP
Я наверное чего-то не понимаю, но почему мы должны считать, что он - это ты? Как маленький... бегаешь во все ветки и пишешь - ой, это не я, это не я... Забей на него ;) (можешь и его забить, но главное не ошибись :)


 
Иван Шихалев ©   (2003-07-24 08:28) [23]

Однако...


Socket Error

Connection to Remote Host timed out



 
pasha_golub ©   (2003-07-24 10:38) [24]

2 ZZ

Все что есть на Земле либо уже было изобретено, либо лежит на поверхности. Вопросы составлял сам, используя при этом 1 том Тейксеры и Пачеко, но я думаю это только должно приветствоваться. А как Вам такое, что учитель английского языка каждый урок начинает со слов: "Who is on duty today?" Так что ж теперь нам обвинить его в плагиаете и отсутствии педагогичеких навыков? Единственное это то, что я слямзил код Java-скрипта и то не считаю это зазорным, потому что в инете этих скриптов кругом и все вроде как открытые

2 Иван Шихалев

Я давал доступ 23.07 в 18.00, а на данный момент он закрыт. Исправлю огрехи с подсчетом баллов про которые упоминали easy, Palladin, Романов В.В. (если кого забыл извините), подкорректирую неточности в хтмл-коде и часов в 17, думаю, можно попробовать еще.


 
pasha_golub ©   (2003-07-24 11:32) [25]

Пофиксенные баги:
1. Счетчик ужо не глючит.
2. Ошибок в java-скрипте не наблюдается.
3. Проверено под IE 6.0 и Mozilla 1.4


 
Ihor Osov'yak ©   (2003-07-24 11:59) [26]

http://www.farata.kr.ua/testsonline/finish.phtml?last_id=82
35 тоже..
Вопросы даже немного поумнее, чем на http://www.certifications.ru

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

Также система тестирования без вариантности смысла не имеет.

Зы. Делалось на скорую руку и не ставилось за цель проверить провильности вопросов. Но явных ляпсусов, как на http://www.certifications.ru, не замечено.


IE6, sp1




 
AlexRush ©   (2003-07-24 12:10) [27]

А у меня Opera вообще повисла :(


 
pasha_golub ©   (2003-07-24 12:11) [28]

2Ihor Osov"yak

Большое спасибо! Вариантность на первом месте в ТуДу (ToDo). Вопросы приветствуютс со стороны. Сумма баллов будет убрана. Или сделаю два вида: один - пробный с подсказками, а другой - котрольный. Исчо не знаю.


 
pasha_golub ©   (2003-07-24 12:13) [29]

2AlexRush

Она у Вас не повисла. Я доступ закрыл, не проверя есть ли кто. Приношу извинения. Исчо подработаю и вечером опять открою. Еще раз извините.


 
dataMaster ©   (2003-07-24 12:17) [30]

У меня опера 6.05. Нормально все работало, когда доступ был


 
pasha_golub ©   (2003-07-24 12:19) [31]

2dataMaster
Спасибки

Добавляю в список поддерживаемого софта:
IE 6.0, Mozilla 1.4, Opera 6.05



 
ZZ ©   (2003-07-24 14:11) [32]

pasha_golub
А как Вам такое, что учитель английского языка каждый урок начинает со слов: "Who is on duty today?"
Отмороженный какой-то учитель :)

Вопросы составлял сам, используя при этом 1 том Тейксеры и Пачеко
Я этой книги не читал и поэтому не знаю - может там примеры такие, но я недавно прошел тест на http://www.certifications.ru и некоторые вопросы одинаковые... Ну раз сам писал, то нет вопросов :)

PS. Кстати 37 :)
ЗЗЫ. Какой правильный ответ в вопросе про длину строки Length(S)/S[0]/Integer(S[0])/еще чего-то...?


 
ZZ ©   (2003-07-24 14:13) [33]

Исчо подработаю и вечером опять открою
Кстати, во сколько (по московскому) откроешь лавочку? :)


 
pasha_golub ©   (2003-07-24 15:22) [34]

2ZZ

Учитывая, что переменная объявлена с использованием директивы компилятора {$H-} это значит что:
1. Память под S выделена статически.
2. Выделено 256 байт.
3. Из которых 0 байт содержит длину строки в символах, остальные 255 могут быть заполнены символами.
4. Обращение S[i] компилятор понимает все равно как обращение к элементу массива типа char, какой бы индекс там не стоял.

Следственно имеем:

1. length(s) - однозначно проходит, так как для этого и существует. Ответ: ДА
2. S[0] - по идее должно работать, но не будет из-за несовпадения типов. То есть Incompatible types "Integer" and "Char". Ответ: "НЕТ"
3. Integer(S[0]) - работать будет и правильно. Мы знаем, что в нулевом элементе то, что нам нужно и просим компилятор не "мешать", используя приведение типов. Ответ: "ДА"
4. sizeof(s) - возвращает результат требуемого типа, но тот, что нужен. Вопрос про длину в символах. А он нам возвращает размер занимаемой памяти, то есть 256. Ответ: "НЕТ"


 
pasha_golub ©   (2003-07-24 15:24) [35]

В 4 ответе ошибка: "...но не тот, что нужен."


 
ZZ ©   (2003-07-24 16:01) [36]

pasha_golub
Ага. Вот по 2 варианту как раз вопрос. На сколько я помню там
L:=... причем что такое L не указано. Или я ошибаюсь? Явное указание типа L, имхо, не будет сильно большой подсказкой. При особом желании можно длину и из char (byte) достать :))


 
pasha_golub ©   (2003-07-24 16:29) [37]

2ZZ

Совершенно согласен. Исправляю. Спасибо :-)


 
pasha_golub ©   (2003-07-25 15:48) [38]

Ну что, предлагаю сделать еще один заход. С новым дизайном и с новой темой. Есть пара новых вопросов. Будем считать это уже альфа-версией. :-)


 
PVOzerski ©   (2003-07-25 17:32) [39]

Любопытство заело... Сейчас прохожу тест, а заодно критику навожу...

Набрал 35 баллов - сначала стыдно стало, потом смотрю
Игорь Шевченко © (23.07.03 18:53) - полегчало :^).

А вот и критика - и некоторые мои потерянные очки. Это я про
Form1.Show... Вы ведь не оговорили в тесте, что Form1-это класс, а не указатель на класс, на объект или на record с полем-процедурной переменной. Так чем же Form1^.Show плохо?


 
PVOzerski ©   (2003-07-25 17:46) [40]

По WinAPI - тоже 35... А вот критика уже не столь буквоедская, по существу. Сорри, но вопрос по обработчик сообщений (что это метод класса и т.д.) в таком виде - это не WinAPI, а самый что ни на есть синтаксис Object Pascal применительно к VCL. Более того, требования к callback-функциям-обработчикам сообщений, предъявляемые WinAPI, совершенно другие.



Страницы: 1 2 3 вся ветка

Текущий архив: 2003.08.14;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.013 c
14-45144
Vlad Oshin
2003-07-30 11:51
2003.08.14
Проблема с обращением к папке на NTFS


14-45076
Sheng
2003-07-26 19:05
2003.08.14
А что, уже и краки сюда мона вылаживать?


14-45065
Zheks
2003-07-26 21:32
2003.08.14
Дописка файлов, один в конец другого


14-45066
iXuSs
2003-07-26 22:16
2003.08.14
Глюк в форуме.


14-45041
ViK_k
2003-07-28 14:26
2003.08.14
Обновление Delphi