Текущий архив: 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, совершенно другие.
← →
Suntechnic © (2003-07-25 18:12) [41]>PVOzerski ©
По WinAPI присоединяюсь к Вашей критике и добавлю ещё чуть- чуть.
2) ( hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM) >PVOzerski ©
По WinAPI присоединяюсь к Вашей критике и добавлю ещё чуть- чуть.
2) Многозадачность - способность ОС поддерживать работу нескольких приложений. Многопоточность - возможность паралельного выполнения нескольких веток кода внутри одного процесса.
Очень спорное утверждение.
Функция function PostMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL ...
1) результатом имеет логический тип, который указывает обработано ли сообщение.
Я, честно говоря, не знаю, дают ли баллы за то что выбираешь это утверждение, но если это так, то это не правильно :)
← →
pasha_golub © (2003-07-25 18:13) [42]2PVOzerski
Принимается к рассмотрению. В первом случае явно укажу тип, а во втором перенесу в другой раздел. Поучавствуйте и Вы. добавьте пару вопросиков. А там потом Ваше имечко высвечиваться будет :-)
← →
pasha_golub © (2003-07-25 18:16) [43]2Suntechnic
Начну с конца. За это баллы не дают, а отнимают :-). Ответ неверный
А что некорректного в формулировке? Код мы можем назвать и ветками и направлениями и т.д., а главное ИМХО - это в рамках одного процесса (some threads in one task)!
← →
Suntechnic © (2003-07-25 18:18) [44]>pasha_golub ©
Начнём с того, что если процессор в системе один, то параллельно там ничего выполняться не может в силу физических причин :)
← →
vuk © (2003-07-25 18:21) [45]---------------------
Укажите правильную длину строк в символах.
var
{$H-}
S1:string;
{$H+}
S2: string[60];
S3: string;
1) Длина S2 равна 60 символов. Остальный строки не имеют фиксированного количества символов.
2) Длина S2 равна 60, S1 - 255, а длина S3 изменяется динамически.
3) Все строки имеют динамическую длину.
4) ( то, что возвращает функция length) ---------------------
Укажите правильную длину строк в символах.
var
{$H-}
S1:string;
{$H+}
S2: string[60];
S3: string;
1) Длина S2 равна 60 символов. Остальный строки не имеют фиксированного количества символов.
2) Длина S2 равна 60, S1 - 255, а длина S3 изменяется динамически.
3) Все строки имеют динамическую длину.
4) Правильного ответа нет.
---------------------
Здесь правильным ответом должен быть ответ 3. Т.к. длина в символах (то, что возвращает функция length) для каждой из этих строк будет динамическая в любом случае. Она определяется не во время объявления, а во время присвоения значения. А вот максимальная длина будет, понятное дело, разной.
← →
Карелин Артем © (2003-07-25 18:21) [46]Я бессовестно жульничал... Проходил тест с хелпом на экране. Мне так стыдно. :-)
← →
pasha_golub © (2003-07-25 18:41) [47]2Suntechnic
это ты точно подметил :-)
2Карелин Артем
Help не считается жульничеством, ИМХО. Опять же, главное не помнить, а уметь достать и сделать оперативно. Какой же мега-чел будет помнить все? Главное чтоб тест проходил ты и в отведенное время отвечал на вопросы. "Я так думаю". (х/ф "Мимино")
← →
pasha_golub © (2003-07-25 18:42) [48]2vuk
Да, спасибо. Мы с мужикамив чате "перетерли" и я согласился с MBo, которому кстати огромное спасибо, что вопрос некорректен!
Убираю
← →
vuk © (2003-07-25 18:49) [49]to pasha_golub:
>вопрос некорректен
Вопрос, кстати, нормальный. Если номер ответа поменять, то будет вопрос на понимание длины строки в символах. :o)
← →
pasha_golub © (2003-07-25 18:55) [50]2vuk
Честно, не понимаю.
Напиши в виде: Вопрос, Ответ1, Ответ2, Ответ3, Ответ4.
Ну баллы не забудь :-)
Обещаю если напишешь в базу вставлю :-)
← →
vuk © (2003-07-25 18:59) [51]А зачем что-то менять? Этот вопрос и оставить. Только правильный ответ будет 3 - Все строки имеют динамическую длину. Почему - уже объяснил.
← →
Игорь Шевченко © (2003-07-25 19:01) [52]PVOzerski © (25.07.03 17:32)
после моего прохождения теста некоторые ответы были исправлены :))
← →
pasha_golub © (2003-07-25 19:05) [53]2 vuk
ОК
2Suntechnic
Спасибо за вопросы.
← →
vuk © (2003-07-25 19:08) [54]to pasha_golub:
Небольшой совет. Для вывода текстов программ лучше использовать моноширинный шрифт. Читабельность лучше будет.
← →
pasha_golub © (2003-07-25 19:11) [55]2vuk
Спасибо, пример моноширинного можно?
← →
Suntechnic © (2003-07-25 19:11) [56]>pasha_golub ©
Да не за что. Если ещё чего в голову придёт, то добавлю, но выдумщик из меня неважный :)
← →
vuk © (2003-07-25 19:16) [57]Courier, Courier New.
Обратите внимение, на то, какие шрифты показывает IDE в настройках шрифта редактора (Editor properties->Display->Editor Font).
← →
Ruf © (2003-07-25 19:18) [58]Прикольно :)
OPERA 7.11
← →
pasha_golub © (2003-07-25 19:20) [59]2vuk
Поменял :-)
← →
MalkoLinge © (2003-07-25 20:02) [60]
> Игорь Шевченко © (25.07.03 19:01)
> PVOzerski © (25.07.03 17:32)
>
> после моего прохождения теста некоторые ответы были исправлены
> :))
Пусть автор сделает Ролбэк, для чистоты эксперимерта :)
← →
dataMaster © (2003-07-25 20:04) [61]2MalkoLinge © (25.07.03 20:02)
>Пусть автор сделает Ролбэк, для чистоты эксперимерта :)
Тогда все моментально станут отличниками
← →
PVOzerski © (2003-07-25 21:38) [62]>другой раздел. Поучавствуйте и Вы. добавьте пару вопросиков. А >там потом Ваше имечко высвечиваться будет :-)
Извольте... Вот "тест", который в свое время разработчики FreePascal не прошли. Потом с моей подачи баги правили. Вспомнил потому, что речь зашла о Message hadnler"ах.
Пример (извините за громоздкость):
{$apptype console}
{$ifdef FPC}
{$mode Delphi}
{$endif}
type
t1=class
public
procedure DefaultHandler(var x);override;
procedure AAA(var x);message 1;
end;
t2=class(t1)
public
procedure BBB(var x);message 1;
end;
procedure t1.DefaultHandler(var x);
begin
write(1);
end;
procedure t1.AAA(var x);
begin
inherited;
write(2);
end;
procedure t2.BBB(var x);
begin
inherited;
write(3);
end;
var
One:word=1;
o:t2;
begin
o:=t2.Create;
o.Dispatch(One);
writeln;
o.Destroy;
end.
Вопрос: что прога напишет на экране? Правильный ответ: "123", так как inherited для t2.BBB будет t1.AAA (несмотря на несовпадение имен: у нас ведь здесь DMT, а не VMT), а для t1.AAA - как ни странно, t1.DefaultHandler.
← →
Fantasist. (2003-07-25 22:40) [63]1. Замени переменную I на N. I путается с 1.
2. Вопрос про функции по умолчанию - тяжело понять, что означает написанный код, как его надо оценивать.
3. Насколько я помню, разрешение вызова функций со скобками (имеется ввиду Form1.Show() ) появилось только не так давно. Насколько я знаю, компиляторы Turbo Pascal такой синтаксис не поддерживают. Но здесь я могу ошибаться.
← →
vuk © (2003-07-25 22:49) [64]to Fantasist.:
>компиляторы Turbo Pascal такой синтаксис не поддерживают
Так ведь там, вроде как, написано Object Pascal.
← →
Fantasist. (2003-07-25 22:59) [65]
> Так ведь там, вроде как, написано Object Pascal.
Object Pascal вполне компилировался последними версиями Turbo Pascal. Появился он совсем не только в Делфи. Тогда не было еще class, а был object.
← →
PVOzerski © (2003-07-25 23:34) [66]IMHO, все-таки об Object Pascal начали говорить только с появлением Delphi, до этого речь шла только лоб объектно-ориентированном расширении Паскаля кстати, это началось даже не с BP, а с Паскаля для Macintosh, впоследствии купленного фирмой Symantec (Think Pascal)). Но здесь главная беда в том, что синтаксис Object Pascal меняется от версии к версии Delphi, и то, что правильно в одной версии, ошибочно в другой. Например, с течением времени уже в Delphi поменялись sizeof(integer), диапазон cardinal, байтовое представление типов bytebool/wordbool/longbool, появились перегружаемые процедуры, динамические массивы... Видимо, в тестах надо бы оговорить, о какой версии Delphi идет речь
← →
pasha_golub © (2003-07-26 00:13) [67]Я еще пока пишу с праздника День Админа так что могу заикаться :-)
Спасибо всем кто пишет и учавствует.
От администрации получен четкий ответ. А именно: "Спасибо за желание помочь в развитии и улучшении нашего сайта.
Идея создать on-line тестирование на сайте живет и обсуждается давно, вероятно будет
реализовываться. Когда до этого дойдет, возможно мы воспользуемся
вашей помощью и материалом." Так что я думаю пора "работать", а под этим в первую очередь я понимаю качество ответов\вопросов. А это уже за Вами.
← →
Fantasist. (2003-07-26 01:38) [68]
> Видимо, в тестах надо бы оговорить, о какой версии Delphi
> идет речь
Вот именно об этом я и веду разговор. "Object Pascal" не дает возможности точно представить, о чем идет речь.
← →
PVOzerski © (2003-07-26 02:02) [69]Слушайте, так как насчет новых вопросов?
← →
PVOzerski © (2003-07-26 02:07) [70]Например, по WinAPI: можно поспрашивать о том, какие где используются соглашения о параметрах (Win16/Win32)
← →
PVOzerski © (2003-07-26 02:10) [71]Или: как получить на Object Pascal адрес процедурной переменной.
← →
PVOzerski © (2003-07-26 02:14) [72]т.е.
addr(x)
addr(@x)
@x
@@x
← →
PVOzerski © (2003-07-26 02:24) [73]Еще "подводные камни", пригодные, IMHO, для тестов (только обыграть надо толково): выравнивание полей в record, значение "локальной" типизированной константы, изменяемой внутри функции, при следующем вызове функции, приоритетность булевых операторов (жуткая штука: сам все время скобками страхуюсь :^))...
← →
PVOzerski © (2003-07-26 02:27) [74]Еще дивная штука :^) - что значит этот 0 в строчке
property MyProp read fMyProp write SetMyProp default 0;
← →
Almaz © (2003-07-26 02:40) [75]var
A, B, I: ShortInt;
C: Integer;
begin
A := 100;
B := 100;
C := 1;
for I := 0 to A * B do Inc(C);
ShowMessage(IntToStr(C));
end;
Какое число будет выведено на экран ? :)
← →
хм © (2003-07-26 05:19) [76]
procedure TForm1.Button1Click(Sender: TObject);
type
TR=record
case integer of
0:(a,b:word);
1:(scope:integer);
2:(q,w,e,r:byte);
end;
var a:tr;
begin
a.a:=$AABB;
a.b:=$CCDD;
showmessage(inttohex(a.scope,8));
a.q:=$AA;
a.w:=$BB;
a.e:=$CC;
a.r:=$DD;
showmessage(inttohex(a.scope,8));
end;
Чему равно a.scope?
← →
PVOzerski © (2003-07-26 05:31) [77]var
f:file of pChar;
s:pChar="Hello!";
begin
assign(f,"!!!!");
rewrite(f);
write(f,s);
close(f);
end.
Что будет в файле "!!!!"?
← →
Marser © (2003-07-26 10:06) [78]А у меня просто не хочет грузиться :-( Первый раз было уже 5 человек, а потом вообще без ответа.
> PVOzerski ©
Дык, "Hello!", наверно...
← →
Anatoly Podgoretsky © (2003-07-26 10:47) [79]Дык файл то file of pChar;
← →
PVOzerski © (2003-07-26 11:18) [80]2Marser © (26.07.03 10:06)
Если еще не сообразил:
указатель там на строку будет, а не содержимое строки. Вот был бы файл text, тогда было бы Hello.
← →
Marser © (2003-07-28 00:01) [81]
> PVOzerski © (26.07.03 11:18)
Уже сообразил, спасибо :-)
← →
pasha_golub © (2003-07-28 11:14) [82]2PVOzerski
Хороший вопрос. Спасибо. Правда пару описок нашел
var
f:file of pChar;
s:pChar="Hello!";
begin
assign file(f,"!!!!");
rewrite(f);
write(f,s);
close file(f);
end.
← →
Юрий Зотов © (2003-07-28 11:22) [83]> pasha_golub © (28.07.03 11:14)
Это не описки. Это Паскаль. Зависит от контекста кода.
← →
pasha_golub © (2003-07-28 11:31) [84]2Юрий Зотов
Эт я в курсе, но я имел в виду Object Pascal. А такими функциями и сам пользовался, помню. А когда на Делфи переходил то долго не мог понять почему компилятор ругается, и зайдя в хелп был поражен до глубины души :-)
← →
Юрий Зотов © (2003-07-28 11:53) [85]> pasha_golub © (28.07.03 11:31)
> почему компилятор ругается
Он и не думает ругаться. Все прекрасно компилируется. Обратите внимание, что после END стоит ТОЧКА.
В ней все и дело. Она и указывает на контекст кода.
:о)
← →
Marser © (2003-07-28 11:53) [86]
> Эт я в курсе, но я имел в виду Object Pascal. А такими функциями
> и сам пользовался, помню. А когда на Делфи переходил то
> долго не мог понять почему компилятор ругается, и зайдя
> в хелп был поражен до глубины души :-)
В "Орешнике" есть примеры таких удивлений :-)
← →
pasha_golub © (2003-07-28 12:06) [87]2Юрий Зотов
Сдаюсь :-)
ЗЫ Но в вопросе все-таки исправлю :-)
← →
Карелин Артем © (2003-07-28 12:16) [88]А каков максимум у теста?
← →
pasha_golub © (2003-07-28 12:31) [89]2Карелин Артем
47, но система подсчета явно далека от идеала. Думаю над этим. Если есть предложения, милости прошу.
← →
Карелин Артем © (2003-07-28 13:46) [90]Это как же я больше максимума на 2 очка заделал??? Непонятно.
А предложение такое: перемешивать порядок ответов. А то я после 2 раза не глядя галочки ставить начал.
← →
pasha_golub © (2003-07-28 13:56) [91]2Карелин Артем
Дельное предложение. Спасибо. А с другой стороны в базе всего лишь 33 вопроса пока.
← →
Карелин Артем © (2003-07-28 15:49) [92]А в чем суть вопроса?
try
try
ProcA;
except
on E: Exception do
begin
ProcB;
raise;
end;
on E: EOutOfResources do
ProcC
else
ProcD;
end;
--------------------------------------------------------------------------------
1) ProcB, ProcF, ProcG
2) ProcC, ProcE, ProcF, ProcG
3) ProcB, ProcF
4) Нет правильного ответа
← →
pasha_golub © (2003-07-29 10:54) [93]2 Карелин Артем
Новый недочет. У меня поле вопроса размером 255 символов. Обрезало нафиг :-( Буду решать
← →
Calm © (2003-07-29 16:22) [94]Исходный текст хорошо бы выводить с отступами, а то сидишь и на бумажке пишиешь, чтобы понять чего там за код.
А так все круто.
← →
ZZ © (2003-07-29 17:43) [95]Товарищ Andrey набрал 74 очков
Ну как я сдал? Неплохо? :)))
← →
Mike1 Kouzmine1 (2003-07-29 17:49) [96]А я набрал 2 очка. Правда, отмечал наугад.
← →
pasha_golub © (2003-07-30 12:09) [97]2ZZ
А как это ты?
← →
Anatoly Podgoretsky © (2003-07-30 12:29) [98]Mike1 Kouzmine1 (29.07.03 17:49)
А надо не наугад, а брать все первые (вторые и т.д.) варианты, всяко больше будет.
← →
pasha_golub © (2003-07-30 12:35) [99]2Anatoly Podgoretsky
А какими методами можно понизить "угадываемость"?
← →
Mike1 Kouzmine1 (2003-07-30 12:40) [100]Anatoly Podgoretsky © (30.07.03 12:29) Попробую.
← →
ZZ © (2003-07-30 13:30) [101]pasha_golub
А как это ты?
Оооочень просто :)) написать здесь?
← →
pasha_golub © (2003-07-30 14:31) [102]2ZZ
Напиши, а лучше на мыло :-)
Страницы: 1 2 3 вся ветка
Текущий архив: 2003.08.14;
Скачать: CL | DM;
Память: 0.76 MB
Время: 0.01 c