Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por roman
Una pregunta: ¿cómo se hace esta inicialización? Porque la respuesta inmediata sería: aleatoriamente, pero supongo que si así fuera entonces también podrían generarse verdaderos números aleatorios sin necesidad de randomize.

// Saludos
En el caso de delphi utiliza el valor de los contadores de alta precisión, o en su defecto el valor de Gettickcount.

Código Delphi [-]
procedure Randomize;
{$IFDEF LINUX}
begin
  RandSeed := _time(nil);
end;
{$ENDIF}
{$IFDEF MSWINDOWS}
var
  Counter: Int64;
begin
  if QueryPerformanceCounter(Counter) then
    RandSeed := Counter
  else
    RandSeed := GetTickCount;
end;
{$ENDIF}
Responder Con Cita
  #2  
Antiguo 13-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Volviendo al problema de generar "verdaderos" números aleatorios, no hay forma de generarlos por software. Existen aparatos electrónicos que aprovechando distintas características físicas de los materiales intentan generar números aleatorios, otros usan sistemas tan ingeniosos como usar una consulta a google para generar los números, la entrada de audio de la tarjeta de sonido, o servidores que generan números aleatorios a partir de las peticiones que se le hacen a través de la red, etc ...
Responder Con Cita
  #3  
Antiguo 14-11-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Como ya viste en la respuesta de seoane, esta relacionado con el tiempo de encendido de la maquina.

Pero porque no es valida como generador de numeros aleatorios?
xq imaginate el caso extremo de llamarla sucesivamente a la misma funcion en intervalos de tiempo muy pequeños, estariamos obteniendo numeros sucesivos.

La generación de numeros aleatorios es todo una ciencia, pero para mundanos como nosotros la función Random es perfecto para lo que necesitamos

Con exepción de nuestro amigo Fede
__________________
[Crandel]
Responder Con Cita
  #4  
Antiguo 14-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Alguna vez leí de un método que tenía que ver con los movimientos del ratón que hiciera el usuario. Creo que era para generar un número de serie.

Cita:
Empezado por Crandel
La generación de numeros aleatorios es todo una ciencia
No lo dudo. Nunca me metía a estudiar eso pero sí recuerdo que de hecho había discusión en cuanto a si realmente existía tal cosa como un número aleatorio.

La secuencia que usa el Random, ¿de dónde la saca?

¿Qué pasa con Federico? ¿A él no le es suficiente?

// Saludos
Responder Con Cita
  #5  
Antiguo 14-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por roman
Alguna vez leí de un método que tenía que ver con los movimientos del ratón que hiciera el usuario. Creo que era para generar un número de serie.
Yo he visto un sistema similar en el programa TrueCrypt para generar las claves. Aquí dejo, modestamente, un ejemplo de como lo haría yo.

Cita:
Empezado por roman
La secuencia que usa el Random, ¿de dónde la saca?
Me uno a ti en la duda ¿alguien sabe cual es exactamente el algoritmo que usa la función random?
Archivos Adjuntos
Tipo de Archivo: zip Aleator.zip (5,8 KB, 97 visitas)
Responder Con Cita
  #6  
Antiguo 08-12-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por roman
¿Qué pasa con Federico? ¿A él no le es suficiente?
Será porque me dedico a la industria del juego (soy el de la izquierda), y existen estándares que tienen ciertas exigencias con respecto a los RNG´s.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Diferencia entre Consultas santi33a MS SQL Server 1 08-11-2005 08:19:22
Diferencia entre .GDB y .FDB CarlosHernandez Firebird e Interbase 3 14-09-2005 04:08:49
Diferencia entre versiones. Markos1970 Debates 6 14-07-2005 21:56:17
Diferencia entre fechas.... seb@ OOP 1 21-08-2003 15:57:22


La franja horaria es GMT +2. Ahora son las 10:40:02.


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