OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 28 Апрель, 2024 08:51

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 12:42 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Модератор: ответ на сообщение viewtopic.php?p=31078#p31078. Тема обсуждения изменилась и выделена.

Конечно плохо. Вот например сегодня с утреца решил я посмотреть как будет работать реализация алгоритма quick sort на CP. Реализацию алгоритма нашел на этом форуме (две реализации: одна от info21 (не рабочая -- просто не компилируется), другая от Ярослав Романченко -- рабочая), однако прежде чем сортировать, нужно контейнер (в данном случае массив) чем-то заполнить. Желательно случайными числами. В результате я где-то на протяжении часа искал чем же в BB сгенерить случайное число. Гугл не помог. Дока тоже не помогла (на самом деле помогла бы если бы по умолчанию оно искало бы регистеронезависимо, или я бы додумался поставить галку "Ignore case"). На форуме нашел таки упоминание про модуль ObxRandom. Нашел его в доке. Открываю...

И вижу буквально вот это:
Код:
MODULE ObxRandom;
(**
   project   = "BlackBox"
   organization   = "www.oberon.ch"
   contributors   = "Oberon microsystems"
   version   = "System/Rsrc/About"
   references   = "Martin Reiser, Niklaus Wirth, Programming In Oberon, ISBN 0201565439"
   changes   = ""
   issues   = ""

**)

   VAR z: INTEGER;   (* global variable *)

   PROCEDURE Uniform* (): REAL;
      CONST a = 16807; m = 2147483647; q = m DIV a; r = m MOD a;
      VAR gamma: INTEGER;
   BEGIN
      gamma := a * (z MOD q) - r * (z DIV q);
      IF gamma > 0 THEN
         z := gamma
      ELSE
         z := gamma + m
      END;
      RETURN z * (1.0 / m)   (* value of the function *)
   END Uniform;

   PROCEDURE InitSeed* (seed: INTEGER);
   BEGIN
      z := seed
   END InitSeed;

BEGIN
   z := 314159   (* initial value of seed *)
END ObxRandom.


Что возвращает функция? В каких диапазонах будет лежать значение...
Да, а самое смешное, поскольку у меня был массив INTEGER'ов, то пришлось присваивать значения вот так:
Код:
Arr[i]:= SHORT(ENTIER(ObxRandom.Uniform()));


Т.е. в процессе исполнения имеем забавные превращения: INTEGER->REAL->LONGINT->INTEGER

Или есть какой-то более кошерный способ генерации псевдослучайных целых чисел в BB? (про обероны не говорю, ибо общей какой-то библиотеки, или хотя бы общей вики по библиотекам просто нет).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Google Code Search не знает об Оберонах
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 15:16 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Странные непонятки.
Alexey Veselovsky писал(а):
Дока тоже не помогла
Alexey Veselovsky писал(а):
(на самом деле помогла бы если бы по умолчанию оно искало бы регистеронезависимо, или я бы додумался поставить галку "Ignore case").
Итого: дока не причём.
Alexey Veselovsky писал(а):
Что возвращает функция? В каких диапазонах будет лежать значение...
Даже судя по названию, REAL от 0 до 1. Ещё есть исх. код + ссылка на литературу "Martin Reiser, Niklaus Wirth, Programming In Oberon, ISBN 0201565439".
Alexey Veselovsky писал(а):
Да, а самое смешное, поскольку у меня был массив INTEGER'ов, то пришлось присваивать значения вот так:
Код:
Arr[i]:= SHORT(ENTIER(ObxRandom.Uniform()));
Дружно смеёмся над:
Language Report писал(а):
Assignment compatible...
5. Tv is a numeric type and e is a constant expression whose value is contained in Tv;...

