Generar numeros Aleatorios y guardarlos en una Tabla – PL/SQL [ORACLE]
Viernes, 4 de febrero de 2011
3 comentarios
Aqui se pide al usuario un numero al que se le aplicara la formula para dar numeros aleatorios , a este numero lo dividimos entre 1000 y comprobamos si la parte entera esta entre 1 y 49 , si se cumple la condicion vamos almacenandolo en la tabla hasta tener los 6 numeros (de 1 o 2 cifras), luego imprmimos la tabla para mostrar los numeros.
Salida:
Introduzca un valor para numero_inicial: 15 Numeros Aleatorios: 37 41 49 16 48 45 Procedimiento PL/SQL terminado correctamente.
Codigo:
set termout on;
set serveroutput on;
set ver off;
declare
inicial number :=0;
repetida boolean := false;
n number :=1;
numero number := 1;
type tabla is table of number index by binary_integer;
aleatorios tabla;
begin
/*Pedir el Numero Inicial al Usuario*/
inicial := '&numero_inicial';
/* Inicializar la tabla en 0 */
for j in 1..6 loop
aleatorios(j) := 0;
end loop;
/* Alamacenar los 6 numeros aleatorios que cumplan las condiciones */
while n < = 6 loop
/* FORMULA */
inicial := MOD((25173 * inicial + 13849 ),65536);
/* Guardar en Numero la parte entera del numero aleatorio dividido entre mil */
numero := floor(inicial / 1000);
/* Comprobar que el numero este entre 1 y 49 */
if numero >0 AND numero < = 49 then
/* Recorrer la tabla buscando que el numero no este repetido*/
for k in 1..6 loop
if aleatorios(k) = numero then
repetida := true;
exit;
end if;
end loop;
/* Si NO esta repetida lo guardamos en la posicion de la tabla y si lo esta ponemos a False de nuevo la variable */
if repetida = false then
aleatorios(n) := numero;
n := n +1;
else
repetida := false;
end if;
end if;
end loop;
/* Imprimimos la tabla con los 6 numeros */
dbms_output.put_line ('
');
dbms_output.put_line ('Numeros Aleatorios:');
for i in 1..6 loop
dbms_output.put(rpad(aleatorios(i),5));
end loop;
dbms_output.put_line (' ');
end;
/
Terminos de Busqueda:
- multiplos de 7 en oracle
- numeros random en sql de oracle
- obtener la parte decimal de numero plsql
- obtener multiplo de 10 en oracle
- oracle aleatorio
- oracle preguntar si una cifra es multiplo
- pl sql binario
- pl sql pide un numero
- pl/sql multiplos de 2 loop
- sacar numeros aleatorio en oracle
- sql obtener parte decimal numero
- tablas secuenciales sql
- numero aleatorio de 2 digitos oracle
- aleatorio plsql entre dos numeros
- ingrese un numero aleatorio procedimiento en plsql
- autogenerar un numero en sql
- crear numero aleatorio oracle
- ejercicios con while en pl/sql
- error while () loop oracle
- escriba los n primeros múltiplos de visual basic
