| Код | program GenRand
integer :: i, timeArray(3) integer, parameter :: count = 10 real(8) :: range real(8), parameter :: rangeMin = 1, rangeMax = 9
! Initialize random seed. call itime(timeArray) i = rand (sum(timeArray))
! Generate 10 ranged random numbers. range = rangeMax - rangeMin do i = 1, count print *, rand(0) * range + rangeMin end do
print *, 'Press Enter...' read *
end program GenRand
|
Результат :
| Цитата | 4.21038365364075 1.43283370137215 6.31560850143433 6.74582481384277 5.70072698593140 5.79226350784302 8.36268424987793 5.12997293472290 6.92398452758789 5.65528631210327 Press Enter...
|
Функция rand генерит псевдослучайное число на интервале [0,1]. Умножая на длину отрезка и прибавляя минимальное значение, отображаем [0,1] в требуемый интервал, например, [1,9]. В самом начале бросается seed от системного времени - это нужно, чтобы каждый раз случайная последовательность была новой. |