Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

[SOLUCIONADO] El n-esimo numero

Estas en el tema de El n-esimo numero en el foro de Oracle en Foros del Web. Hola a todos, espero que esten bien! Agradezco a quien me pueda ayudar con esta duda facil. Veran estoy aprendiendo Pl sql, pero la capacitación ...
  #1 (permalink)  
Antiguo 17/05/2016, 06:23
Avatar de Defaced  
Fecha de Ingreso: febrero-2016
Mensajes: 60
Antigüedad: 8 años, 2 meses
Puntos: 0
El n-esimo numero

Hola a todos, espero que esten bien!

Agradezco a quien me pueda ayudar con esta duda facil.

Veran estoy aprendiendo Pl sql, pero la capacitación que me han dado ha sido muy pobre y la persona encargada solo viene un dia a la semana y ese dia no es hoy, y el dia de hoy en el trabajo se me presento un ejercicio de mostrar el n-esimo numero primo, ya tengo el codigo del numero desarrollado lo que me hace y creo yo que es lo unico es mostrar los datos del bucle(loop). Un ejemplo seria:

8 entonces que haga el bucle y me muestre el numero primo numero 8 que seria el 17.

Muchas gracias por la atencion.

*codigo*
Código SQL:
Ver original
  1. PROCEDURE NUMERO_PRIMO IS
  2. BEGIN
  3.     FOR i IN 2..:numero-1 Loop
  4.         IF MOD(:numero,i)=0 THEN
  5.             :resultado:='No es un numero primo';
  6.             Exit;
  7.         ELSE   
  8.             :resultado:='Es un numero primo';
  9.       END IF;
  10.     END loop;
  11. END;
__________________
Si tienes conocimientos y quieres enseñar, Enseña con paciencia y sin arrogancia, Recuerda que tu un día también estabas en la situación de la persona que pregunta
  #2 (permalink)  
Antiguo 17/05/2016, 06:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: El n-esimo numero

Y cual es la duda exactamente?

Por lo pronto,como SP, no tiene parametros de salida, por lo que jamás verás nada. Tampoco lo tiene de entrada ni harcodeado, con lo que no se ejecutará sin error.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/05/2016, 06:32
Avatar de Defaced  
Fecha de Ingreso: febrero-2016
Mensajes: 60
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: El n-esimo numero

Hola y gracias por tu pronta respuesta.

La duda es el como puedo mostrar el numero primo que el usuario ingreso como el del ejemplo, la entrada es :numero y vale agregare los parametros de la salida.

Edito Para explicarme mejor.

Lo que tengo que hacer es mostrar los datos del Loop y seleccionar el Numero que ingreso el usuario.. Si dijo el 3 entonces muestro el 5 que es el 3 numero primo
__________________
Si tienes conocimientos y quieres enseñar, Enseña con paciencia y sin arrogancia, Recuerda que tu un día también estabas en la situación de la persona que pregunta

Última edición por Defaced; 17/05/2016 a las 06:40 Razón: Soy un poco retardado :/
  #4 (permalink)  
Antiguo 18/05/2016, 06:19
Avatar de Defaced  
Fecha de Ingreso: febrero-2016
Mensajes: 60
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: El n-esimo numero

Posteo la solucion del problema.

Código SQL:
Ver original
  1. PROCEDURE n_esimo IS
  2. indice NUMBER(15);
  3. primos NUMBER(15);
  4. RESULT varchar2(30);
  5. BEGIN
  6.     indice := 1;
  7.     primos := -1;
  8.     while indice <= :numero1 loop
  9.       RESULT :='No es un numero primo';
  10.     while RESULT = 'No es un numero primo' loop
  11.         primos := primos + 2;
  12.         numero_primo(primos,RESULT);
  13.         Exit;
  14.         END loop;
  15.     :nesimo := primos;
  16.         indice := indice +1 ;
  17.         Exit;
  18.     END loop;
  19. END;
__________________
Si tienes conocimientos y quieres enseñar, Enseña con paciencia y sin arrogancia, Recuerda que tu un día también estabas en la situación de la persona que pregunta

Etiquetas: numero, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:06.