6.1 Basic Types...
Types 4 to 7 are integer types, types 8 and 9 are real types, and together they are called numeric types. They form a hierarchy; the larger type includes (the values of) the smaller type:
REAL >= SHORTREAL >= LONGINT >= INTEGER >= SHORTINT >= BYTE
Alexey Veselovsky писал(а):
Т.е. в процессе исполнения имеем забавные превращения: INTEGER->REAL->LONGINT->INTEGER
Или есть какой-то более кошерный способ генерации псевдослучайных целых чисел в BB?
Если Вас эти преобразования не устраивают (хотя не понятно, какая разница для "посмотреть как будет работать реализация алгоритма quick sort на CP" какие там идут преобразования) -- перед Вами исходный код Uniform, где целое z отображается на вещественное [0,1]. Скопируйте и сделайте свою целочисленную функцию z MOD сколькоНадо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Google Code Search не знает об Оберонах
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 15:38 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Alexey Veselovsky писал(а):
...Или есть какой-то более кошерный способ генерации псевдослучайных целых чисел в BB? (про обероны не говорю, ибо общей какой-то библиотеки, или хотя бы общей вики по библиотекам просто нет).

Для ВВ есть неплохая математическая библиотека - Epse21. В модуле Random там целый набор генераторов. Компилируется по крайней мере нормально:) Скачать можно тут: http://www.zinnamturm.eu/downloadsDH.htm#Epse21

На Oberon-2 я использую такой модуль (взят с небольшими переделками из исходников Oo2c)
Код:
MODULE RandomNumbers;
(** Детали алгоритма см. в Park S.K. and Miller K.W. (1988)
  "Random number generators, good ones are hard to find".
  Communications of the ACM, 31, 1192-1201. *)

CONST modulo* = 2147483647;  (* =2^31-1 *)
VAR z* : LONGINT;

(** Инициализация генератора целым числом: *)
   
PROCEDURE PutSeed*(seed: LONGINT);
BEGIN
    seed := seed MOD modulo;
    IF (seed = 0) THEN z := 1 ELSE z := seed END
END PutSeed;

PROCEDURE NextRND;
CONST
    a = 16807;
    q = 127773;      (* m div a *)
    r = 2836;        (* m mod a *)
VAR lo, hi, test: LONGINT;
BEGIN
    hi := z DIV q;
    lo := z MOD q;
    test := a * lo - r * hi;
    IF (test > 0) THEN z := test ELSE z := test + modulo END
END NextRND;

(** Целые случайные числа в диапазоне 0 <= x < range.
   Range должен быть в интервале 1 .. 2^31-2 *)
PROCEDURE RND*(range : LONGINT): LONGINT;
BEGIN
    NextRND;
    RETURN z MOD range
END RND;

(** Вещественные случайные числа в диапазоне 0.0 <= x < 1.0 *)
PROCEDURE Random*(): REAL;
BEGIN
    NextRND;
    RETURN (z-1)*(1 / (modulo-1))
END Random;

BEGIN
  z := 314053
END RandomNumbers.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Google Code Search не знает об Оберонах
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 16:15 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Цитата:
Итого: дока не причём.


Итого дока как раз причем. Просто в силу неправильного умолчательного значения флажка. Я его, честно говоря, и не заметил. Полнотекстовый поиск обычно делается нечувствительным к регистру, если пользователем не указано обратное. Везде. И это логично. Random или random с т.з. естественного языка -- одно и тоже, слово одно и то же, обозначает одно и то же, просто в одном случае оно находится в начале предложения, а в другом нет, как например в этом предложении.

Цитата:
Даже судя по названию, REAL от 0 до 1. Ещё есть исх. код + ссылка на литературу "Martin Reiser, Niklaus Wirth, Programming In Oberon, ISBN 0201565439".

А что там с названием? Функция: Однообразно(), или Единообразно(). Возвращает вещественный тип. Имеет какое-то отношение к случайным числам. Откуда я должен придумать какой диапазон оно выдаст? Нет, я конечно предположил что от 0 до 1, и основываясь на этом предположении построил алгоритм. Но это же не верно! На базовые функции должна быть документация. Генератор случайных чисел -- базовая функциональность.

