Генерация случайного числа в заданном диапазоне.

Обсуждение программ nnCron и nnCron LITE

Re: Генерация случайного числа в заданном диапазоне.

Postby VoidVolker » Sat, 08 Aug 2015, 00:02

ннКрон-то? Ну так он всегда и был портативным ) Начиная с висты я запускаю его такой командой:
Code: Select all
D:\nnCron\nncron.exe -ns -dir D:\nnCron

Еще можно создать файл portable в корне ннКрона и он будет в любом режиме выбирать домашний каталог как рабочий.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Sat, 08 Aug 2015, 00:49

А какже файлы,которые находятся в, это в семерке :

Code: Select all
C:\Users\Я\AppData\Roaming\nnCron


Они же установлены.
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Генерация случайного числа в заданном диапазоне.

Postby VoidVolker » Sat, 08 Aug 2015, 00:55

Ну там временные файлы, файлы конфигурации, кронтабы - у каждого пользователя данный набор может быть своим.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Sat, 08 Aug 2015, 02:36

В общем готового решения нет. Одни теоретические рассуждения. Не в обиду...
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Генерация случайного числа в заданном диапазоне.

Postby VoidVolker » Sat, 08 Aug 2015, 12:35

В смысле? Готового решения чего именно? Где теоретические рассуждения? Все, что надо ннкрону для работы располагается в его домашнем каталоге после установки. Затем, можно этот каталог перенести куда угодно и все будет работать отлично (после изменения путей запуска, конечно).
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Генерация случайного числа в заданном диапазоне.

Postby ANR Daemon » Sun, 09 Aug 2015, 19:42

Aveiro wrote:Позволю спросить, возможна ли все-таки Portable версия программы ? Чтобы не устанавливать...

Не устанавливайте… nnCron и так будет работать. Только смысла в такой работе я не вижу.
Нормально поставьте задачу - тогда и ответ будет нормальный.
ANR Daemon
 
Posts: 234
Joined: Mon, 26 Feb 2007, 22:59

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Sun, 13 Dec 2015, 23:34

Здравствуйте .

Задача поменялась. Алгоритм такой:
Code: Select all
Вводятся числа, к примеру пять чисел.  1, 34, 8, 21, 43.
Далее случайным образом нужно выбрать одно. К примеру было выбрано 21.
После выбора чисел стало четыре : 1, 34, 8, 43.
Снова выбирается случайно, выбрали 1.
Теперь три числа.
------
Одно число.
Выход.


Прошу помощи в релизации, а то нет мыслей как лучше реализовать. Спасибо .
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Генерация случайного числа в заданном диапазоне.

Postby Morituruz » Mon, 14 Dec 2015, 00:04

Кладём числа на стек. Количество чисел знаем, значит используем RANDOM исходя из этого количества, после чего словом ROLL вытаскиваем выпавшее число наверх, распоряжаемся им по своему разумению, потом повторяем RANDOM с уменьшенной на 1 границу, потом снова ROLL...
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Mon, 14 Dec 2015, 00:18

Morituruz wrote:Кладём числа на стек. Количество чисел знаем, значит используем RANDOM исходя из этого количества, после чего словом ROLL вытаскиваем выпавшее число наверх, распоряжаемся им по своему разумению, потом повторяем RANDOM с уменьшенной на 1 границу, потом снова ROLL...


Спасибо. А на стек как положить, записать в массив ALLOT ?
К сожалению в справке нет слова ROLL, "разделы не найдены" :(
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Генерация случайного числа в заданном диапазоне.

Postby VoidVolker » Mon, 14 Dec 2015, 08:25

Code: Select all
10 20 30 40 50
1 5 DO
    I RANDOM ROLL . CR
-1 +LOOP


Aveiro wrote:записать в массив ALLOT ?

ALLOT - не массив, это "выделить указанный объем памяти в кодофайле".
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Mon, 14 Dec 2015, 09:58

В консоли все работает должным образом, спасибо.
Такое вот у меня решение. НЕ готовое....
Вводим числа, считаем их количество. Далее ваш код (генерация случайного числа и затем уменьшение количества чисел ). Не знаю как использовать в задаче...

Code: Select all
#( RANDOM_DIGITE                                                     \ TASK: случайный выбор числа из заданных на уменьшение
NoActive
CREATE DIGITE 256 ALLOT                                              \ создаем массив введенных чисел
VARIABLE VAR_COUNTER                                                 \ переменная количества введенных цыфр
Action:
100 0 DO PAUSE: 200
    WIN-INPUT-TEXT: "TEST" "Введите число" "1" 120 0=   
    IF
        S>NUM DIGITE PLACE                                            \ --> переводим в цифровую переменную и записываем в массив
        VAR_COUNTER @ 1 + VAR_COUNTER !                               \ считаем количество введенных цыфр
    ELSE
        LEAVE                                                         \ выход из цикла, если число больше не вводилось
    THEN
LOOP

\ как встроить код ???

10 20 30 40 50
1 VAR_COUNTER @ DO
    I RANDOM ROLL . CR
-1 +LOOP

)#
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Генерация случайного числа в заданном диапазоне.

Postby VoidVolker » Mon, 14 Dec 2015, 10:23

Code: Select all
#( Задача_101514122015
NoActive
SingleInstance
Action:
0
100 0 DO PAUSE: 200
    WIN-INPUT-TEXT: "TEST" "Введите число" "1" 120 0=   
    IF
        S>NUM SWAP 1+
    ELSE
        LEAVE                                                         \ выход из цикла, если число больше не вводилось
    THEN
LOOP

DUP 0= IF DROP EXIT THEN

1 SWAP DO
    I RANDOM ROLL . CR
-1 +LOOP

)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Mon, 14 Dec 2015, 17:47

Все работает. Спасибо !
А что это за ноль (зачем), сразу после Action ?
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Генерация случайного числа в заданном диапазоне.

Postby VoidVolker » Mon, 14 Dec 2015, 20:36

Code: Select all
0   \ Счетчик чисел
...
        S>NUM SWAP 1+   \ number 1 \ Перемещаем счетчик на вершину стека, а полученное число на вторую позицию и увеличиваем счетчик
...
1 SWAP DO  \ "Передаем" счетчик циклу
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Генерация случайного числа в заданном диапазоне.

Postby Aveiro » Tue, 15 Dec 2015, 11:44

А как принудително выйти из цикла, если существует определенный файл. UNLOOP EXIT - ошибка в стеке...

Code: Select all
1 SWAP DO
    \ какой-то код
       FILE-EXIST: "D:\SYSTEM\CONTROL\STOP.flag"                     
      IF                                                                                                                                                   
         UNLOOP EXIT
     THEN
-1 +LOOP
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests