viernes, 23 de marzo de 2012

UNIDAD II CLASES Y OBJETOS

Fecha: Martes 6  y Miercoles 7 de Marzo del 2012
Empezamos ésta unidad  realizando un programa para calcular el área de un circulo. Realizar este programa nos tomó varias clases y solo les voy a poner el código del programa ya terminado.

//trABAJO EN CLASE                   06/03/12   
class Punto
{
    int x,y;
    Punto()//constructor
    {
        x=0;
       y=0;
    }

    Punto(int i, int j)
    {
        x=i;
       y=j;
    }

    //METODOS de la clase
    public void setX(int i)
    {
        x=i;
    }

    public void setY(int j)
    {
        y=j;
    }
   
    public void printPunto()
    {
        System.out.println("("+x+","+y+")");
    }
}

class Circulo
{
    int r;
    Punto p;
    Circulo()
    {
        r=0;
        p=new Punto();
    }
   
    Circulo(int i, int j,int ra)
    {
        r=ra;
        p=new Punto(i,j);
    }

    Circulo(Punto p1, int ra)
    {
        p=p1;
        r=ra;
    }

    //Metodos de la clase
    public void setRadio(int ra)
    {
        r=ra;
    }
   
public void printCirculo()
    {
        System.out.println("circulo: ");
        System.out.println("Radio: "+r);
    }
}

class Circulos
{
    public static void main(String args[])
    {
        Punto p1;
        p1=new Punto();
        Punto p3=new Punto(5,-2);
        p1.printPunto();       
        p3.printPunto();
        p1.setX(4);
        p3.setY(4);
        p1.printPunto();
        p1.printPunto();
        Circulo c1;
        c1=new Circulo();
        c1.printCirculo();
        Circulo c2=new Circulo(4,3,25);
        c2.printCirculo();
        Circulo c3=new Circuloprint(p3,15);
        c3.printCirculo();
    }
}
Fecha: Jueves 8 de Marzo 2012

Este día la clase se trato de crear un programa para calcular el área y perímetro de un triángulo. El primer paso fue dibujar un triángulo en el pizarrón, una vez que dibujamos el triángulo, lo empezamos a definir especificando sus atributos que serián:
  1. Lado 1
  2. Lado 2
  3. Lado 3
  4. Base
  5. Altura
Teniendo estos datos procedimos a crear una clase donde declararamos estas propiedades.

Clase: Una clase es una colección de datos y funciones.

class Triangulo
{
     int b,h,l1,l2,l3;
     float area(int ba, int ha) //Éste es el método de la clase que utilizamos para asignar valores
    {
        b=ba;
        h=ha;
        return (b*h)/2;
    }
}

     Teniendo esta clase ya definida, el profesor dijo que lo que seguía era instanciar la clase, entonces se creó la clase principal desde donde  se instanciará.

     Instanciar: Ëste termino se refiere a crear un objeto de una clase ya definida. En este caso la clase a instanciar se llama Triangulo, que fue la que se hizo anteriormente y el objeto que se creará será  T1.

      No necesariamente el objeto debe de tener el nombre de T1, al objeto que se cree le podemos asignar el nombre que nosotros deseemos. Lo que si es obligatorio, es que lleve el nombre idéntico de la clase a la que pertenecee el objeto.

class Triangulos
{
    public static void main(String args[])
    {
        Triangulo t1=new Triangulo();
        T1.b=8;
        T2.h=3;
    }

Fecha: Viernes 9 de Marzo del 2012

En la primera unidad realizamos un programa el cual, su funcionamiento era llevar una base de datos sencilla de una biblioteca.

     En ésta unidad vamos a pasar ese programa que está realizado en DEV-C++ a JGRASP.

A la persona que le interese ver  el código hacer click en la palabra código.

Fecha: Jueves 15 de Marzo del 2012

Para éste día nos dejaron investigar lo que era la clas Scanner, las palabras reservadas, los tipos de datos primitivos en Java y los tipos de conversiones.

 Para definiar scanner encontré una página donde se explica de una manera clara y seniclla. Click aqui

Tipos de datos primitivos en Java


Palabras reservadas en Java


Conversion de datos en Java
Las conversioines más fáciles de realizar son las que se llevan a cabo entre valores enteros, flotates y doubles, a continuación se pondrán unos ejemplos:
int x;
float y;
double c;

Conversión de int a float
y=(float)x;

Conversión de float a double
c=(double)y;

Conversión de double a int
x=(int)c;

Otro tipo de conversiones son las que se llevan a cabo entre valores de String a int,double,float o vicesersa.

String res;

res= String.valueOf(x);
res= String.valueOf(y);
res= String.valueOf(c);
x.Integer.parseInt(cad);
y.float.parsefloat(cad);
c.Double.parseDouble(cad); 