Документация должна быть как краткой (вот вам функция, получает то-то выдает то-то), так и подробная включая харакетристики сгенерированых значений. + ссылки на первоисточники. Тут имеем только ссылку на первоисточник + некий невнятный исходник. Мне не интересна реализация! Мне интересна СПЕЦИФИКАЦИЯ модуля! Где, черт возьми, воспеваемая оберонами модульность? Где сокрытие частностей от пользователя модуля? Почему для того чтобы понять как пользоваться модулем я обязан ковыряться в его потрохах?

С ISBN 0201565439 ещё интересней. Т.е. чтобы написать простейший тест, вы предлагаете мне сходить в библиотеку и попробовать взять эту книжку? Или спиратить её откуда-нибудь с сети?

Цитата:
Дружно смеёмся над:
Language Report писал(а):
Assignment compatible...
5. Tv is a numeric type and e is a constant expression whose value is contained in Tv;...

6.1 Basic Types...
Types 4 to 7 are integer types, types 8 and 9 are real types, and together they are called numeric types. They form a hierarchy; the larger type includes (the values of) the smaller type:
REAL >= SHORTREAL >= LONGINT >= INTEGER >= SHORTINT >= BYTE


И? У нас есть массив содержащий переменный типа INTEGER. ENTIER возвращает переменную типа LONGINT.
Код:
ENTIER(x)   real type   LONGINT   largest integer not greater
         than x

Arr[i] := ENTIER(r); -- очевидная ошибка компиляции. Т.о. полученый из ENTIER результат требуется привести к типу INTEGER. Посему и получаем замечательную строчку вида:
Код:
Arr[i]:= SHORT(ENTIER(ObxRandom.Uniform()));

Действительно, смешно.

Цитата:
Если Вас эти преобразования не устраивают (хотя не понятно, какая разница для "посмотреть как будет работать реализация алгоритма quick sort на CP" какие там идут преобразования) --

Насчет преобразований типов -- просто покоробило когда писал. Неприятно.

