CLS LOCATE 10, 1: PRINT "Universidad Nacional de Educacion a distancia (UNED)." LOCATE 11, 1: PRINT "Departamento de ciencias y tecnicas fisico - quimicas." LOCATE 12, 1: PRINT "Asignatura Metodos teoricos de la quimica - fisica." LOCATE 13, 1: PRINT "Alumno: Francisco Cabot Pol n§ matricula 09-96-00766" LOCATE 14, 1: PRINT "Problema:Generar una secuencia de numeros aleatorios uniformemente distribuidos en el intervalo(0, 1) mediante el algoritmo de las congruencias y con un periodo de 1024 elementos" LOCATE 17, 1: PRINT "Solucion: En este caso vamos a utilizar para compara con el ejercicio mmqf.bas la serie de 1024 elementos producida por el numero pseudoaleatorio rnd producido por el ordenador y observaremos mas tarde por el efecto Marsaglia que es tan aceptable o mas" DO WHILE INKEY$ = "" LOCATE 23, 1: PRINT "presione cualquier tecla y continue" LOOP CLS c = 0 FOR n = 0 TO 1023 PRINT n + 1, RND c = c + RND NEXT n LOCATE 22, 1: PRINT "final primera secuencia de numeros aleatorios" DO WHILE INKEY$ = "" LOCATE 23, 1: PRINT "presione cualquier tecla y continue" LOOP CLS LOCATE 1, 1: PRINT "2§ Estudiar la calidad de esta secuencia:" LOCATE 5, 10: PRINT " a) test de momentos" m = c / 1024 LOCATE 7, 1: PRINT "Valor medio =sumatorio xi/1024", m LOCATE 15, 1: PRINT "Desviacion tipica" e = 0 FOR n = 0 TO 1023 d = (RND - m) ^ 2 e = e + d IF n = 1023 THEN LOCATE 19, 1: PRINT "raiz del sumatorio (x-)^2/1024=", (e / 1024) ^ .5 NEXT n DO WHILE INKEY$ = "" LOCATE 23, 1: PRINT "presione cualquier tecla y continue" LOOP CLS PRINT "b) busqueda del efecto Marsaglia." LOCATE 19, 1: PRINT "Solucion:Realizaremos un tramado de lineas correspondientes a los xi para ver las irregularidades" DO WHILE INKEY$ = "" LOCATE 23, 1: PRINT "presione cualquier tecla y continue" LOOP SCREEN 12 FOR n = 8 TO 611 STEP 1 z = RND LINE (0, z * 612)-(612, z * 612), 3 z = RND LINE (z * 612, 0)-(z * 612, 612), 6 NEXT n DO WHILE INKEY$ = "" LOCATE 23, 1: PRINT "presione cualquier tecla y continue" LOOP CLS LOCATE 1, 1: PRINT " 3§ utilizando la secuencia anterior obtener una nueva secuencia de numeros aleatorios distribuidos de acuerdo con la siguiente funcion (densidad) de distribucion de probabilidades:" LOCATE 3, 1: PRINT "p(x)=2x si 0=sumatorio xi/1024", m / 1024 LOCATE 15, 1: PRINT "Desviacion tipica" e = 0 FOR n = 0 TO 1023 d = ((RND ^ .5) - (m / 1024)) ^ 2 e = e + d IF n = 1023 THEN LOCATE 17, 1: PRINT "raiz del sumatorio (x-)^2/1024=", (e / 1024) ^ .5 NEXT n