Age: 46 Joined: 05 Nov 2007 Posts: 725 Location: КраснАдар
Posted: Mon Nov 26, 2007 11:14 am Post subject:
Можно выбирать:
1. Классы CL_ABAP_RANDOM*
2. Группа функций F052
3. ФМ BKK_RANDOM - на вход надо дать макс.предел, т.е. 10 в Вашем случае
4. поиск по маске*RANDOM* и *RND* в se37 тоже может дать результат
решил использовать этот класс, но почему то он генерирует постоянно одинаковые числа: 3 раза компилировал и 3 раза одни и теже значения получались
Code:
REPORT ZPAI_TEST2.
DATA prng TYPE REF TO CL_ABAP_RANDOM_PACKED.
data: a TYPE CL_ABAP_RANDOM_PACKED=>P31_0,
b TYPE CL_ABAP_RANDOM_PACKED=>P31_0,
c TYPE CL_ABAP_RANDOM_PACKED=>P31_0,
n type i value 5.
data: root1 type p DECIMALS 2,
root2 type p DECIMALS 2,
temp type p DECIMALS 2.
do n times.
perform solution.
enddo.
form solution.
if not prng is bound.
prng = CL_ABAP_RANDOM_PACKED=>create( min = -10 max = 10 ).
endif.
a = prng->get_next( ).
b = prng->get_next( ).
c = prng->get_next( ).
temp = b ** 2 - 4 * a * c .
if temp >= 0.
root1 = - b - sqrt( temp ).
root2 = - b + sqrt( temp ).
write: / 'a=',a,' ','b=',b,' ','c=',c,' ','root1=',root1,' ','root2=',root2.
else.
WRITE / 'Quadratic Root <0'.
endif.
endform.
в чем может быть дело??
а, и еще, почему у меня на экран в отчете выводится большой пробел после "=", а потом только значение?
Age: 170 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Fri Sep 26, 2008 5:40 pm Post subject:
Практически при работе с любой функцией генерации случ. чисел сначала нужна инициализация начальным значением, например текущей датой и временем.
У меня нет данного класса, версия старая, может метод seed инициализирует. Пример из ABAP language news
Code:
*Create 100 2-tupels of type P(8) with random seed:
DATA: prng TYPE REF TO cl_abap_random_packed,
seed TYPE i, p1 TYPE p, p2 TYPE p.
seed = cl_abap_random=>seed( ).
prng = cl_abap_random_packed=>create( seed = seed
min = -999999999999999 max = 999999999999999 ).
DO 100 TIMES.
p1 = prng->get_next( ). p2 = prng->get_next( ).
...
ENDDO.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.