Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера / 23 сообщений из 23, страница 1 из 1
21.10.2012, 17:01:46
    #38007332
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Здравствуйте, на странице у меня имеется форма, её концовка такова

Код: html
1.
2.
3.
4.
5.
6.
Введите правильный ответ примера: 10 + 10<br>
<input name="summa" class="TheInputFieldSumma" type="text" id='summa' value=""><br>
<input name="hidden" class="TheInputFieldHidden" type="hidden" value="ok">
<br>
<input name="Submit" type="submit" value="Отправить сообщение" onClick="return Formdata(this.form)">
</form>



как мне сделать, чтобы рандомно генерировалась строка-ключ и контрольный вопрос в виде математического примера типа "8 х 9" и как в дальнейшем прикрутить на кнопку Отправить сообщение правильную проверку, спасибо
...
Рейтинг: 0 / 0
21.10.2012, 18:15:02
    #38007382
Шогал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
К примеру, в сессию класть правильный ответ, и сверять
...
Рейтинг: 0 / 0
21.10.2012, 18:18:26
    #38007386
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
ШогалК примеру, в сессию класть правильный ответ, и сверять
чтобы до этого добраться нужно
сделать, чтобы рандомно генерировалась строка-ключ и контрольный вопрос в виде математического примера типа "8 х 9"
есть код?
...
Рейтинг: 0 / 0
21.10.2012, 19:01:48
    #38007429
Шогал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
А что сложного?
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$a = rand(1, 9);
$b = rand(1, 9);
$op = rand(1, 3);
switch($op){
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
    break;
  case 2:
    $c = $a-$b;
    $s = $a." - ".$b;
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
    break;
  }
}
...
Рейтинг: 0 / 0
21.10.2012, 19:57:27
    #38007458
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Шогал, спасибо, когда знаешь - ноу проблем
Спасибо за пример, я его понял так
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?php
// первое число
$a = rand(1, 9);
// второе число
$b = rand(1, 9);
// выбор из трёх математических действий
$op = rand(1, 3);
switch($op){
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
    break;
  case 2:
    $c = $a-$b;
    $s = $a." - ".$b;
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
    break;
  }
}
?>



как не нарватся на то чтобы в вычитании первое не было меньше второго?
и как это задание вывести на страницу
Введите правильный ответ примера: <span id="job"></span>
...
Рейтинг: 0 / 0
22.10.2012, 00:33:43
    #38007587
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
катастрофакак не нарватся на то чтобы в вычитании первое не было меньше второго?Проверить. Если меньше - то сгенерить пару заново или поменять $a и $b местами.
катастрофакак это задание вывести на страницуЧерез echo, например.
...
Рейтинг: 0 / 0
22.10.2012, 08:47:44
    #38007675
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Шогал, по своим вопросам сейчас почитаю, не пойму зачем у Вас в конце
}
}
две скобки?
...
Рейтинг: 0 / 0
22.10.2012, 09:09:29
    #38007684
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
посмотрите пжл, так?
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Введите правильный ответ примера: <span id="job">
<script language="php">
// первое число, вызывается рандомно от 1 до 9
$a = rand(1, 9);
// второе число, вызывается рандомно от 1 до 9
$b = rand(1, 9);
if ($a < $b) 
{
$с = $a
$b = $a
$a = $b
}
// выбор из трёх математических действий, вызывается рандомно от 1 до 3
$op = rand(1, 3);

switch($op)
{
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
\\прерывает работу всего цикла, когда PHP встречает данную команду
\\останавливает текущее действие, выходит из switch-структуры
\\ переходит к выполнению программного потока сразу после закрывающей скобки
    break;
  case 2:
    $c = $a-$b;
    $s = $a." - ".$b;
\\прерывает работу всего цикла
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
\\прерывает работу всего цикла
    break;
  }
}
echo $s;
</script>
</span><br>
...
Рейтинг: 0 / 0
22.10.2012, 15:58:24
    #38008351