Цитата:
перед Вами исходный код Uniform, где целое z отображается на вещественное [0,1]. Скопируйте и сделайте свою целочисленную функцию z MOD сколькоНадо.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:00 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
quick sort на CP. Реализацию алгоритма нашел на этом форуме (две реализации: одна от info21 (не рабочая -- просто не компилируется)
Это где такая??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:04 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Alexey Veselovsky писал(а):
quick sort на CP. Реализацию алгоритма нашел на этом форуме (две реализации: одна от info21 (не рабочая -- просто не компилируется)
Это где такая??


Вот вроде: viewtopic.php?f=7&t=1264&p=22323&hilit=quicksort#p22323


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:06 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Alexey Veselovsky писал(а):
Info21 писал(а):
Alexey Veselovsky писал(а):
quick sort на CP. Реализацию алгоритма нашел на этом форуме (две реализации: одна от info21 (не рабочая -- просто не компилируется)
Это где такая??


Вот вроде: viewtopic.php?f=7&t=1264&p=22323&hilit=quicksort#p22323


Хотя, посмотрел вверх по форуму, похоже это не ваш вариант а Trurl'я. А может и ещё кого, надо читать полностью ту тему. Извиняюсь. Смотрел по диагонали то что выдал поиск по форуму.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Google Code Search не знает об Оберонах
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:07 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
* Alexey Veselovsky: "решил я посмотреть как будет работать реализация алгоритма quick sort на CP. Реализацию алгоритма нашел на этом форуме ... от Ярослав Романченко -- рабочая".
* ObxRandom -- пример, взятый из указанной книги. Не базовый модуль...
* На поиск ObxRandom уважаемый Alexey Veselovsky потратил много времени из-за невнимательности: "Я его, честно говоря, и не заметил." (Ignore Case)
Вложение:
ic.PNG
ic.PNG [ 1.98 КБ | Просмотров: 13246 ]
* Сортировка и генерация случайных чисел работают...

Решил попробовать... работает...претензии... :roll:

P.S. Решать какая функциональность базовая, а какая нет, надо скорее разработчикам, либо постоянным пользователям. Но никак не решившим что-то посмотреть. По-моему разумению базовая -- часто используемая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:17 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Повторяю -- это была иллюстрация к теме "Google Code Search не знает об Оберонах" (viewtopic.php?f=27&t=1679).

Аналогичные действия для С++ не вызвали никаких проблем вообще (но это понятно, С++ я знаю), для поиска этой функциональности для Haskell-я, которого я вообще не знаю, я затратил минуту (google), на BB пришлось затратить час.

Ещё вопросы?

А генерация псевдослучайных чисел всё же базовая функциональность. Ну, либо на BB решаются какие-то сильно иные задачи нежели на C/C++/Haskell/Java/Ada/Lisp/Delphi/etc.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:41 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
И всё-таки, базовое - это основопологающее, а не частоиспользуемое (хотя одно другому не мешает).
Разработчики ББ выделили определённую нишу для своего продукта, и там необходимость в случайных числах отсутствует, поэтому этот модуль на роль базового не особо претендует.
Какая у ББ ниша? Бизнесс-приложения. Редкий экземпляр этого класса ПО не работает с БД, поэтому, отсутствие поддержки БД было бы, как минимум странным. Модуль работы с БД может служить примером базового модуля ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:55 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Alexey Veselovsky писал(а):
...
Во-первых, это в винде поиск по умолчанию нечувствителен к регистру.
Во-вторых, насколько я знаю, подсистема Obx - это примеры исходных кодов. То есть, в данной подсистеме исходник и есть самое главное. Просто Вам предлагается использовать его не совсем подходящим способом: скомпилировать и использовать : ).
В третьих, поиск в ББ и вправду не радует. Провозглашается отход от модальности и удаляются модальные окна, от которых проблем меньше, чем от режимов, устанавливаемых всякими флажками и радиокнопками. Мне, вроде, этот флажок никогда проблем не создавал, но каждый раз, когда я открываю поиск, вижу его, у меня возникает вопрос: "Почему?". Почему бы ни быть последовательным и удалить режим и отсюда? Почему бы ни сделать две кнопки: "Поиск с учётом регистра" и "Поиск без учёта регистра"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 17:57 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Valery Solovey писал(а):
И всё-таки, базовое - это основопологающее, а не частоиспользуемое (хотя одно другому не мешает).
Разработчики ББ выделили определённую нишу для своего продукта, и там необходимость в случайных числах отсутствует, поэтому этот модуль на роль базового не особо претендует.
Какая у ББ ниша? Бизнесс-приложения. Редкий экземпляр этого класса ПО не работает с БД, поэтому, отсутствие поддержки БД было бы, как минимум странным. Модуль работы с БД может служить примером базового модуля ББ.


ОК. Бизнес приложение. Хорошо. Делаем клиент-серверное нечто. При создании нового юзверя ему должен быть автоматически сгенерирован достаточно стойкий пароль (т.е. не Qwerty12). Как это сделать без генератора псевдослучайных чисел?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 18:17 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
А причём здесь пользователи? На бирже ценных бумаг несколько раз в секунду в БД добавляются данные об изменениях цен. Требуется вести статистику и, возможно, принимать некоторые решения (фильтры о дальнейшем слежении за теми или иными бумагами и т.д.). Сеть магазинов для своевременного заполнения полок своих филиалов (из большого центрального склада - так дешевле) должна опираться на статистику продаж. Если клиенты пользуются при оплате пластиковыми картами, то можно вести статистику предпочтений держателя карты или назначения постоянного дисконта. И т.д. Можно, конечно, вывести доступ к бизнесс-данным в глобальную сеть, и тогда станут необходимыми дополнительные расходы на безопасность. Изначально это не бизнес-проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 18:44 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Банальная система документооборота в конторе -- более чем бизнес приложение.
У каждого служащего свой логин и пароль.

Онлайн магазин -- логин и пароль у каждого пользователя.

Или ещё банальней -- обычный сервер irc -- у пользователей также имеются логины и пароли. И неплохо бы их генерировать автоматически.

В криптографии вроде как тоже случайные числа используются.

Да даже какой-нибудь банальный тетрис без генератора случайных чисел не сделать.

Какой-нибудь скринсейвер со звездочками.

Полно задач (в т.ч. бизнес приложений) где требуется генератор случайных чисел. То что вам не приходилось с этим сталкиваться -- ещё ни о чем не говорит.

PS. Кстати, а в каких таких "бизнес приложениях" замечено использование BB?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 18:55 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
В конце концов --- какая разница, часто используется генератор псеводслучайных чисел или нет? В ББ он есть, самому писать не надо.

Ну а что нет стандартного описания процедуры, а только ссылка на книгу "Programming in Oberon. M. Reiser and N. Wirth" - это другой вопрос. И опять же, возможности использовать процедуру он не препятствует. Только требует несколько лишних минут на разбирательство кода процедуры.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 19:43 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Alexey Veselovsky писал(а):
Да даже какой-нибудь банальный тетрис без генератора случайных чисел не сделать.
Легко. Системный таймер есть, нажатия клавиш пользователем есть. Небольшой хэш - и готово.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 20:30 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Александр Ильин писал(а):
Alexey Veselovsky писал(а):
Да даже какой-нибудь банальный тетрис без генератора случайных чисел не сделать.
Легко. Системный таймер есть, нажатия клавиш пользователем есть. Небольшой хэш - и готово.


В результате вместо нормального генератора псевдослучайных чисел накарябали свой собственный велосипед с квадратными колёсами на котором последовательность нормально не воспроизвести.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 20:38 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Александр Ильин писал(а):
Alexey Veselovsky писал(а):
Да даже какой-нибудь банальный тетрис без генератора случайных чисел не сделать.
Легко. Системный таймер есть, нажатия клавиш пользователем есть. Небольшой хэш - и готово.
Другой вариант: если генератор псевдослучайных чисел нужен, а его нету - проще всего реализовать самому. Пример ObxRandom тому подтверждение.

P.S. Несколько строчек кода ObxRandom - простого и понятного, а сколько информационного шума... Каюсь: тут причиной моя несдержанность :oops: ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 20:49 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Евгений Темиргалеев писал(а):
Александр Ильин писал(а):
Alexey Veselovsky писал(а):
Да даже какой-нибудь банальный тетрис без генератора случайных чисел не сделать.
Легко. Системный таймер есть, нажатия клавиш пользователем есть. Небольшой хэш - и готово.
Другой вариант: если генератор псевдослучайных чисел нужен, а его нету - проще всего реализовать самому. Пример ObxRandom тому подтверждение.


Эмм.. А какие ещё варианты то возможны? ;-) Спаять аппаратный генератор случайных чисел? Но это ж драйвер надо писать, т.е. получается опять же самому делать.

Не, ну можно конечно заказать разработку кому-то ещё ;-)

Но проще и правильней всего когда генератор случайных чисел входит в стандартную библиотеку языка. По кр. мере с т.з. прикладного программирования.

Иначе легко получить индусский код ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация случайных чисел
СообщениеДобавлено: Понедельник, 29 Июнь, 2009 22:03 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Но проще и правильней всего когда генератор случайных чисел входит в стандартную библиотеку языка. По кр. мере с т.з. прикладного программирования.
Не очевидно отнюдь. С гсч так нагреться можно, что ... в общем, не очевидно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB