powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
23 сообщений из 23, страница 1 из 1
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38007382
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру, в сессию класть правильный ответ, и сверять
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38007386
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШогалК примеру, в сессию класть правильный ответ, и сверять
чтобы до этого добраться нужно
сделать, чтобы рандомно генерировалась строка-ключ и контрольный вопрос в виде математического примера типа "8 х 9"
есть код?
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38007587
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофакак не нарватся на то чтобы в вычитании первое не было меньше второго?Проверить. Если меньше - то сгенерить пару заново или поменять $a и $b местами.
катастрофакак это задание вывести на страницуЧерез echo, например.
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38007675
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шогал, по своим вопросам сейчас почитаю, не пойму зачем у Вас в конце
}
}
две скобки?
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008351
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаШогал, по своим вопросам сейчас почитаю, не пойму зачем у Вас в конце
}
}
две скобки?
Значит лишнюю поставил, бывает.
В вашем последнем коде во-первых точек с запятой не хватает, во-вторых обратные слэши не к месту. И местами меняют переменные немного не так.
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008785
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,
>Где вы такие <script language"php"> нашли?) - там, куда меня посылают... в книгах, спасибо
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008788
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаРенат,
>Где вы такие <script language"php"> нашли?) - там, куда меня посылают... в книгах, спасибо
в книгах 19 века?
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008797
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат, но ведь нет проблем, как и здесь
$a +=$b; аналогично записи: $a = $a + $b;
но пришлось искать, уточнять, экономия мнительная, но мозг напрягать приходится
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008803
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаРенат, но ведь нет проблем, как и здесь
$a +=$b; аналогично записи: $a = $a + $b;
но пришлось искать, уточнять, экономия мнительная, но мозг напрягать приходится
Вы не туда смотрите. Да разницы нет как высчитывать. Вы просто логику не туда поместили.
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008815
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,
Да разницы нет как высчитывать - или юзеру вводить -6 или 6, путаница пойдёт, да и проще так
Вы просто логику не туда поместили - не понял, а куда надо?
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008824
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаРенат,
Да разницы нет как высчитывать - или юзеру вводить -6 или 6, путаница пойдёт, да и проще так
Вы просто логику не туда поместили - не понял, а куда надо?
Разницу нет как высчитывать новые значения, если старые некоректны в плане отрицательная разность
У вас логика: первое число больше второго для всех операций, что вычитание что сложение что умножение.
С учетом того что ваша проверка итак на раз два обходиться спамерами, так с введением глобальной логики на "первое число больше второго" ваша система становиться еще проще в два раза для подбора. Т.е. если 5х{X} выведиться то {X} я знаю точно от 0 до 5
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008830
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,
>У вас логика: первое число больше второго для всех операций, что вычитание что сложение что умножение.
я же положил между case 2: и case 3: то есть при умножении
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38008831
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибся то есть только при вычитании
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #38009155
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаРенат,
>У вас логика: первое число больше второго для всех операций, что вычитание что сложение что умножение.
я же положил между case 2: и case 3: то есть при умножении
Предпоследний ваш код говарит мне обратное 13358270

Ну да последний нормальный)
...
Рейтинг: 0 / 0
рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
    #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
23 сообщений из 23, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / рандомно генерировать строку-ключ и контрольный вопрос в виде математического примера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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