Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создание теста на упорядычивание
 
 автор: Паша   (17.05.2008 в 17:55)   письмо автору
 
 

Ребята, помогите плиз, опыт ещё маленький, нужно сделать тест на упорядычивание, вот строки котырые должен упорядочить тестируемый (это правильняй вариант, когда предлагается упорядочить, нужно строчки перемешать):
Program max_3;
Var a,b,c,k,max3;
Begin
Writeln(‘Введите число а,b,c’);
Readln(a,b,c);
If a>b
Then k:=a
Else k:=b;
If k>c
Then max3:=k
Else max3:=c;
Write(‘Максимальным из трех чисел’,a, ‘ , ‘,b,’ , ‘,c, ‘является ’, max3);
End.
Не представляю как это реаливать, но главное чтоб это было визуально понятно для тестируемого и можно было проверить на правильность?

   
 
 автор: sim5   (18.05.2008 в 10:39)   письмо автору
 
   для: Паша   (17.05.2008 в 17:55)
 


<script>
var m = new Array();

function key(v, i) {
  m[i] = v;
}
function compare(a,b) {
  return a - b;

function tst(e) {
  m.sort(compare);
  for (i=0; i<e.length; i++) { 
    if (e[i].value == m[2]) alert("Максимальным из трех чисел: a, b, c, является: " + e[i].name);
  }
}
</script>

<form action="" name="as" id="as">
a: <input type="text" name="a" onkeyup="key(this.value, 0)" 
     onkeypress="if (event.keyCode < 48 || event.keyCode > 57) return false;"><br>
b: <input type="text" name="b" onkeyup="key(this.value, 1)" 
     onkeypress="if (event.keyCode < 48 || event.keyCode > 57) return false;"><br>
c: <input type="text" name="c" onkeyup="key(this.value, 2)" 
     onkeypress="if (event.keyCode < 48 || event.keyCode > 57) return false;"><br>
<input type="button" value="Test" onclick="tst(this.form.elements)">
</form>

   
 
 автор: Паша   (19.05.2008 в 13:10)   письмо автору
 
   для: sim5   (18.05.2008 в 10:39)
 

и что это? мне нужна программка на JS которая будет находить макс из 3 чисел, мне нужно сделать тест на JS, чтобы тестируемый собрал программку Pascal в правильной последовательности

   
 
 автор: sim5   (19.05.2008 в 13:23)   письмо автору
 
   для: Паша   (19.05.2008 в 13:10)
 

Ну вы удивили! Однако! Вы спрашивали, как узнать максимальное число из введенных, а вы хоть пробовали "и что это" запустить? Пишите сами, либо объясняйте все до мелочей: кто, что, как и почему...

   
 
 автор: Паша   (22.05.2008 в 16:28)   письмо автору
 
   для: sim5   (19.05.2008 в 13:23)
 

и чем удивил? Вовсе я не просил сделать нахождение максимального числа, а просил сделать тест! да я поробовал, программа находит максимальное число из трёх. Но я русским языком объяснил что мне нужно.

   
 
 автор: sim5   (22.05.2008 в 16:49)   письмо автору
 
   для: Паша   (22.05.2008 в 16:28)
 

Тогда сами, я лишь вижу то, что вы написали, а у вас написано:
Writeln(‘Введите число а,b,c’);
Readln(a,b,c);
......
Write(‘Максимальным из трех чисел’,a, ‘ , ‘,b,’ , ‘,c, ‘является ’, max3);

   
 
 автор: PAT   (23.05.2008 в 03:17)   письмо автору
 
   для: Паша   (17.05.2008 в 17:55)
 

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=win-1251">
<script>
var qwe, box, deltaX, deltaY;

function windowLoaded (evt)
{
document.body.ondrag = function () {return false}
document.body.onselectstart = function () {return false}
document.body.oncontextmenu = function () {return false}
}

function getX (obj) {return parseInt (obj.style.left)}

function getY (obj) {return parseInt (obj.style.top)}

function Evt (evt)
{
this.evt = evt ? evt : window.event; 
this.source = evt.target ? evt.target : evt.srcElement;
this.x = evt.pageX ? evt.pageX : evt.clientX;
this.y = evt.pageY ? evt.pageY : evt.clientY;
}

Evt.addEventListener = function (target, type, func, bubbles)
{
if (document.addEventListener) target.addEventListener (type, func, bubbles);
else if (document.attachEvent) target.attachEvent ('on' + type, func, bubbles);
else target ['on' + type] = func;
}

Evt.removeEventListener = function (target, type, func, bubbles)
{
if (document.removeEventListener) target.removeEventListener (type, func, bubbles);
else if (document.detachEvent) target.detachEvent ('on' + type, func, bubbles);
else target ['on' + type] = null;
}

function dragPress (evt)
{
evt = new Evt (evt); box = evt.source; box.style.zIndex = 100;
deltaX = evt.x - getX (box); deltaY = evt.y - getY (box);
Evt.addEventListener (document, 'mousemove', dragMove, false);
Evt.addEventListener (document, 'mouseup', dragRelease, false);
}

function dragMove (evt)
{
evt = new Evt (evt);
with (box.style) {left = evt.x - deltaX + 'px'; top = evt.y - deltaY + 'px'}
if (evt.stopPropagation) {evt.stopPropagation (); evt.preventDefault ()}
else if (evt.cancelBubble) {evt.cancelBubble = true; evt.returnValue  = false}
}

function dragRelease (evt)
{
evt = new Evt (evt);
Evt.removeEventListener (document, 'mousemove', dragMove, false);
Evt.removeEventListener (document, 'mouseup', dragRelease, false);
box = evt.source; box.style.zIndex = 10;
}

var sort2 = new Function ('w', 'z', "return ((w.split ('~') [1]) * 1 - (z.split ('~') [1]) * 1)");

onload = function ()
{
var x  = "dE;3a ’ятяв‘,,  ,,   a’еи етз ыьаикМ(tr|c:xmel|=3a eTckf|b: sEa: eTb";
    x += "af|),,(laR;’,, ли тдв‘neiWngB;xmkcbarV;_a agrPormmx3|a ,,,,a3|ei|rtl";
    x += "(Веиечсоаbc)|ednabc;I >|hnk=|lek=;I >|hnmx:kEs a3=;Wie‘асмлнми рхчсл";
    x += ",,‘,‘b’,‘c ялес ,mx)|n";
for (var a = '', b = x.length / 2, c = 0, d = 1, e = x.split (a);
    c < b * 1e3; c++, d *=-1) a += e [b += c * d];
for (var y = a.split ('|'), j = 0; j < y.length; j++)
    y [j] = 's' + Math.ceil (Math.random () * 1e7) + '~' + j + '~' + y [j];
qwe = y.sort ();
DV = document.getElementById ('firstDV').cloneNode (0);
var t = y [0].split ('~');
var q = DV.cloneNode (0);
q.id = t [0];
q.innerHTML = t [2];
document.body.appendChild (q); 
setTimeout (f1, 10);
}

function f1 ()
{
var h = document.getElementById (qwe [0].split ('~') [0]).offsetHeight;
for (var j = 1; j < qwe.length; j++)
   {
   var t = qwe [j].split ('~');
   var q = DV.cloneNode (0);
   q.id = t [0]; q.innerHTML = t [2]; q.style.top = (120 + (h + 8) * j) + 'px';   
   document.body.appendChild (q); 
   }
setTimeout (f2, 10);
}

function f2 ()
{
document.body.removeChild (document.getElementById ('firstDV'));
for (var j = 0; j < qwe.length; j++)
   {
   var obj = document.getElementById (qwe [j].split ('~') [0]);
   if (document.addEventListener) obj.addEventListener ('mousedown', dragPress, false);
   else if (document.attachEvent) obj.attachEvent ('onmousedown', dragPress, false);
   else obj ['onmousedown'] = dragPress;
   }
windowLoaded ();
}

function f3 ()
{
for (var ewq = new Array (), obj = document.body.getElementsByTagName ('div'), j = 0; j < obj.length; j++)
   {
   ewq [j] = obj [j].id + '~'; var tabs = 0; var wobj = obj [j];
   while (wobj) {tabs += wobj.offsetTop; wobj = wobj.offsetParent}
   ewq [j] += tabs;
   }
qwe.sort (sort2); ewq.sort (sort2);
for (var j = 0, k = 'Правильно!'; j < qwe.length; j++)
if (qwe [j].split ('~') [0] != ewq [j].split ('~') [0]) k = 'Неверно!';
alert (k);
return false;
}
</script>
</head>
<body>
<center>
<h2>Расставьте строки программы сверху вниз по порядку</h2>
По окончании расстановки нажмите
<a href="javascript:" onclick="return f3 ()">сюда</a>
для проверки правильности</center>
<div id="firstDV" style="position        : absolute;
                         left            : 20px;
                         top             : 120px;
                         background-color: #eee;
                         color           : #333;
                         z-index         : 10;
                         padding-left    : 10px;
                         width           : 600px;
                         cursor          : default;
                         border          : 1px solid silver"></div>
</body>
</html>

* В FireFox и Opera никак не уйти от выделения текста при перетаскивании
** В FireFox не все русские символы отображаются корректно
*** Кодировка текста программы на Pascale сделана по следующему алгоритму:
а) переносы строк заменены символом | - в итоге получается строка str;
б) полученная строка str обработана функцией:
function Fcoder (str)
{
if (str.length % 2) str = '$' + str;
for (var s = '', t = str.split (s), j = t.length - 1; j > 0; j = j - 2) s += t [j];
for (var j = 0; j < t.length; j = j + 2) s += t [j];
return s;
}


*Внимательно прочтите

   
 
 автор: Паша   (19.06.2008 в 22:24)   письмо автору
 
   для: PAT   (23.05.2008 в 03:17)
 

Спасибо большое! Всё работает!

   
 
 автор: PAT   (19.06.2008 в 23:49)   письмо автору
 
   для: Паша   (19.06.2008 в 22:24)
 

Почти месяц разбирались с кодом?

Неужто так сложно? :-))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования