Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Random (Расширенные возможности)
Random
MelahorДата: Чт, 09 Августа 2012, 21:09 | Сообщение # 1
Любопытный
Нужно сделать так, чтобы команда Random генерировала случайное число не от ноля и до указанного мной, а от указанного мной и до указанного мной.
Извините за товтологию. redface


 
СообщениеНужно сделать так, чтобы команда Random генерировала случайное число не от ноля и до указанного мной, а от указанного мной и до указанного мной.
Извините за товтологию. redface

Автор - Melahor
Дата добавления - 09 Августа 2012 в 21:09
mishemДата: Чт, 09 Августа 2012, 21:51 | Сообщение # 2
Эксперт форума
Можно и средствами НБ, можно плагином rlFunctions.

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеМожно и средствами НБ, можно плагином rlFunctions.

Автор - mishem
Дата добавления - 09 Августа 2012 в 21:51
CrbrsДата: Пт, 10 Августа 2012, 10:24 | Сообщение # 3
Любопытный
А в плагине rlFunction есть возможность генерировать цифры и буквы одновременно?
 
СообщениеА в плагине rlFunction есть возможность генерировать цифры и буквы одновременно?

Автор - Crbrs
Дата добавления - 10 Августа 2012 в 10:24
СергейДата: Пт, 10 Августа 2012, 10:35 | Сообщение # 4
Необукер
Quote (Crbrs)
генерировать цифры и буквы одновременно?
можно сделать средствами НБ
 
Сообщение
Quote (Crbrs)
генерировать цифры и буквы одновременно?
можно сделать средствами НБ

Автор - Сергей
Дата добавления - 10 Августа 2012 в 10:35
CrbrsДата: Пт, 10 Августа 2012, 12:45 | Сообщение # 5
Любопытный
Спасибо :)
 
СообщениеСпасибо :)

Автор - Crbrs
Дата добавления - 10 Августа 2012 в 12:45
MelahorДата: Чт, 23 Августа 2012, 12:16 | Сообщение # 6
Любопытный
Поскольку мне советовали воздержатся от плагинов, объясните мне, тупому пользователю, как сделать то, что я хочу средствами NB?


 
СообщениеПоскольку мне советовали воздержатся от плагинов, объясните мне, тупому пользователю, как сделать то, что я хочу средствами NB?

Автор - Melahor
Дата добавления - 23 Августа 2012 в 12:16
GorezcaidДата: Чт, 23 Августа 2012, 13:10 | Сообщение # 7
Ветеран форума
:) ,Будь уверенней, разбери пример:
Ввод ОТ: [TextEntry1]
Ввод ДО: [TextEntry2]
Вывод: [Random]
Средствами NB:
Code
If "[TextEntry1]" "=" "[TextEntry2]"
    SetVar "[Random]" "[TextEntry1]"
    Return
Else
    If "[TextEntry1]" ">" "[TextEntry2]"
       AlertBox "Ошибка" "Неверно задано От / До"
       Return
    Else
    EndIf
EndIf
.////////////////////////////////////////////////
If "[TextEntry1]" "<" "0"
    SetVar "[tmp]" "[TextEntry2]-([TextEntry1])"
    Random "[tmp]" "[tmpRandom]"
    SetVar "[Random]" "[tmpRandom]+([TextEntry1])"
    Return
Else
EndIf
If "[TextEntry1]" ">" "0"
    SetVar "[tmp]" "[TextEntry2]-[TextEntry1]"
    Random "[tmp]" "[tmpRandom]"
    SetVar "[Random]" "[tmpRandom]+[TextEntry1]"
    Return
Else
EndIf
If "[TextEntry1]" "=" "0"
    Random "[TextEntry2]" "[Random]"
Else
EndIf


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera

Сообщение отредактировано
Gorezcaid - Чт, 23 Августа 2012, 13:11
 
Сообщение:) ,Будь уверенней, разбери пример:
Ввод ОТ: [TextEntry1]
Ввод ДО: [TextEntry2]
Вывод: [Random]
Средствами NB:
Code
If "[TextEntry1]" "=" "[TextEntry2]"
    SetVar "[Random]" "[TextEntry1]"
    Return
Else
    If "[TextEntry1]" ">" "[TextEntry2]"
       AlertBox "Ошибка" "Неверно задано От / До"
       Return
    Else
    EndIf
EndIf
.////////////////////////////////////////////////
If "[TextEntry1]" "<" "0"
    SetVar "[tmp]" "[TextEntry2]-([TextEntry1])"
    Random "[tmp]" "[tmpRandom]"
    SetVar "[Random]" "[tmpRandom]+([TextEntry1])"
    Return
Else
EndIf
If "[TextEntry1]" ">" "0"
    SetVar "[tmp]" "[TextEntry2]-[TextEntry1]"
    Random "[tmp]" "[tmpRandom]"
    SetVar "[Random]" "[tmpRandom]+[TextEntry1]"
    Return
Else
EndIf
If "[TextEntry1]" "=" "0"
    Random "[TextEntry2]" "[Random]"
Else
EndIf

Автор - Gorezcaid
Дата добавления - 23 Августа 2012 в 13:10
wikslДата: Чт, 23 Августа 2012, 14:05 | Сообщение # 8
Участник
Команда Random генерирует случайное число от 0 до указанного числа в команде, следовательно если надо от а до b, то получаем формулу:
a+Random(b-a)
т.е если надо интервал от 10 до 100 то получаем
10+ Random (90)
конечно команду Random и присваение записывать по правилам NB


Вик
 
СообщениеКоманда Random генерирует случайное число от 0 до указанного числа в команде, следовательно если надо от а до b, то получаем формулу:
a+Random(b-a)
т.е если надо интервал от 10 до 100 то получаем
10+ Random (90)
конечно команду Random и присваение записывать по правилам NB

Автор - wiksl
Дата добавления - 23 Августа 2012 в 14:05
MelahorДата: Вс, 16 Сентября 2012, 12:36 | Сообщение # 9
Любопытный
Quote (Gorezcaid)
Будь уверенней

Был бы, если бы знал, что флуд, а что нет.
Quote (Gorezcaid)
разбери пример

Отлично. Теперь генерируется случайное число от и до.
Как бы ещё сделать так, чтобы это число никогда не повторялось?
Типа сравнение двух переменных:
если число в переменной [Random] уже есть в списке,
то не показывать/не выводить его.

Добавлено (16 Сентября 2012, 12:36)
---------------------------------------------

Quote (Melahor)
Как бы ещё сделать так, чтобы это число никогда не повторялось?

Хотя, это мелочь. Главное, что основная функция работает.
 
Сообщение
Quote (Gorezcaid)
Будь уверенней

Был бы, если бы знал, что флуд, а что нет.
Quote (Gorezcaid)
разбери пример

Отлично. Теперь генерируется случайное число от и до.
Как бы ещё сделать так, чтобы это число никогда не повторялось?
Типа сравнение двух переменных:
если число в переменной [Random] уже есть в списке,
то не показывать/не выводить его.

Добавлено (16 Сентября 2012, 12:36)
---------------------------------------------

Quote (Melahor)
Как бы ещё сделать так, чтобы это число никогда не повторялось?

Хотя, это мелочь. Главное, что основная функция работает.

Автор - Melahor
Дата добавления - 16 Сентября 2012 в 12:36
GorezcaidДата: Вс, 16 Сентября 2012, 13:40 | Сообщение # 10
Ветеран форума
Quote (Melahor)
Как бы ещё сделать так, чтобы это число никогда не повторялось?

Циклы в помощь... :)
Code
.Инициализация при старте программы
.SetVar "[Base_Rand]" ";"
.===================================
SetVar "[flag]" "1"
While "[flag]" "=" "1"

.Подпрограмма
.Генерирование случайного числа в [Random]
...Random "100" "[Random]"

.Поиск по базе
SearchStr ";[Random];" "[Base_Rand]" "[nomFind]" ""
.Проверка поиска
If "[nomFind]" "=" "0"
.Запись случайного числа в базу
SetVar "[Base_Rand]" "[Base_Rand][Random];"
.Если не найдено совпадений - выход из цикла
SetVar "[flag]" "0"
Else
EndIf
EndWhile
.===================================
.Вывод неповторяющегося числа в [Random]

Поправил...

Добавлено (16 Сентября 2012, 13:40)
---------------------------------------------
У вас всё получится, думаю с примерами станете лучше понимать NeoBook, главное - не бойтесь экспериментировать thumbs_up .

Вот пример получше, без бесконечных завихрений :D
При старте страницы инициализируем счётчики

Code
.Инициализация при старте
.Задаём [TextEntry1] и [TextEntry2] для подпрограммы Генерирования случайного числа
SetVar "[TextEntry1]" "0"
SetVar "[TextEntry2]" "100"
.Инициализация при старте цикла
SetVar "[Base_Rand]" ";"
.Цикл найденных цифр
SetVar "[While_i]" "0"
.Всего возможно найденых цифр
SetVar "[T_VsegoZifr]" "[TextEntry2]-[TextEntry1]+1"

При нажатии на кнопку с заголовком [Random]
Code
.Флаг выхода из цикла
SetVar "[flag]" "1"
While "[flag]" "=" "1"
    .Подпрограмма
    .Генерирование случайного числа от в [Random]
    .ОТ: [TextEntry1]=0 ДО: [TextEntry2]=100
    ...
    Random "100" "[Random]"
     
     
    .Поиск по базе
    SearchStr ";[Random];" "[Base_Rand]" "[nomFind]" ""
    .Проверка поиска
    If "[nomFind]" "=" "0"
       .Найдено x цифр
       SetVar "[While_i]" "[While_i]+1"
       .Запись случайного числа в базу
       SetVar "[Base_Rand]" "[Base_Rand][Random];"
       .Если не найдено совпадений - выход из цикла
       SetVar "[flag]" "0"
    Else
       If "[While_i]" ">=" "[T_VsegoZifr]"
          SetVar "[flag]" "0"
          SetVar "[Random]" "false"
       Else
       EndIf
    EndIf
EndWhile
.===================================
.Вывод неповторяющегося числа в [Random]
If "[Random]" "=" "false"
    AlertBox "" "Все цифры найдены"
Else
    .AlertBox "" "Вывод [Random]"
EndIf

Random "100" "[Random]" стоит вместо вашей функции генерации от до.
Если всё найдено - вывод сообщения 'Все цифры найдены'.


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera

Сообщение отредактировано
Gorezcaid - Вс, 16 Сентября 2012, 13:03
 
Сообщение
Quote (Melahor)
Как бы ещё сделать так, чтобы это число никогда не повторялось?

Циклы в помощь... :)
Code
.Инициализация при старте программы
.SetVar "[Base_Rand]" ";"
.===================================
SetVar "[flag]" "1"
While "[flag]" "=" "1"

.Подпрограмма
.Генерирование случайного числа в [Random]
...Random "100" "[Random]"

.Поиск по базе
SearchStr ";[Random];" "[Base_Rand]" "[nomFind]" ""
.Проверка поиска
If "[nomFind]" "=" "0"
.Запись случайного числа в базу
SetVar "[Base_Rand]" "[Base_Rand][Random];"
.Если не найдено совпадений - выход из цикла
SetVar "[flag]" "0"
Else
EndIf
EndWhile
.===================================
.Вывод неповторяющегося числа в [Random]

Поправил...

Добавлено (16 Сентября 2012, 13:40)
---------------------------------------------
У вас всё получится, думаю с примерами станете лучше понимать NeoBook, главное - не бойтесь экспериментировать thumbs_up .

Вот пример получше, без бесконечных завихрений :D
При старте страницы инициализируем счётчики

Code
.Инициализация при старте
.Задаём [TextEntry1] и [TextEntry2] для подпрограммы Генерирования случайного числа
SetVar "[TextEntry1]" "0"
SetVar "[TextEntry2]" "100"
.Инициализация при старте цикла
SetVar "[Base_Rand]" ";"
.Цикл найденных цифр
SetVar "[While_i]" "0"
.Всего возможно найденых цифр
SetVar "[T_VsegoZifr]" "[TextEntry2]-[TextEntry1]+1"

При нажатии на кнопку с заголовком [Random]
Code
.Флаг выхода из цикла
SetVar "[flag]" "1"
While "[flag]" "=" "1"
    .Подпрограмма
    .Генерирование случайного числа от в [Random]
    .ОТ: [TextEntry1]=0 ДО: [TextEntry2]=100
    ...
    Random "100" "[Random]"
     
     
    .Поиск по базе
    SearchStr ";[Random];" "[Base_Rand]" "[nomFind]" ""
    .Проверка поиска
    If "[nomFind]" "=" "0"
       .Найдено x цифр
       SetVar "[While_i]" "[While_i]+1"
       .Запись случайного числа в базу
       SetVar "[Base_Rand]" "[Base_Rand][Random];"
       .Если не найдено совпадений - выход из цикла
       SetVar "[flag]" "0"
    Else
       If "[While_i]" ">=" "[T_VsegoZifr]"
          SetVar "[flag]" "0"
          SetVar "[Random]" "false"
       Else
       EndIf
    EndIf
EndWhile
.===================================
.Вывод неповторяющегося числа в [Random]
If "[Random]" "=" "false"
    AlertBox "" "Все цифры найдены"
Else
    .AlertBox "" "Вывод [Random]"
EndIf

Random "100" "[Random]" стоит вместо вашей функции генерации от до.
Если всё найдено - вывод сообщения 'Все цифры найдены'.

Автор - Gorezcaid
Дата добавления - 16 Сентября 2012 в 13:40
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Random (Расширенные возможности)
  • Страница 1 из 1
  • 1
Поиск: