Documente Academic
Documente Profesional
Documente Cultură
RANDOM_NUMBER (R)
RPTA
Rpta==’No’ SI
NO
FIN
II. Algoritmo
Paso 1: Inicio del programa
Paso 2: Inicio del lazo DO 1
Paso 3 : Ingresar la cantidad de números aleatorios: N
Paso 4: Inicio del contador Do1: I=1, N
Paso 5: Call Random number (R)
Paso 6: Mostrar el número aleatorio: R
Paso 7: Fin del contador DO 1
Paso 8: Ingreso de respuesta.
Paso 9: Si respuesta =
SI---> EXIT
NO------> CONTINUAR
Paso 10: Fin del programa
III. Codificación
PROGRAM GENERADOR_NUMERO_ALEATORIO_VECTORIAL
IMPLICIT NONE
REAL, DIMENSION(:), ALLOCATABLE::R
INTEGER::N
CHARACTER (2)::RPTA
PRINT*,''
PRINT*,'****************************************************************************'
PRINT*,' PROGRAMA PARA GENERAR NUMEROS ALEATORIOS VECTORIALES’
PRINT*,' PARA N VALORES '
PRINT*,'***************************************************************************'
DO
PRINT*,'INGRESAR LA CANTIDAD DE VALORES DEL VECTOR'
READ*,N
ALLOCATE(R(N))
CALL RANDOM_NUMBER(R)
PRINT '(E14.7)',R
DEALLOCATE(R)
PRINT*,'¿DESEA CONTINUAR?'
READ*, RPTA
IF (RPTA=='NO') EXIT
END DO
END PROGRAM
IV. Verificación
2.- .- Realizar un programa para generar números aleatorios vectoriales para “N” valores,
también realizar su respectivo diagrama de flujo, algoritmo, la codificación y verificación.
RANDOM_NUMBER (R)
RPTA
FIN
II. Algoritmo
Paso 1: Inicio del programa
Paso 2: Inicio del lazo DO 1
Paso 3 : Ingresar la cantidad de números aleatorios: N
Paso 4: Inicio del contador Do1: I=1, N
Paso 5: Call Random number (R)
Paso 6: Mostrar el número aleatorio: R
Paso 7: Fin del contador DO 1
Paso 10: Fin del programa
III. Codificación
PROGRAM GENERADOR_NUMERO_ALEATORIO_VECTORIAL
IMPLICIT NONE
REAL, DIMENSION(:), ALLOCATABLE::R
INTEGER::N
PRINT*,''
PRINT*,'****************************************************************************'
PRINT*,' PROGRAMA PARA GENERAR NUMEROS ALEATORIOS VECTORIALES’
PRINT*,' PARA N VALORES '
PRINT*,'***************************************************************************'
DO
PRINT*,'INGRESAR LA CANTIDAD DE VALORES DEL VECTOR'
READ*,N
ALLOCATE(R(N))
CALL RANDOM_NUMBER(R)
PRINT '(E14.7)',R
DEALLOCATE(R)
END DO
END PROGRAM
IV. Verificación
GENERADOR DE NUMEROS ALEATORIOS
1.- Realizar un programa para generar números aleatorios vectoriales usando el método de
congruencia lineal para “N” valores, también realizar su respectivo diagrama de flujo,
algoritmo, la codificación y verificación
I.-Diagrama de flujo INICIO
𝑥𝜙 , 𝑎, 𝑐, 𝑚
𝛽 I=1,N
𝑥1 = (𝑎 + 𝑥𝜙 + 𝑐)𝑚𝑜𝑑 𝑚
𝑥1
𝑅 = 𝑥2 /𝑚
𝑥𝜙 = 𝑥1
𝛽
𝑥𝜙
FIN
II. Algoritmo
Paso 1: Inicio del programa.
Paso 2: Ingresar los valores iniciales : 𝑥𝜙 , 𝑎, 𝑐, 𝑚
Paso 3: Ingresar la cantidad de números aleatorios: N
Paso 4: Inicio del Lazo DO 1: I = 1, 𝑁
Paso 5: Calcular: 𝑥1 = (𝑎 + 𝑥𝜙 + 𝑐)𝑚𝑜𝑑 𝑚
III. Codificación
PROGRAM CONGRUENCIA_LINEAL
IMPLICIT NONE
DOUBLE PRECISION,DIMENSION(4)::X1,R,X0
DOUBLE PRECISION::a,c,m
INTEGER:: I,N
PRINT*,'********************************'
PRINT*,'GENERADORES DE NUMEROS ALEATORIOS '
PRINT*,'*********************************'
PRINT*,'METODO DE CONGRUENCIAL LINEAL'
PRINT*,'*********************************'
PRINT*,'INGRESE LOS VALORES INICIALES'
PRINT*,'============================='
PRINT*,'INGRESAR SEMILLA'
READ*,X0
PRINT*,'INGRESAR EL MULTIPLICADOR CONSTANTE'
READ*,a
PRINT*,'INGRESAR EL INCREMENTO Y EL MODULO'
READ*,c,m
PRINT*,'INGRESE LA CANTIDAD DE NUMEROS ALEATORIOS'
READ*,N
DO I=1,N
X1=MOD(a*X0+C,M)
R=X1/m
PRINT*,R
X0=X1
END DO
END PROGRAM CONGRUENCIA_LINEAL
V. Verificación
2.- Realizar un programa para generar números aleatorios vectoriales con estructura de
repetición usando el método de congruencia lineal para “N” valores, también realizar su
respectivo diagrama de flujo, algoritmo, la codificación y verificación.
𝑥𝜙 , 𝑎, 𝑐, 𝑚
𝛽 I=1,N
𝑥1 = (𝑎 + 𝑥𝜙 + 𝑐)𝑚𝑜𝑑 𝑚
𝑥1
𝑅 = 𝑥2 /𝑚
𝑥𝜙 = 𝑥1
𝑥𝜙
𝛽
𝑅𝑃𝑇𝐴
RPTA==SI NO
𝜃 Si
FIN
II.- Algoritmo.
Paso 1: Inicio del programa.
Paso 2: Inicio del lazo DO 1
Paso 3: Ingresar los valores iniciales: 𝑥𝜙 , 𝑎, 𝑐, 𝑚
Paso 4: Ingresar la cantidad de números aleatorios: N
Paso 5: Inicio del Lazo DO 2: I = 1, 𝑁
Paso 6: Calcular : 𝑥1 = (𝑎 + 𝑥𝜙 + 𝑐)𝑚𝑜𝑑 𝑚
DO
PRINT*,'*********************************'
PRINT*,'INGRESE LOS VALORES INICIALES'
PRINT*,'============================='
PRINT*,'INGRESAR SEMILLA'
READ*,X0
PRINT*,'INGRESAR EL MULTIPLICADOR CONSTANTE'
READ*,a
PRINT*,'INGRESAR EL INCREMENTO Y EL MODULO'
READ*,c,m
PRINT*,'INGRESE LA CANTIDAD DE NUMEROS ALEATORIOS'
READ*,N
DO I=1,N
X1=MOD(a*X0+C,M)
R=X1/m
PRINT*,R
X0=X1
END DO
PRINT*,'*****************'
PRINT*,'CONTINUAR (SI/NO) '
READ*,RPTA
IF(RPTA/="SI")EXIT
END DO
END PROGRAM CONGRUENCIA_LINEAL
IV. Verificación.