Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];
ВнизВот, сваял на скорую руку. Отведайте... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.006 c