Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Thumbs up Sobre Int64

Buenas foristas,

Pues, tengo un pequeño problema. Debo realizar un generador de números aletorios para poder realizar los prácticos de la cátedra de Modelos y Simulación, en uno de los puntos se me pide que encuentre el período para un generador multiplicativo donde:
módulo = 10^8
semilla = 19
a = 211
Inicialmente tenía pensado que con el tipo integer iba de pelos, pero al probarlo con dicho valor, mi máquina se clavaba (como si entrara en blucles infinitos) y la ventana se ponían blanca. El algoritmo anda bien siempre que no sobrepasara los 10^6. Para poder permitir incluso números mayores, cambié por Int64, el cual segun la ayuda, permite hasta 2^63-1. Sigue funcionando bien.... pero he aquí, que inclusive así... sucede el mismo fenómeno. ¿Cómo es posible esto?...
Lo raro es que probé con generar números (con el mismo generador) de:
a = 7^5
m = 2^31-1
Como se me pide en otro de los puntos de dicho práctico y esto anda!.... bueno... al menos con la semilla que le pasé: 15 (no se especifica la semilla, es a elección)
Adjunto el código (.dpr, .dfm y .pas) por si alguien vee algo raro. La verdad es que no me explico No veo el porqué

NOTA: para hacer uso de la evaluación hago empleo de la función evaluateperiod() que se encuentra incorporada en el pas.
No se cuantos foristas entienden de lo que ando hablando... pero si alguien entiende un poquito de esto... no estaría de más una orientación. No pido una solución, sino si es posible que me indiquen o me orienten.

Saludos,
Archivos Adjuntos
Tipo de Archivo: zip Generador.zip (7,5 KB, 25 visitas)
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 04-04-2006 a las 05:19:42. Razón: Correcciones y aclaraciones
Responder Con Cita
  #2  
Antiguo 04-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Yo de esto ni idea, pero lo he puesto a correr con los siguientes parámetros:

Método: Multiplicativo
Semilla: 19
Serie : 211
Factor A: 211
Módulo: 10^8

Los resultados si salen y no da ningun error al pulsar en "Generar".
Al pulsar en "Evaluar" dice que el periodo converge en
X5.000.000 (pongo los puntos por legibilidad).

Los ultimos resultados son:
Código:
X205: 20346969
X206: 93210459
X207: 67406849
X208: 22845139
X209: 20324329
X210: 88433419

Generado en 1153 milisegundos
Estoy muy seguro de que no le paso los parámetros correctos, si puedes decir los valores usando la nomenclatura del programa, casi mejor

Por cierto, en la línea 289 si "ms" es igual a cero, se obtiene una división por cero, es una tontería... pero no está de más decirla.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 04-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¿En serio?

Pues, te lo aseguro.... ingresé esos valores.... lo intenté varias veces.... ¿será mi procesador el que no se la aguanta?

Cita:
Empezado por Lepe
Al pulsar en "Evaluar" dice que el periodo converge en
X5.000.000 (pongo los puntos por legibilidad).
¡Mi teoría esta en lo cierto! Heurísticamente, (y en base a otros ejemplos), había determinado que se encontraría allí.... gracias...

La verdad es que no se que puede ser...
Lo intentaré de nuevo...

Cita:
Empezado por Lepe
Por cierto, en la línea 289 si "ms" es igual a cero, se obtiene una división por cero, es una tontería... pero no está de más decirla.
Si, me he percatado de ello... no tuve tiempo para corregirlo
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 04-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Listo...

Pues debo decir que ahora anda todo ok.... bueno... me largó el resultado.... ¿No se que c... pasó? Se congeló por unos momentos la ventana... pero en fin funcionó!

Debe ser como digiste Lepe... a lo mejor metí muy mal el dedo

Ahora me puedo responder a un hilo muy viejo que había iniciado... el límite del STtringList... es de nada menos que de 2^16 items. Lo pude comprobar cuando ingresé que me genere 500.000 números.

Gracias Lepe y a cualquier persona que se haya molestado en leer este hilo.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 04-04-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Delphius
(...) el límite del STtringList... es de nada menos que de 2^16 items.
¿Pero no tiene que ver en cierto modo de la cantidad de memoria disponible? Es decir, que el límite dependerá, al menos también dependerá de la memoria disponible en el sistema, ¿o me equivoco? No sería de extrañar...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sobre P2P Delphius Varios 2 12-02-2005 19:22:10
Sobre BDE erfedecai Conexión con bases de datos 6 11-06-2004 13:34:27
No me permite cambiar un dominio de Int64 a integer apicito Firebird e Interbase 2 25-05-2004 19:05:04
Sobre DLL ElCherchu Varios 2 26-06-2003 19:03:42


La franja horaria es GMT +2. Ahora son las 04:25:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi