Здравствуйте. Добро пожаловать в мой скромный блог.
Сегодня я опишу генераторы случайных последовательностей числовых значений, которые используются в pgScript.
Целочисленные последовательности.
Следующая строка присвоит переменной "@Rec" значение генератора:
Min - Минимальная граница генерации чисел.
Max - Максимальная граница генерации.
Sequence - Не обязательный параметр назначающий последовательность генерации чисел. (реакция генератора различна только на нулевое и ненулевое значение данного параметра).
Seed - Не обязательный параметр обозначающий индекс числа в последовательности. Т.е. если данный параметр установлен, то генератор будет возвращать не произвольное число, а число с указанным в данном параметре индексом, не зависимо от количества обращений.
Пример использования генератора:
Результат выполнения скрипта:
[PGSCRIPT ] 5
[PGSCRIPT ] 14
[PGSCRIPT ] 6
Числа с плавающей точкой.
Формат инициализации генератора чисел с плавающей точкой немного отличается от предыдущего (целочисленного), типа. Ко всему что было ранее добавился параметр "precision", который задает точность (кол-во знаков после запятой) возвращаемого значения:
где,
precision - точность возвращаемого значения,
все остальные параметры аналогичны целочисленному генератору.
Пример:
Результат:
[PGSCRIPT ] 7.47E+0
Пример №2:
Разница лишь в точности возвращаемого значения...
Результат:
[PGSCRIPT ] 9.0827E+0\
Вот собственно и все. Мне пока больше нечего добавить по числовым генераторам. Буду пополнять пост по мере поступления новой информации.
Сегодня я опишу генераторы случайных последовательностей числовых значений, которые используются в pgScript.
Целочисленные последовательности.
Следующая строка присвоит переменной "@Rec" значение генератора:
set @Rec = INTEGER ( Min, Max, [Sequence], [Seed] );
где, Min - Минимальная граница генерации чисел.
Max - Максимальная граница генерации.
Sequence - Не обязательный параметр назначающий последовательность генерации чисел. (реакция генератора различна только на нулевое и ненулевое значение данного параметра).
Seed - Не обязательный параметр обозначающий индекс числа в последовательности. Т.е. если данный параметр установлен, то генератор будет возвращать не произвольное число, а число с указанным в данном параметре индексом, не зависимо от количества обращений.
Пример использования генератора:
declare @Rec1;
declare @Rec2;
declare @Rec3;
begin
/*генератор с диапазоном генерации от 5 до 15*/
set @Rec1 = integer(5, 15);
print @Rec1;
/*генератор с диапазоном генерации от 5 до 15. Возвращает 10-й по счету элемент генерируемой последовательности. (всегда статичен)*/
set @Rec2 = integer(5, 15, 0,10);
print @Rec2;
/*генератор с диапазоном генерации от 5 до 15 с измененной последовательностью генерации*/
set @Rec3 = integer(5, 15, 1);
print @Rec3;
end
Результат выполнения скрипта:
[PGSCRIPT ] 5
[PGSCRIPT ] 14
[PGSCRIPT ] 6
Числа с плавающей точкой.
Формат инициализации генератора чисел с плавающей точкой немного отличается от предыдущего (целочисленного), типа. Ко всему что было ранее добавился параметр "precision", который задает точность (кол-во знаков после запятой) возвращаемого значения:
REAL(min, max, precision, [sequence], [seed]);
где,
precision - точность возвращаемого значения,
все остальные параметры аналогичны целочисленному генератору.
Пример:
declare @Rec1;
begin
/*генератор с диапазоном генерации от 5 до 15 c точностью 2...*/
set @Rec1 = real(5, 15, 2);
print @Rec1;
end
begin
/*генератор с диапазоном генерации от 5 до 15 c точностью 2...*/
set @Rec1 = real(5, 15, 2);
print @Rec1;
end
Результат:
[PGSCRIPT ] 7.47E+0
Пример №2:
Разница лишь в точности возвращаемого значения...
declare @Rec1;
begin
/*генератор с диапазоном генерации от 5 до 15 c точностью 5...*/
set @Rec1 = real(5, 15, 5);
print @Rec1;
end
begin
/*генератор с диапазоном генерации от 5 до 15 c точностью 5...*/
set @Rec1 = real(5, 15, 5);
print @Rec1;
end
Результат:
[PGSCRIPT ] 9.0827E+0\
Вот собственно и все. Мне пока больше нечего добавить по числовым генераторам. Буду пополнять пост по мере поступления новой информации.
Комментариев нет:
Отправить комментарий