 Fecha: Martes 20 de Marzo del 2012


Historia de Java


El lenguaje Java así como la maquina virtual comenzaron como un proyecto interno de Sun Microsystem en 1990. Los ingenieros de Sun no estaban satisfechos con el rendimiento de C++, por lo que James Gosling, Mike Shreridan y Patrick Naughton, junto con otros más, comenzaron a desarrollar un nuevo lenguaje, que en principio pensaron dedicar  a la programación de todo tipo de aparatos, tales como microondas, neveras, teléfonos móviles, etc.. Ellos pensaron que estos generarían muchas e importantes aplicacioens para la tecnología del futuro.
     El lenguaje tendría que obviar problemas que presenta C++, en campos tales como la programación distribuida, las aplicaciones multihilo, el manejo de la memoria y ser más sencillo de manejar que C++. finalmente se deseaban que los programas fueran portables a todo tipo de aparatos.
     Inicialmente el lenguaje se llamó Oak(en español 'roble'), en honor de un roble que había dentro de la oficina.
    En 1992 se presetó como demostración una PDA con interface gráfica y un asistente inteligente representado mediante un muñeco llamado Duke.
      Oak fue presentado a concurso como solución tecnológica en varios proyectos para la industria del cine y la televisión, pero no fue elegido. En 1994 John Gage, Jame Gosling, Bill Joy, Patrick Naughton, Wayne Rosing y Erick Schmidt se reunieron para reorientar Oak. Decidieron orientarlo hacia la tecnología de la web, pues se pensaba que tras la aparición del navegar Mosaic, ésta evolucionaria hacia la misma clase de interactividad, que la televisión por cable para la cual habían estado preparando Oak.
      Fue así mismo en 1994 cuando se cambió el nombre de Oak a Java. Poco despues aún en 1994, la plataforma Java 1.0 estaba disponible para descarga en la web.
       En 1995 Netscape anunció que incluiría soporte Java para sus navegadores, dando con esto un buen apoyo a Java.


Casteo en Java


El casting es un procedimiento para transformar una variable primitiva  de un tipo a otro, o transformar un objeto de una clase a otra clase siempre y cuando haya una relación de herencia entre ambas (éste último es el más importate).
Dentro del casting de variables primitivas se distinguen dos clases:
  1. Implicito: No se necesita escribir código apra que se lleve a cabo. Ocurre cuadno se realzia una conversión ancha(widening casting), es decir, cuando se coloca un valor pequeño en un contenedor grande.
  2. Explicito: Si es necesrio escribir  código. Ocurre cuando se realiza una conversión estrecha(narrowing castign) es decir, cuando se coloca un valor grande en un contenedor pequeño. Son susceptibles de pérdidas de datos.



CÓDIGO DEL PROGRAMA DE LAS FIGURAS

PROGRAMA

Solo para que se den una idea de como lo realicé yo de una forma sencilla, tiene algo de código redundante, pero cumple con las funciones que se pidenw

import java.util.*;
class Triangulo
{
    private double l1,l2,l3,bt,ht,at,pt;
   
    void setLados(double a,double b,double c)
    {
        l1=a;
        l2=b;
        l3=c;
    }
   
    void setBAtriangulo(double a,double b)
    {
        bt=a;
        ht=b;
    }   
   
    void imprimirAtriangulo()
    {
        at=(bt*ht)/2;
        System.out.println("\n\nEl área del triangulo es: "+at+"\n\n");   
    }
   
    void imprimirPtriangulo()
    {
        pt=l1+l2+l3;
        System.out.println("\n\nEl perímetro del triangulo es: "+pt+"\n\n\n");
    }
}

class Circulo
{
    private double ra,p,a;
   
    void setRadio(double a)
    {
        ra=a;
    }
   
    void impAC()
    {
        a=(ra*ra)*3.1416;
        System.out.println("\n\nEl área del circulo es :"+a);       
    }
   
    void impPC()
    {
        p=2*ra*3.1416;
        System.out.println("\n\nEl perímetro del circulo es :"+p);
    }
}

class Rectangulo
{
    private double br,hr,ar,pr;
   
    void setBArectangulo(double a,double b)
    {
        br=a;
        hr=b;
    }
   
    void impAr()
    {
        ar=br*hr;
        System.out.println("\n\nEl area del rectangulo es :"+ar);
    }
   
    void impPr()
    {
        pr=(br+hr)*2;
        System.out.println("\n\nEl area del rectangulo es :"+pr);
    }
}

class Figuras
{
    public static void main(String args[])
    {
    Scanner sc=new Scanner(System.in);
    int opc,opct,opcc,opcp;
    Circulo c1=new Circulo();
    Rectangulo r1=new Rectangulo();
    double a,b,c;
        do
        {
            System.out.println("\n\n\nFIGURAS GEOMÉTRICAS\n");
            System.out.println("1.- TRIANGULO");
            System.out.println("2.- CIRCULO");
            System.out.println("3.- RECTANGULO");
            System.out.println("4.- SALIR\n");
            System.out.print("Seleccione una opción  ");
            opc=sc.nextInt();
                switch(opc)
                {
                    case 1:
                        do
                        {
                            System.out.println("\n\n\n\nTRIANGULO\n");
                            System.out.println("1.- Calcular área");
                            System.out.println("2.- Calcular perímetro");
                            System.out.print("3.- Regresar al menú principal  ");
                            opct=sc.nextInt();
                            switch(opct)
                            {
                                case 1:
                                    System.out.println("\n\n\nCALCULAR ÁREA DEL TRIANGULO\n\n");
                                    System.out.print("Introduce la base: ");
                                    a=sc.nextDouble();
                                    System.out.print("Introduce la altura: ");
                                    b=sc.nextDouble();
                                    Triangulo td1=new Triangulo();
                                    td1.setBAtriangulo(a,b);
                                    td1.imprimirAtriangulo();
                                break;
                                case 2:
                                    System.out.println("\n\n\nCALCULAR PERIMETRO DEL TRIANGULO\n\n");
                                    System.out.print("Introduce la medida del lado 1: ");
                                    a=sc.nextDouble();
                                    System.out.print("Introduce la medida del lado 2: ");
                                    b=sc.nextDouble();
                                    System.out.print("Introduce la medida del lado 3: ");
                                    c=sc.nextDouble();
                                    Triangulo t1=new Triangulo();
                                    t1.setLados(a,b,c);
                                    t1.imprimirPtriangulo();
                                break;
                            }
                        }while(opct!=3);
                    break;
                    case 2:
                        do
                        {
                            System.out.println("\n\n\n\nCIRCULO\n");
                            System.out.println("1.- Calcular área");
                            System.out.println("2.- Calcular perímetro");
                            System.out.print("3.- Regresar al menú principal  ");
                            opcc=sc.nextInt();
                            switch(opcc)
                            {
                                case 1:
                                    System.out.println("\n\n\nCALCULAR ÁREA DEL CIRCULO\n\n");
                                    System.out.print("Introduce el radio: ");
                                    a=sc.nextDouble();
                                    c1.setRadio(a);
                                    c1.impAC();
                                break;
                                case 2:
                                    System.out.println("\n\n\nCALCULAR PERIMETRO DEL CIRCULO\n\n");
                                    System.out.print("Introduce el radio: ");
                                    a=sc.nextDouble();
                                    c1.setRadio(a);
                                    c1.impPC();
                                break;
                            }
                        }while(opcc!=3);
                    break;
                    case 3:
                        do
                        {
                            System.out.println("\n\n\n\nRECTANGULO\n");
                            System.out.println("1.- Calcular área");
                            System.out.println("2.- Calcular perímetro");
                            System.out.print("3.- Regresar al menú principal  ");
                            opcp=sc.nextInt();
                            switch(opcp)
                            {
                                case 1:
                                    System.out.println("\n\n\nCALCULAR ÁREA DEL RECTÁNGULO\n\n");
                                    System.out.print("Introduce la base: ");
                                    a=sc.nextDouble();
                                    System.out.print("Introduce la altura: ");
                                    b=sc.nextDouble();
                                    r1.setBArectangulo(a,b);
                                    r1.impAr();
                                break;
                                case 2:
                                    System.out.println("\n\n\nCALCULAR PERIMETRO DEL RECTANGULO\n\n");
                                    System.out.print("Introduce la base: ");
                                    a=sc.nextDouble();
                                    System.out.print("Introduce la altura: ");
                                    b=sc.nextDouble();
                                    r1.setBArectangulo(a,b);
                                    r1.impPr();
                                break;
                            }
                        }while(opcp!=3);
                    break;
                    case 4:
                    break;
                    default:
                        System.out.print("Carácter no válido");
                }
        }while(opc!=4);
    }
}

EXAMEN UNIDAD II

 PROGRAMA PARA CALCULAR ÁREA Y PERIMETRO DE FIGURAS

Hoy viernes 23 de Marzo del 2012,  el profesor Omar Perez que imparte la materia de POO, nos realizó la evaluación correspondiente a esta unidad.

Una de los problemas a resolver fue: desarrollar un programa en jGrasp el cual pudiera calcular el área y el perímetro de un circulo, triángulo y rectángulo.

De una manera muy sencilla y con ayuda de los compañeros del salon, lo pudimos resolver.

A continuación les dejo el enlace por si quieren ver el código.

miércoles, 21 de marzo de 2012

Métodos de investigación II

P  R O Y E C T O

En la materia de metodos de investigación II, estamos desarrollando un proyecto, el cual esté viculado directamente a la carrera de Ing. en Sistemas Computacionales.

     En nuestro caso obtamos por desarrollar una base de datos, la cuál estará destinada a organizar, administrar,cotrolar y agilizar la mayoría de las operaciones que se realizan dentro de una tienda de abarrotes.

     Como no somos programadores de Base de Datos expertos, ni mucho menos especialistas en el área de la investigación, nuestro trabajo no cumple con todas las espectativas propuestas en los lineamientos.Pero pues se aceptan sugerencias.
Integrantes del equipo:
  • Hugo Omar Arellano Perez
  • Saúl Gómez Quiles
  • Giovanny 
  • César
Si deseas consultar el documento sobre la investigación de este proyecto, as click aquí

sábado, 17 de marzo de 2012

Creación del blog

Este está se a creado para cumplir con las  demandas académicas a la que somos sometidos. En este apartado trataré de publicar todas mis tareas de programación y de otras materias que considere adecuadas.