Шогал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
катастрофаШогал, по своим вопросам сейчас почитаю, не пойму зачем у Вас в конце
}
}
две скобки?
Значит лишнюю поставил, бывает.
В вашем последнем коде во-первых точек с запятой не хватает, во-вторых обратные слэши не к месту. И местами меняют переменные немного не так.
...
Рейтинг: 0 / 0
22.10.2012, 18:24:29
    #38008667
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Шогал,

> во-первых точек с запятой не хватает, во-вторых обратные слэши не к месту - увидел, исправил

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Введите правильный ответ примера: <span id="job">
<script language="php">
// первое число, вызывается рандомно от 1 до 9
$a = rand(1, 9);
// второе число, вызывается рандомно от 1 до 9
$b = rand(1, 9);
if ($a < $b) 
{
$с = $a;
$b = $a;
$a = $b;
}
// выбор из трёх математических действий, вызывается рандомно от 1 до 3
$op = rand(1, 3);

switch($op)
{
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
// прерывает работу всего цикла, когда PHP встречает данную команду
// останавливает текущее действие, выходит из switch-структуры
// переходит к выполнению программного потока сразу после закрывающей скобки
    break;
  case 2:
    $c = $a-$b;
    $s = $a." - ".$b;
// прерывает работу всего цикла
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
// прерывает работу всего цикла
    break;
}
echo $s;
</script>
</span><br>


>И местами меняют переменные немного не так. - а как?
...
Рейтинг: 0 / 0
22.10.2012, 19:36:48
    #38008771
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Введите правильный ответ примера: <span id="job">
<?php
// первое число, вызывается рандомно от 1 до 9
$a = rand(1, 9);
// второе число, вызывается рандомно от 1 до 9
$b = rand(1, 9);
// выбор из трёх математических действий, вызывается рандомно от 1 до 3
$op = rand(1, 3);

switch($op)
{
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
// прерывает работу всего цикла, когда PHP встречает данную команду
// останавливает текущее действие, выходит из switch-структуры
// переходит к выполнению программного потока сразу после закрывающей скобки
    break;
  case 2:
    if ($a < $b) {
        $a +=$b;
        $b = $a - $b;
        $a = $a - $b;
    }
    $c = $a-$b;
    $s = $a." - ".$b;
// прерывает работу всего цикла
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
// прерывает работу всего цикла
    break;
}
echo $s;
?>
</span><br>


Где вы такие <script language"php"> нашли?)
...
Рейтинг: 0 / 0
22.10.2012, 19:45:22
    #38008785
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Ренат,
>Где вы такие <script language"php"> нашли?) - там, куда меня посылают... в книгах, спасибо
...
Рейтинг: 0 / 0
22.10.2012, 19:48:20
    #38008788
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
катастрофаРенат,
>Где вы такие <script language"php"> нашли?) - там, куда меня посылают... в книгах, спасибо
в книгах 19 века?
...
Рейтинг: 0 / 0
22.10.2012, 19:54:57
    #38008797
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Ренат, но ведь нет проблем, как и здесь
$a +=$b; аналогично записи: $a = $a + $b;
но пришлось искать, уточнять, экономия мнительная, но мозг напрягать приходится
...
Рейтинг: 0 / 0
22.10.2012, 20:00:13
    #38008799
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
уж коль пошла такая пьянка
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
case 2:
// условие, если выбрано вычитание и $a < $b, тогда ответ будет со знаком минус, тогда меняем местами
// $a +=$b; аналогично записи: $a = $a + $b;
    if ($a < $b) {
        $a +=$b;
        $b = $a - $b;
        $a = $a - $b;
    }
    $c = $a-$b;
    $s = $a." - ".$b;
// прерывает работу всего цикла
    break;
  case 3:



почему бы не написать по русски
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
  case 2:
// условие, если выбрано вычитание и $a < $b, тогда ответ будет со знаком минус, тогда меняем местами
    if ($a < $b) {
        $c = $b-$a;
        $s = $b." - ".$a;
    }
// прерывает работу всего цикла
    break;
  case 3:
...
Рейтинг: 0 / 0
22.10.2012, 20:05:35
    #38008803
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
катастрофаРенат, но ведь нет проблем, как и здесь
$a +=$b; аналогично записи: $a = $a + $b;
но пришлось искать, уточнять, экономия мнительная, но мозг напрягать приходится
Вы не туда смотрите. Да разницы нет как высчитывать. Вы просто логику не туда поместили.
...
Рейтинг: 0 / 0
22.10.2012, 20:11:43
    #38008815
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Ренат,
Да разницы нет как высчитывать - или юзеру вводить -6 или 6, путаница пойдёт, да и проще так
Вы просто логику не туда поместили - не понял, а куда надо?
...
Рейтинг: 0 / 0
22.10.2012, 20:23:53
    #38008824
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
катастрофаРенат,
Да разницы нет как высчитывать - или юзеру вводить -6 или 6, путаница пойдёт, да и проще так
Вы просто логику не туда поместили - не понял, а куда надо?
Разницу нет как высчитывать новые значения, если старые некоректны в плане отрицательная разность
У вас логика: первое число больше второго для всех операций, что вычитание что сложение что умножение.
С учетом того что ваша проверка итак на раз два обходиться спамерами, так с введением глобальной логики на "первое число больше второго" ваша система становиться еще проще в два раза для подбора. Т.е. если 5х{X} выведиться то {X} я знаю точно от 0 до 5
...
Рейтинг: 0 / 0
22.10.2012, 20:30:05
    #38008830
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Ренат,
>У вас логика: первое число больше второго для всех операций, что вычитание что сложение что умножение.
я же положил между case 2: и case 3: то есть при умножении
...
Рейтинг: 0 / 0
22.10.2012, 20:30:35
    #38008831
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
ошибся то есть только при вычитании
...
Рейтинг: 0 / 0
22.10.2012, 20:39:27
    #38008841
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
чтобы путаницу убрать...
в оконцовке
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Введите правильный ответ примера: <span id="job">
<?php
// первое число, вызывается рандомно от 1 до 9
$a = rand(1, 9);
// второе число, вызывается рандомно от 1 до 9
$b = rand(1, 9);
// выбор из трёх математических действий, вызывается рандомно от 1 до 3
$op = rand(1, 3);

switch($op)
{
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
// прерывает работу всего цикла, когда PHP встречает данную команду
// останавливает текущее действие, выходит из switch-структуры
// переходит к выполнению программного потока сразу после закрывающей скобки
    break;
  case 2:
// условие, если выбрано вычитание и $a < $b, тогда ответ будет со знаком минус, тогда меняем местами $a и $b
    if ($a < $b)
	{
        $c = $b-$a;
        $s = $b." - ".$a;
    }
	else
	{
	$c = $a-$b;
    $s = $a." - ".$b;
	}
// прерывает работу всего цикла
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
// прерывает работу всего цикла
    break;
}
echo $s;
?>
</span><br>



пойдёт??
...
Рейтинг: 0 / 0
23.10.2012, 07:16:48
    #38009155
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
катастрофаРенат,
>У вас логика: первое число больше второго для всех операций, что вычитание что сложение что умножение.
я же положил между case 2: и case 3: то есть при умножении
Предпоследний ваш код говарит мне обратное 13358270

Ну да последний нормальный)
...
Рейтинг: 0 / 0
23.10.2012, 08:57:01
    #38009214
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Ренат,
спасибо, мой первый опыт на пхп
чтобы ответить на вопрос в моей соседней ветке
http://www.sql.ru/forum/actualthread.aspx?tid=978110
мне нужно понять общее правило действий, вчера правда мне пытались пояснит, но у меня голова о другом болела
1 Так это поле
Код: html
1.
<input name="hidden" class="TheInputFieldHidden" type="hidden" value="ok">


мне на форме нужно?
2 Что дальше делать с ответом хранящимся в $c
3 Как соединить пхп и js в том плане что нажимая на кнопку Отправить сообщение работает js и она мне должна выдать мессагу с этой части кода
/* делаем чтобы поле с ответом на сгенерированный математический пример было равно определенному числу */
number = document.getElementById("summa");
if (number.value !== '20')
{
alert('В поле "Введите правильный ответ примера" правильный ответ примера введён неверно');
return false;}
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]