Está en la página 1de 6

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERIA EN SISTEMAS


PROGRAMACION II
TRABAJO EN CLASE #1
Nombre: Diego Andrs Lozano Delgado
Fecha: 06/02/2012
Grupo: Gr1

1.- CDIGO FUENTE


PAQUETE .NUMERO
package com.epn.Numero;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Numero {
private int num;
//Constructor en cero
public Numero()
{
super();
this.num=0;
}
//Constructor desde programa principal
public Numero(int numero)
{
super();
this.num=numero;
}
//Constructor lee
public Numero(String titulo)
{
super();
InputStreamReader isr= new InputStreamReader(System.in);
BufferedReader br= new BufferedReader(isr);
System.out.println("\nFavor ingrese el numero "+titulo+"\n");
try
{
System.out.print("Numero= ");

this.num=Integer.parseInt(br.readLine());
}
catch (IOException e)
{
System.out.println("Error reading from user");
}
}
//Metodo
public boolean perfecto()
{
int contador=2;
int variable2=0;
int aux=0;
int aux2=0;
boolean resultado;
for (int i=1;i<this.num;i++)
{
if((this.num%contador)==0)
{
variable2=this.num/contador;
//System.out.println(variable2);
aux=variable2;
aux2=aux+aux2;
//System.out.println(aux2);
}
contador++;
}
if(aux2==this.num)
{
resultado=true;
}
else
{
resultado=false;
}
return resultado;
}
//Calcular si el numero es par
public boolean par()
{
if (this.num%2==0)
{
return true;
}
else
{
return false;
}
}
//Calcular si el numero es primo
public boolean primo()
{
int contadorPrimo=0;
for (int i=1;i<=this.num;i++)
{
if (this.num%i==0)

{
contadorPrimo++;
}
}
if(contadorPrimo==2)
{
return true;
}
else
{
return false;
}
}
//Calcula la suma de los digitos
public int sumaDigitos()
{
int suma=0;
int aux=this.num;
while(aux!=0)
{
suma=suma+(aux%10);
aux=aux/10;
}
return suma;
}
//Calcula el factorial del numero
public long factorial()
{
long fac=1;
for (int i=1;i<=this.num;i++)
{
fac=fac*i;
}
return fac;
}
public String toString()
{
return "\nEl numero que ingreso es: "+this.num+"\n";
}
}

PAQUETE .APLICACION
package com.epn.Aplicacion;
import com.epn.Numero.Numero;
public class Aplicacion {
public static void main(String[] args) {
Numero numero3= new Numero("");
System.out.println(numero3);
if (numero3.perfecto())
{
System.out.println("El numero es perfecto");

}
else
{
System.out.println("El numero no es perfecto");
}
if (numero3.par())
{
System.out.println("El numero es Par");
}
else
{
System.out.println("El numero no es Par");
}
if (numero3.primo())
{
System.out.println("El numero es Primo");
}
else
{
System.out.println("El numero no es Primo");
}
System.out.println("\nEl factorial del numero es igual a:
"+numero3.factorial());
System.out.println("\nLa suma de sus digitos es igual a:
"+numero3.sumaDigitos());
}
}

2.- RESULTADOS:
A continuacin se muestra la pantalla de resultados de la aplicacin:

Aqu se puede observar que la aplicacin se ejecuta correctamente, y que


adems cumple con las especificaciones y los mtodos que deban incluirse.
Presentando todo de una manera ordenada y entendible. Realizando el
factorial y la suma de los dgitos.

3.- QUE APREND?


Lo que pude aprender en la prctica y en este ejercicio, fue como usar las
estructuras de control, realizar un algoritmo sobre procesos repetitivos,
adems pude aprender acerca de las estructuras con nmeros grandes, la
estructura de la POO y la estructura de los mtodos para realizar varias
acciones sobre el mismo objeto, todo esto dentro de una clase.

4.- CONCLUSIONES
Se concluye que los mtodos constructores son muy tiles en el
momento de inicializar un objeto y que dependiendo de la aplicacin a
la que se le va dar al objeto es de mucha utilidad
Se concluye que el polimorfismo de las distintas funciones nos permite
aprovechar de una mejor manera los mtodos de una clase o de varias
clases, permitiendo optimizar nuestro programa.
Se concluye que el entorno de JAVA mediante la POO es muy til para
una buena programacin, adems el uso de la POO nos permite una
facilidad en el uso de los mtodos para as poder optimizar la
programacin.
Se concluye que la recursividad nos permite optimizar un programa
con pocas instrucciones, adems de hacerlo mas sencillo con solo unas
cuantas condiciones.

5.- RECOMENDACIONES
Se recomienda utilizar mucho mas la recursividad en procesos que se
repiten con las mismas caractersticas, adems de una mejor
impresin, en una ventana o en un archivo para un mejor manejo,
adems de el uso de conversin a cadenas de las distintas variables,
para una mejor manipulacin de los datos para la conveniencia del
programa.

6.- BIBILOGRAFA

Como Programar en JAVA Deitel & Deitel 5ta Ed.


Apuntes de Clase
Tutora en Clase Ing. Maritzol Tenemaza

También podría gustarte