Рандомное время что это
Перейти к содержимому

Рандомное время что это

  • автор:

Что такое рандомное время?

Прилагательное «рандомный» образовано от слова «рандом». Оно заимстовавано из английского языка, целиком, без перевода.

Исходное слово «random» означает «случайный», «произвольный», «выбранный наугад». В русском языке словом «рандом» принято называть нечто случайное, выбранное методом «тыкнуть пальцем в небо» или «на кого бог пошлёт».

Соответственно, «рандомное время» — это время произвольное, случайное, без участия каких-либо правил или закономерностей, т.е. любое — то, которое выпадет.

Русский [ править ]

Корень: -рандом-; суффикс: ; окончание: -ый.

Произношение [ править ]

  • МФА: [ rɐnˈdomnɨɪ̯ ]

Семантические свойства [ править ]

Значение [ править ]
  1. спец.жарг.случайный ◆ Правда, в новой модели конструкторы обещают внести элементы непредсказуемости, чтобы могла отказываться, ссылаясь на рандомные причины. Юрий Никитин, «Рассветники», 2015 г.
Синонимы [ править ]
  1. случайный; частичн.: произвольный
Антонимы [ править ]

Курс Arduino — Время и Random

Наша задача на сегодня – собрать схему, которая позволяет узнать быстроту нашей реакции.

При нажатии на левую кнопку, раздается сигнал через «случайное» время. А при нажатии на правую, отмечается, сколько времени прошло с писка до нажатия на правую кнопу.

Кто скилловый – пробует сам, а мы смотрим на схему.

Код

#define BUZ 8 #define START 9 #define STOP 7 int time; //Переменная для синхронизации void setup() < Serial. begin(9600); pinMode(START, INPUT_PULLUP); pinMode(STOP, INPUT_PULLUP); pinMode(BUZ, OUTPUT); >void loop() < if(digitalRead(START) == 0) // При нажатии на Кнопку СТАРТ.. < int start_time = millis();// Запомним время нажатия time = start_time; //Запишем его в глобальную переменную. int Rand = random(0, 4000); //Сгенерим "случайную" задержку time = time + Rand; //Прибавим время задержки delay(Rand); //Подождем tone(BUZ, 3000, 500); //Пищим! >if(digitalRead(STOP) == 0 && digitalRead(START) == 1)// При нажатии на кнопку СТОП. < int stop_time = millis(); //Запомним время остановки. time = stop_time - time; // Вычислим разницу во времени. Serial.println("Time: "); // Выведем время в Сериал. Serial.println(time); delay(1000); >> //Перед второй попыткой нажимай на кнопку СТАРТ снова.

Пояснения

int time; Переменным(не всем), при их обозначении, не обязательно задавать какое-либо значение. Эту переменную мы использовали для того, чтобы связать два оператора if.

В С++ переменные, объявленные внутри цикла, не будут доступны в других циклах, так как они действуют только внутри этого цикла. Это делается для того, чтобы предотвратить ошибки в программировании. Когда код программы разрастется, ты поймешь, о чем я говорю.

Чтобы переменная была доступна для нескольких операторов, нужно сделать ее глобальной. Т.е. объявить переменную вне функций.

millis(); Возвращает количество миллисекунд, прошедших с запуска программы.

Нам она нужна для того, чтобы отмерять количество времени, прошедшего от подачи сигнала до нажатия на кнопку.

random(min, max); Это генератор «случайных» чисел. Принимает два значения. Он генерирует число в диапазоне от min до max.

«Случайные» числа потому, что это определенная последовательность значений. Очень длинная, но одна и та же. Для того чтобы получать разные последовательности, стоит воспользоваться Random Seed();

Она, функция, инициализирует генератор. А если задать параметром случайный, то мы будем получать нужные нам последовательности. Одинаковая последовательность будет, если параметр будет фиксированным.

Вывод

Теперь ты можешь тренировать свою реакцию с помощью собственноручно сделанного устройства. А можешь продолжать заниматься дальше.

Курсы javascript

можно создать переменную с Math.random() и вставить переменную вместо времени?

26.12.2011, 18:24
Регистрация: 25.12.2011
Сообщений: 786

//рандом от min до max function rand(min, max) < return (max-min)*Math.random()+min >// команда return означает то, что функция будет подставлять НА СВОЕ МЕСТО после того как выполнится))) // в данном случае подставляется то, что посчитает выражение (max-min)*Math.random()+min, а оно подсчитает случайное число между числами min и max включая) //тест() function test() < alert('ня!') >//запускаем тест() используя рандом setInterval('test()' , rand(1000, 10000) );

Последний раз редактировалось Livaanderiamarum, 26.12.2011 в 18:57 .
26.12.2011, 18:25
Регистрация: 05.09.2010
Сообщений: 2,298

function test(text) < alert('random alert ' + text); >(function runInterval() < interval = Math.random()*1000*9 + 1000; setTimeout(function()< test(interval); runInterval(); >, interval); >)()

Последний раз редактировалось FINoM, 26.12.2011 в 18:33 .
26.12.2011, 18:26
Регистрация: 29.11.2011
Сообщений: 3,924
Если не накосячил, а за мной это сегодня наблюдается , примерно так

(function() < var x = (Math.random() * 10) + 1 >> 0; alert("следующий вызов ~ " + x + " сек."); setTimeout(arguments.callee, x * 1000); >)();

__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина — самый громкий звук

26.12.2011, 18:30
Регистрация: 25.12.2011
Сообщений: 786

мой вариант как обычно лучший)))
помогает понять КАК)) и не содержит ненужных понтов и замыканий и.т.п.))
привет всем)

26.12.2011, 18:48
Регистрация: 25.12.2011
Сообщений: 786

(function() < var x = (Math.random() * 10) + 1 >> 0; alert("следующий вызов ~ " + x + " сек."); setTimeout(arguments.callee, x * 1000); >)();

оой, ты использовал рекурсию, в замыкании.. это та круто, теперь объясни это парню ))
26.12.2011, 19:27
Регистрация: 06.12.2011
Сообщений: 172
всем спасибо) выбрал вариант Аватар для Livaanderiamarum’a
26.12.2011, 19:33
Регистрация: 29.11.2011
Сообщений: 3,924
1. Это не круто. Круто пишут старожилы форума. Я пока так не умею
2. Где там замыкание?

var x = (Math.random() * 10) + 1 >> 0; //эту строку можно запистаь без скобок, т.е. var x = Math.random() * 10 + 1 >> 0;

__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина — самый громкий звук

Последний раз редактировалось nerv_, 26.12.2011 в 19:41 .
26.12.2011, 19:38
Регистрация: 14.09.2011
Сообщений: 523
26.12.2011, 19:39
Регистрация: 25.12.2011
Сообщений: 786

var x = (Math.random() * 10) + 1 >> 0; //эту строку можно запистаь без скобок, т.е. var x = Math.random() * 10 + 1 >> 0;

я почему-то назвал ссылку на саму себя замыканием) не знаю почему) но все ровно твой пример не оч подходил для данного вопроса)

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *