sábado, 28 de septiembre de 2013

PseudoCodigo Numeros Primos

No encontre el pseudocódigo, pero ya entendí como hacerlo de forma simple:


Veamos el codigo…

A continuación tenemos la clase Nprimos, esta clase tiene 2 metodos, el metodo iniciar() y el metodo esPrimo(), vemos que la clase iniciar tiene un parametro el cual es un numero que sera nuestro limite(hasta que numero quiero contar numeros primos), y el numero esPrimo() tiene un parametro que es un unico numero, el metodo determina si el numero es primo y regresa un valor de “true” o Verdadero si lo es, si el numero no es primo regresa un valor falso (false).

Codigo normal:
01public class Nprimos {
02
03public void iniciar(int limite)
04{
05
06for(int i=1;i<=limite;i++)
07
08{
09
10if(esPrimo(i))
11
12{
13System.out.println("Numero Primo:"+i);
14}
15}
16}
17
18public boolean esPrimo(int numero)
19{
20int aux;
21for(int cont=2;cont<numero;cont++)
22{
23aux=numero%cont;
24if(aux==0)
25return false;
26}
27return true;
28}
29}



Codigo explicado:
01public class Nprimos {    
02
03public void iniciar(int limite = 100;) //<- declaramos el límite
04{
05
06for(int i=1;i<=limite;i++) //-> creamos una variable que sea igual a 1 
// que sea menor que el límite y que vaya incrementándose en 1
07
08{
09
10if(esPrimo(i)) //<--esta es una funcion (subproceso) que se explica mas abajo:
11
12{
13System.out.println("Numero Primo:"+i); // aquí devuelve el resultado
14}
15}
16}
17
18public boolean esPrimo(int numero) <-- recibimos el numero que era "i" y le
preguntamos si es primo de la siguiente forma:
19{
20int aux;  -> declaramos una nueva variable que nos va a servir para realizar la operación
21for(int cont=2;cont<numero;cont++) //- como sabemos un numero primo es divisib//le para la unidad y para el mismo num por eso en esta parte declaramos 1 nue//va variable que sea mayor a 1 osea "2" y que sea menor a el número osea "i" y que se vaya incrementando +1, pero bajo los rangos indicados (2<cont<numero)
22{
23aux=numero%cont; // sacamos el residuo de la division entre numero y cont
24if(aux==0)  // y si el resultado es igual a cero
25return false; // no es un numero primo
26}
27return true; //caso contrario es verdadero y devuelve el resultado(ver arriba)
28}
29}

Solo la explicación:



1. declaramos el límite
2. creamos una variable que sea igual a 1 // que sea menor que el límite y que vaya incrementándose en 1

3. recibimos el numero que era "i" y le preguntamos si es primo de la siguiente forma:
204. declaramos una nueva variable que nos va a servir para realizar la operación
215.como sabemos un numero primo es divisib//le para la unidad y para si mismo por eso en esta parte: declaramos una nue//va variable que sea mayor a 1 osea "2" y que sea menor a el número osea "i" y que se vaya incrementando +1, pero bajo los rangos indicados (2<cont<numero)
226. aux=numero%cont; // sacamos el residuo de la division entre numero y cont
23y si el resultado es igual a cero


257. si es falso: no es un numero primo por que tiene mas de 2 divisores.
26

 //caso contrario 
8. es verdadero y devuelve el resultado
12


14


Espero que les sirva ahora sí a armar el pseudo código!!!




No hay comentarios:

Publicar un comentario