Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 00:17   #1
igor_564
Пользователь
 
Аватар для igor_564
 
Регистрация: 05.12.2009
Сообщений: 52
По умолчанию Генератор случайных ВЕЩЕСТВЕННЫХ чисел (Паскаль)

Я знаком с функцией random(x) в Паскале, но она генерирует случайные целые положительные числа.
Есть ли в Паскале генератор случайных вещественных чисел?
Здорово бы ещё было чтоб они были отрицательными и положительными. Если такой функции нет то просто направьте меня в нужном направлении (если можно это как-то реализовать через другие операторы).
igor_564 вне форума Ответить с цитированием
Старый 11.12.2009, 00:24   #2
Vistar
учащийся
Форумчанин
 
Аватар для Vistar
 
Регистрация: 26.04.2009
Сообщений: 144
По умолчанию

x := Random(50)-25
что то типа этого. тоисть генерируеш число и от него отнимаеш какое то число. вот этот пример будет генерировать число от -25 к 50.. Randomize не забудь..

Последний раз редактировалось mihali4; 11.12.2009 в 13:53.
Vistar вне форума Ответить с цитированием
Старый 11.12.2009, 00:30   #3
igor_564
Пользователь
 
Аватар для igor_564
 
Регистрация: 05.12.2009
Сообщений: 52
По умолчанию

Спасибо, хорошая мысль.

P. S. Если у кого ещё есть мысли --- буду рад!
P. S. Что-то у меня и без Randomize хорошо работает. Хотя везде о нём пишут.

Последний раз редактировалось igor_564; 11.12.2009 в 00:36.
igor_564 вне форума Ответить с цитированием
Старый 11.12.2009, 03:43   #4
Vistar
учащийся
Форумчанин
 
Аватар для Vistar
 
Регистрация: 26.04.2009
Сообщений: 144
По умолчанию

Без Randomize программа будет генерировать одно и то же число вообщето.
Vistar вне форума Ответить с цитированием
Старый 11.12.2009, 04:41   #5
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
randomize;
xr:=random(100)-70+random(100000)/100000;
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 11.12.2009, 12:31   #6
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

randomize;
xr:=random(1000)/(random(1000)-random(1000));
bondik вне форума Ответить с цитированием
Старый 11.12.2009, 18:52   #7
ivashka_1
Новичок
Джуниор
 
Аватар для ivashka_1
 
Регистрация: 11.12.2009
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Vistar Посмотреть сообщение
Без Randomize программа будет генерировать одно и то же число вообщето.
Ну вообще то да
ivashka_1 вне форума Ответить с цитированием
Старый 11.12.2009, 19:30   #8
igor_564
Пользователь
 
Аватар для igor_564
 
Регистрация: 05.12.2009
Сообщений: 52
По умолчанию Итог

Ага, понял. Спасибо огромное!

P. S. Вот что в итоге получилось:
Код:
program len; {Для тех, кому не хочется придумывать 100
и более вещественных элементов массива}
var
vvod : text;
i : integer;
x : real;
begin
assign(vvod, 'C:\BP\My_pro~1\Level_4\TXT\files\vvod.txt'); rewrite(vvod);
randomize;
for i:=1 to 1001 do begin
					x:=random(1001)/(1+random(1001))-random(101)/(1+random(101));
					writeln(vvod, x:10:3);
					end;
end.
P. S. Исправил.

Последний раз редактировалось igor_564; 11.12.2009 в 21:28.
igor_564 вне форума Ответить с цитированием
Старый 11.12.2009, 21:24   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

igor_564
это плохой КОД!
Т.к. функция random генерит числа от нуля, то Вы можете иногда получать исключения вида Divide by Zero
(деление на ноль)
рекомендую везде, где вы делите на randоm сдвинуть шкалу, увеличив делитель на единицу. Например, так:
Код:
x:=random(1001)/(1+random(1000))-random(101)/(1+random(100));

Последний раз редактировалось Serge_Bliznykov; 11.12.2009 в 21:27.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2009, 20:45   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

http://www.programmersforum.ru/showthread.php?t=75628
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
генератор случайных чисел на С++ ANTI Общие вопросы C/C++ 20 12.04.2009 13:02
Генератор случайных чисел psychopat Общие вопросы Delphi 11 18.02.2009 10:39
Массивы и генератор случайных чисел Psyka Помощь студентам 6 31.07.2008 05:53
Генератор случайных чисел в СМО Shoker Помощь студентам 1 13.10.2007 08:40
Свой генератор случайных чисел max4d Помощь студентам 15 03.04.2007 18:27