PDA

Ver la Versión Completa : [Sintaxis] Numero random


drvedia1981
5 de septiembre de 2018, 22:18
Hola necesito generar un numero random entre 1 y 10 cual es la mejor manera.
Muchas gracias Saludos

Fito
6 de septiembre de 2018, 00:17
Hola:

Todo depende si son enteros o con decimales. Lo podés hacer con la hora del sistema, tenés hasta centésimas de segundo.

Saudos.

Fito...

drvedia1981
6 de septiembre de 2018, 02:54
Hola numeros enteros

Josber
6 de septiembre de 2018, 10:21
Si te bajas el manual de power que hice para éste foro desde https://www.cobolforo.es/showthread.php?t=831, hay un ejemplo en las sección FUNCTIONS para generar números aleatorios.

Un saludo.-

drvedia1981
12 de septiembre de 2018, 17:17
Hola josber no encuentro en el manual que me decís el ejemplo de random
Gracias

---------- Post añadido : 16:17 ---------- Post anterior : 16:15 ----------

Perdón ya esta

Joseg
13 de septiembre de 2018, 10:34
Hola necesito generar un numero random entre 1 y 10 cual es la mejor manera.
Muchas gracias Saludos


COMPUTE RANDOM-VALUE = FUNCTION RANDOM (1) * 10 + 1.

Kuk
13 de septiembre de 2018, 10:48
Joseg, esta sintaxis funciona en Fujitsu ?

Josber
13 de septiembre de 2018, 20:22
COMPUTE RANDOM-VALUE = FUNCTION RANDOM (1) * 10 + 1.


No tengo aquí a mano la sintáxis de la función RANDOM, (como ya he dicho en otro post, estoy aún reinstalando cosas), pero, suponiendo que funcionase así, el número generado, sería siempre el mismo porque la "semilla" del generador es siempre la misma, en éste caso 1, y el generador no es aleatorio si no pseudoaleatorio, que quiere decir que a misma semilla, mismo número generado.

Un saludo.-

Kuk
13 de septiembre de 2018, 21:31
Josber, correcto!

Buscar aquí RANDOM:

http://software.fujitsu.com/jp/manual/manualfiles/m140007/b1wd3304/01enz000/b1wd-3304-01enz0.pdf

Joseg
13 de septiembre de 2018, 23:51
COMPUTE RANDOM-VALUE = FUNCTION RANDOM (1) * 10 + 1.


Exemplo mais concreto:


ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 MIN-NUMBER PIC 99 VALUE 0.
01 MAX-NUMBER PIC 99 VALUE 10.
01 RANDOM-NUMBER PIC 99.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM 10 TIMES
COMPUTE RANDOM-NUMBER = FUNCTION RANDOM *
(MAX-NUMBER - MIN-NUMBER + 1) +
MIN-NUMBER
DISPLAY 'RANDOM NUMBER:' RANDOM-NUMBER
END-PERFORM.

Kuk
14 de septiembre de 2018, 09:37
Lo que también es importante aquí, es que lo que devuelve dicha funciión es un float (COMP-1) donde 0 < float < 1