Страница 1 из 1

Помощь с составлением функции цикличного рандома

Добавлено: 27 апр 2018, 13:36
Burningmonkey
Господа! Необходима помощь! Стоит не тривиальная задача. Сейчас постараюсь объяснить.
Есть блок из ста лампочек. Они загораются при определенных условиях и за их загорание отвечают три числа.Эти три числа должны быть рандомные,но ни в коем случае не равны друг другу.К примеру,если первое число выпадает z=65,то второе должно быть x=100-z-10, где 10-это промежуток,чтобы визаульно было видно,что эти числа отличаются. и третье число у=100-z-x. И такая функция должна иметь цикличность,то есть повторяться. Если на яве получилось написать программу
function randomInteger(min, max) {
var rand = min - 0.5 + Math.random() * (max - min + 1)
rand = Math.round(rand);
return rand;
}

function forMyStupidFriend(a, delta) {
const x = randomInteger(0, a/2);
const range = a % 2 ? { begin: Math.max(0, x + delta) } : { begin: 0, end: Math.max(0, x - delta) };
const y = randomInteger(range.begin, range.end);
const z = a - x - y;
return [x,y,z];
}
forMyStupidFriend(100, 5)
, то,к сожалению, Лабвью не воспринимает яву. МОжно ли как то выйти из этого положения.Очень надеюсь на Вашу помощь

Re: Помощь с составлением функции цикличного рандома

Добавлено: 10 май 2018, 14:50
Artem.spb
1 мысль: y==10, нет смысла её вычислять.
2 мысль: судя по названию второй функции, писали её тоже не вы.
3 мысль: приведённая картинка не имеет никакого отношения к вопросу.
4. зачем запихивать яву в :labview:? у вас написан алгоритм, "переведите" его на другой язык.

Re: Помощь с составлением функции цикличного рандома

Добавлено: 11 май 2018, 05:34
Vitekkz88
function randomInteger(min, max) {
var rand = min - 0.5 + Math.random() * (max - min + 1)
rand = Math.round(rand);
return rand;
}

function forMyStupidFriend(a, delta) {
const x = randomInteger(0, a/2);
const range = a % 2 ? { begin: Math.max(0, x + delta) } : { begin: 0, end: Math.max(0, x - delta) };
const y = randomInteger(range.begin, range.end);
const z = a - x - y;
return [x,y,z];
}
forMyStupidFriend(100, 5)
Это я специально выделил, а то вдруг со счетом проблемы и вторую функцию отыскать не получится. И не забудьте переименовать её в конце программы.

Re: Помощь с составлением функции цикличного рандома

Добавлено: 14 май 2018, 09:40
Burningmonkey
Artem.spb писал(а): 2 мысль: судя по названию второй функции, писали её тоже не вы.
4. зачем запихивать яву в :labview:? у вас написан алгоритм, "переведите" его на другой язык.
Дык я вроде и не сказал,что писал ее я)Я инженер,перед которым поставили задачу в новой среде сделать данную функцию.ТАк как я с языками программирования не знаком(Как и с лабвью собственно),то пришлось просить друга.Он подошел с юмором,ну а я не стал редактировать код,пусть останется так)

Re: Помощь с составлением функции цикличного рандома

Добавлено: 14 май 2018, 12:43
Vitekkz88
Вот такую диаграмму соберите и допиливайте остальные граничные условия по своей задаче(а они определенно есть, у своего преподавателя уточните).

Re: Помощь с составлением функции цикличного рандома

Добавлено: 18 май 2018, 12:52
Burningmonkey
Премного благодарен!!!