martes, 10 de diciembre de 2013

AGRADECIMIENTOS









¡¡¡GRACIAS!!! A TODOS NUESTROS COMPAÑEROS DE CLASES POR SU AMISTAD, POR ESTAR SIEMPRE CON NOSOTROS, POR  SOPORTARNOS, AYUDARNOS, APESAR DE LAS DIFERENCIAS PERO SIEMPRE HEMOS RECIBIDO DE SU APOYO.
SOBRE TODO GRACIAS AL PROFESOR GUSTAVO POR SU TIEMPO Y DEDICACIÓN HACIA TODOS NOSOTROS.


¡¡¡GRACIAS A TODOS, DIOS LOS BENDIGA Y TENGAN UNA FELIZ NAVIDAD, UN PROSPERO AÑO NUEVO, Y QUE  TODOS SUS SUEÑOS Y ANHELOS SE HAGAN REALIDAD!!! 






ARBOL

NOVENA PRACTICA


CONCEPTO

 "Es una colección de nodos que tienen arboles", es una estructura no lineal (1 antecesor y varios sucesores)
y dinámica(no hay restricción de eliminar o insertar nodos), sus elementos se llaman nodos, inicia con un nodo llamado raíz (si raíz es null, esta vació el árbol), es una estructura recursiva(se llama así misma), el numero de descendientes de un nodo es el grado del nodo, el  grado del árbol es el máximo de descendientes que puede tener un nodo y su  final se llama hoja

arboles binarios de búsqueda

1- grado 2
2- hijo izquierdo y derecho
3- ordenado: los nodos menores a la raíz van a la izquierda  y los mayores a la derecha
4- operaciones:
4.1- recorrido:
  4.1.1 inorden
  4.1.2 preorden
  4.1.3 postorden
4.2 - insertar
4.3- borrar


 PROCEDIMIENTO


1.  Creamos la clase NodoArbol y el constructor de la clase [NodoArbol ()], refractamos int información, NodoArbol der e izq.

2.   Luego elaboramos la clase Arbol, la cual tiene un constructor [Arbol ()], refractamos NodoArbol raíz, 4 métodos: insertar, inOrden, preOrden y posOrden.

DIAGRAMAS UML


 CODIFICACION


inicia la clase NodoArbol
package Ortiz;
public class NodoArbol {
 private int informacion;
 private NodoArbol der;
 private NodoArbol izq;
 //constructor d la clase
NodoArbol(){
    izq=null;
    der=null;
}
NodoArbol(int x){
   informacion=x;
   izq=null;
   der=null;
}
 }
termina la clase NodoArbol


inicia la clase Arbol
package Ortiz;
public class Arbol {
   private NodoArbol raiz;
   //contructor de la clase
    Arbol(){
        raiz=null;
    }
 
    //metodo recursivo ,r es la raiz, datoes el valor
    public NodoArbol insertar(NodoArbol r,int dato){
        if(r==null){//creamos el nodo que vamos a insertar
            r=new NodoArbol(dato);
        }
        else{
            if(dato < r.getInformacion()){
                r.setIzq(insertar(r.getIzq(),dato));
            }
            else{
                r.setDer(insertar(r.getDer(),dato));
            }
        }
        return r;
    }
    public String inOrden(NodoArbol r){
        String cadena= new String();
        if(r !=null){
            cadena=cadena+inOrden(r.getIzq());
            cadena=cadena+String.valueOf(r.getInformacion()+" ");
            cadena=cadena+inOrden(r.getDer());
        }
        return cadena;
    }
    public String preOrden(NodoArbol r){
        String cadena=new String();
         if(r !=null){
        cadena=cadena+String.valueOf(r.getInformacion()+"   ");
        cadena=cadena+preOrden(r.getIzq());
        cadena=cadena+preOrden(r.getDer());
    }
       return cadena;
    }
    public String postOrden(NodoArbol r){
        String cadena =new String();
        if(r !=null){
          cadena=cadena+preOrden(r.getIzq());
           cadena=cadena+preOrden(r.getDer());
           cadena=cadena+String.valueOf(r.getInformacion()+"   ");
        }
        return cadena;
    }
}
termina la clase ARBOL

CONCLUSIÓN

En esta practica podemos analizar  una colección de nodos organizados en forma recursiva. Cuando hay 0 nodos se dice que el árbol esta vacío, en caso contrario el árbol consiste en un nodo denominado raíz, el cual tiene 0 o más referencias a otros árboles, conocidos como subárboles. Las raíces de los subárboles se denominan hijos de la raíz, y consecuentemente la raíz se denomina padre de las raíces de sus subárboles.

AUTORES

Javier Arley Gonzalez Roblero, Saulo Ortiz Ortiz, Manuel Alejandro Mendez Lopez.

PILA

OCTAVA PRACTICA

CONCEPTO


Es una estructura lineal y dinámica,sus elementos se llaman nodos,los cuales se insertan y eliminan por el mismo extremo(UPS o LIFO) y sus operaciones son: push(inserta al inicio) y pop(elimina al inicio).

PROCEDIMIENTO


1.-Crear la pila.
2.-Comprobar si la pila está vacía. Es necesaria para saber si es posible eliminar elementos.
3.-Acceder al elemento situado en la cima.
4.-Añadir elementos a la cima.
5.-Eliminar elementos de la cima. 

DIAGRAMAS UML




CODIFICACIÓN

empieza la clase Nodo
package Ortiz;
import javax.swing.JOptionPane;
public class Nodo {
  private String informacion;
      private Nodo enlace;
   
      public Nodo (String x)
      {
          informacion=x;
          enlace=null;
      }
      public Nodo(String x, Nodo n){
        informacion=x;
        enlace=n;
      }
    }
  termina la clase Nodo


inicia la clase Pila
package Ortiz;
import javax.swing.JOptionPane;
public class Pila {
    Pila(){
      tope=null;
    }

     public Pila push(String informacion){
   Nodo nuevo;
   nuevo= new Nodo(informacion);//crear nuevo nodo(elemento)
   nuevo.setEnlace(getTope());//enlaza nuevo al frente de la lista
   setTope(nuevo);//mueve inicio y apunta al nuevo nodo
   return this;//devuelve la referencia del objeto pila
   } 
     public String pop(){
      Nodo x=tope;
      tope=tope.getEnlace();//borrado logico
      return x.getInformacion();
     }
      public void imprimir(){
    String cadena="";
    Nodo q=tope;
    int i=1;
    while(q !=null){
      cadena+="\n"+i+". "+q.getInformacion();
      q=q.getEnlace();
      i++;
    }
     JOptionPane.showMessageDialog(null, cadena,"Nodos de la lista",JOptionPane.PLAIN_MESSAGE);
    }
}
termina la clase Pila

CONCLUSIÓN

En esta práctica fue un  requisito típico de almacenamiento de una pila de n elementos. El requisito típico de tiempo de las operaciones también son fáciles de satisfacer con un array o con listas enlazadas simples. 

AUTORES

Javier Arley Gonzalez Roblero, Saulo Ortiz Ortiz, Manuel Alejandro Mendez Lopez.

COLA

SÉPTIMA PRACTICA



CONCEPTO

Es una estructura lineal y dinámica, sus elementos se llaman nodos, los cuales se insertan por un extremo(FINAL), se eliminan por el otro extremo(FRENTE),  es decir PEPS O FIFO.

DIAGRAMAS UML

PROCEDIMIENTO

1.-Crear una cola vacía.
2.- Determinar si la cola está vacía, en cuyo caso no es posible eliminar elementos.
3.- Acceder al elemento inicial de la cola.
5.-- Insertar elementos al final de la cola.
6.- Eliminar elementos del inicio de la cola.







CODIFICACIÓN


inicia la clase Nodo
package Ortiz;
import javax.swing.JOptionPane;
public class Nodo {
  private String informacion;
      private Nodo enlace;
   
      public Nodo (String x)
      {
          informacion=x;
          enlace=null;
      }
      public Nodo(String x, Nodo n){
        informacion=x;
        enlace=n;
      }
   }
termina la clase nodo


inicia la clase Cola
package Ortiz;
import javax.swing.JOptionPane;
public class Cola {
    private Nodo frente;
    private Nodo fin;
   Cola(){
       frente=null;
       fin=null;
   }

    public Cola Inserta(String x){
        Nodo nuevo=new Nodo(x);
        if((frente==null)&&(fin==null)){
            fin=nuevo;
            frente=fin;
        }
        else{
            fin.setEnlace(nuevo);
            fin=nuevo;
        }
        return this;
    }
    public String elimina(){
        Nodo x=frente;
        if(frente==fin){
            frente=null;
            fin=null;
        }
        else{
            frente=frente.getEnlace();
        }
        return x.getInformacion();
    }
    public void imprimir(){
    String cadena="";
    Nodo q=fin;
    int i=1;
    while(q !=null){
      cadena+="\n"+i+". "+q.getInformacion();
      q=q.getEnlace();
      i++;
    }
 JOptionPane.showMessageDialog(null, cadena,"Nodos de la lista",JOptionPane.PLAIN_MESSAGE);
}
}
termina la clase Cola

CONCLUSIÓN

En esta practica  colas son secuencias de elementos caracterizadas porque las operaciones de inserción y borradose realizan sobre extremos opuestos de la secuencia. La inserción se produce en el "final" de la
secuencia, mientras que el borrado se realiza en el otro extremo, el "inicio" de la secuencia.


AUTORES

Javier Arley Gonzalez Roblero, Saulo Ortiz Ortiz, Manuel Alejandro Mendez Lopez.

LISTA



PRACTICA No.6


CONCEPTO


Es una estructura lineal, dinámica, su acceso es secuencial y esta indicado por un puntero llamado inicio, sus elementos es una sucesión de n nodos y tiene tres operaciones básicas: insertar, eliminar y recorrer.


PROCEDIMIENTO

1.- Primero creamos la clase Nodo en la cual refractamos información y enlace, y colocamos un constructor llamado Nodo.
2.-Elaboramos la clase Lista la cual refractamos inicio, un constructor llamado Lista, tiene ocho métodos: inserta al inicio,inserta al final, insertantes, insertadespues, eliminainicio, eliminafinal, eliminax e imprimir.

DIAGRAMAS UML




CODIFICACIÓN:

Comienza la clase Nodo
package Ortiz;
import javax.swing.JOptionPane;
public class Nodo {
      private String informacion;
      private Nodo enlace;
   
      public Nodo (String x)
      {
          informacion=x;
          enlace=null;
      }
      public Nodo(String x, Nodo n){
        informacion=x;
        enlace=n;
      }
}

Termina la clase Nodo


comienza la clase Lista
package Ortiz;
import javax.swing.JOptionPane;
public class Lista {
   private Nodo inicio;
 
   Lista(){
       inicio=null;
   }
   public Lista InsertarInicio(String informacion){
   Nodo nuevo;
   nuevo= new Nodo(informacion);//crear nuevo nodo(elemento)
   nuevo.setEnlace(getInicio());//enlaza nuevo al frente de la lista
   setInicio(nuevo);//mueve inicio y apunta al nuevo nodo
   return this;//devuelve la referencia del objeto lista
   }
   public Lista InsertarFinal(String informacion){//este metodo funciona si por lo menos la lista tiene un nodo
     Nodo ultimo;
     ultimo=inicio;//ultimo se inicializa al comienza de la lista
     while(ultimo.getEnlace() !=null){//recorrido para buscar el ultimo nodo
     ultimo=ultimo.getEnlace();//ultimo toma la direccion del nodo siguiente
     }
     ultimo.setEnlace(new Nodo (informacion)); //se crea el nuevo nodo despues del ultimo
     return this;
   }
   public Lista InsertarAntes(String nombre, String ref){//se utilizan parametros
       Nodo nuevo, actual, anterior= null;
       boolean esta=true;
       actual=inicio;//vamos a recorrer la lista con actual
       while (!actual.getEnlace().equals(ref)&& esta){//para comparar dos cadenas
           if(actual.getEnlace()!=null){
           anterior=actual;
           actual=actual.getEnlace();
       }
           else{
               esta=false;
           }
       }
       if(esta){
           if(inicio==actual){//vamos a insertar antes del primer nodo
               nuevo=new Nodo(nombre, inicio);//se llama al segundo constructor
               inicio=nuevo;
           }
     
           else{
               nuevo=new Nodo(nombre, actual);
               anterior.setEnlace(nuevo);
           }
       }
       return this;
   }
  public Lista insertaDespues(String nombre, String ref){
      Nodo nuevo,actual=null;
      boolean esta=true;
      actual=inicio;//es esencial en todo st programa
      while(! actual.getInformacion().equals(ref)&& esta){
          if(actual.getEnlace() !=null)
              actual =actual.getEnlace();
              else{
              esta=false;
              }
          if(esta){
              nuevo=new Nodo (nombre, actual.getEnlace());
              actual.setEnlace(nuevo);
           }
         }
       return this;
     }
  public String eliminaInicio(){
      Nodo x=inicio;
      inicio=inicio.getEnlace();//borrado logico
      return x.getInformacion();
  }
  public String eliminaFinal(){///quitar de la lista l ultimo nodo
      Nodo ultimo,anterior=null;
      ultimo=inicio;
      while(ultimo.getEnlace()!=null){
          anterior=ultimo;
          ultimo=ultimo.getEnlace();
          }
      if(inicio.getEnlace()==null){
          inicio=null;
      }
      else{
      anterior.setEnlace(null);//borrado logico
      }
      return ultimo.getInformacion();
      }
  public void imprimir(){
    String cadena="";
    Nodo q=inicio;
    int i=1;
    while(q !=null){
      cadena+="\n"+i+". "+q.getInformacion();
      q=q.getEnlace();
      i++;
    }
    JOptionPane.showMessageDialog(null, cadena,"Nodos de la lista",JOptionPane.PLAIN_MESSAGE);
}
  public String eliminaX (String x){
      Nodo actual, anterior =null;
      boolean esta=true;
      actual=inicio;
      while(!actual.getInformacion().equals(x)&& esta){
          if(actual.getEnlace()!=null){
              anterior=actual;
              actual.setEnlace(actual.getEnlace());
          }
          else
              esta=false;
      }
      if(esta){
          anterior.setEnlace(actual);//borrado logico
          return actual.getInformacion();
      }
      else
       return " ";
  }
}
Termina la clase Lista

CONCLUSIÓN

En esta práctica aprendimos a utilizar las direcciones de memoria la cual, o es mas eficiente que declarar arreglos pero a su vez mas peligrosa porque si borramos el nodo inicio perdemos la lista completa.
ventaja es que podemos hacer mejor uso de la memoria  y desventaja si pierdes inicio por descuido
o por falta de conocimiento de como programar pierdes la lista



AUTORES

Javier Arley Gonzalez Roblero, Saulo Ortiz Ortiz, Manuel Alejandro Mendez Lopez.

jueves, 10 de octubre de 2013

PEAJE DE CAMIONES

QUINTA PRACTICA

Problema a resolver:

Calcular el costo de peaje de camiones. Los camiones que llegan a una estación de peaje deben pagar $50 por cada eje mas $100 por cada tonelada de peso total del camión.


Procedimiento:
1.   Comenzamos a analizar el programa a resolver.
2.   Identificamos los datos de entrada (50 y 100) y salida (costo de peaje de camiones).
3.   Creamos  el diagrama UML, la cual contiene el  nombre de la clase,  atributos y métodos.
4.   Comenzamos a codificar y creamos la clase llamada Peaje.
5.   Después utilizamos una herramienta de java conocido como refactor  para las variables (int pxe, int pxt, int pt, int tc, int ce) y de esa manera realizamos  el programa más rápido y mejor organizado. 
6.   Posteriormente comenzamos  a crear los métodos: captura, calcular e imprimir.
7.   Luego creamos la clase llamada Solución, en la que integramos una variable “a”, la cual tiene la función de utilizar las operaciones aritméticas de los distintos métodos asignados.
8.   Por último ejecutamos el programa, así logrando imprimir el costo de peaje de camiones deseados.



DIAGRAMAS UML




SOLUCIÓN EN JAVA
comienza la clase peaje
import javax.swing.JOptionPane;
public class Peaje {
    private int pxe;
    private int ce;
    private int pxt;
    private int tc;
    private int pt;

    public void captura(){
        ce=Integer.parseInt(JOptionPane.showInputDialog("cantidad de eje "));
        tc=Integer.parseInt(JOptionPane.showInputDialog("cantidad de toneladas "));
    }
    public void calcular(){
        pxe=ce*50;
        pxt=tc*100;
        pt=pxe+pxt;
    }
    public void imprimir(){
        JOptionPane.showMessageDialog(null,"PAGO TOTAL  "+pt);
    }
    }

termina la clase peaje


comienza la clase solución
public class Solucion {
   public static void main(String []largs){
       Peaje a;
       
       a=new Peaje();
       
       a.captura();
       a.calcular();
       a.imprimir();
   }  
}

termina la clase solución


CONCLUSIÓN

En esta  practica resolvimos como calcular el pago del peaje y ejes de un camión,se nos hizo facilicimo crear este programa ya que con los conocimientos adquiridos hasta hoy,gracias a estructura de datos aprendimos a programar mas fácil, divertido y organizado.

Autores

Javier  Arley Gonzalez Roblero, Manuel  Alejandro Mendez lopez y Saulo Ortiz Ortiz








SALARIO

CUARTA PRACTICA

Problema a resolver:

Calcular el salario de un empleado con base en lo siguiente:
1)por cada hora trabajada recibe $17.50, para las primeras 8 horas.
2)por cada hora extra recibe 1.5 veces el costo de la hora de trabajo dentro del horario normal.

Procedimiento:
1.   Comenzamos a analizar el programa a resolver.
2.   Identificamos los datos de entrada ($17.50 las 8 hrs. De trabajo normal y 1.5 veces más para las hrs. extras) y salida (salario final del empleado).
3.   Creamos  el diagrama UML, la cual contiene el  nombre de la clase,  atributos y métodos.
4.   Comenzamos a codificar y creamos la clase llamada Salario.
5.   Después utilizamos una herramienta de java conocido como refactor  para las variables (int ht, float pxh, float s, float st) y de esa manera realizamos  el programa más rápido y mejor organizado. 
6.   Posteriormente comenzamos  a crear los métodos: captura, calcula e imprimir.
7.   Luego creamos la clase llamada Calculasalario, en la que creamos una variable “z”, la cual tiene la función de realizar las operaciones aritméticas del método que le asignemos.
Por último ejecutamos el programa, así logrando imprimir el salario del empleado deseado.


DIAGRAMAS UML








SOLUCIÓN EN JAVA

comienza la clase salario
import javax.swing.JOptionPane;
public class Salario {
    private int ht;
    private int ph;
    private double salario;
    private double salarioextra;
 
    public void captura(){
        ht=Integer.parseInt(JOptionPane.showInputDialog("horas trabajadas "));
        ph=Integer.parseInt(JOptionPane.showInputDialog("pago x hora "));
    }
    public void calcula(){
        if(ht>8){
            salario=(ht-8)*(ph*1.5);
            salarioextra=(8*ph)+salario;
        }
        else{
            salario=ht*ph;
        }
    }
    public void imprimir(){
        JOptionPane.showMessageDialog(null,"El SALARIO CON HORAS EXTRAS  "+salarioextra+"\n"+"EL SALARIO NORMAL "+salario);
    }
}

Termina la clase salario

comienza la clase calculasalario
public class Calculasalario {
     public static void main(String []largs){
     
         Salario z;
         z=new Salario();
       
         z.captura();
         z.calcula();
         z.imprimir();
     }
   }


Termina la clase calculasalario

CONCLUSIÓN

Esta práctica fue fácil de realizar ya que utilizamos todo lo aprendido hasta el momento y sobretodo porque es un problema sencillo de resolver, todos estamos relacionados en la vida cotidiana con el calculo de salarios normales y con horas extras.

Autores

Javier  Arley Gonzalez Roblero, Manuel  Alejandro Mendez lopez y Saulo Ortiz Ortiz


jueves, 12 de septiembre de 2013

TORRES DE HANOI

Tercera práctica



Problema a resolver:

calcular los movimientos que se realiza de "n" discos en 3 postes.

Procedimiento:
1.   Comenzamos a analizar el programa a resolver.
2.   Identificamos los datos de entrada (numero de discos y postes) y salida (numero de movimientos).
3.   Creamos  el diagrama UML, la cual contiene el  nombre de la clase,  atributos y métodos.
4.   Comenzamos a codificar y creamos la clase llamada TorresHanoi.
5.   Después utilizamos una herramienta de java conocido como refactor  para encapsular  las variables (numdiscos  y nummovimientos) y de esa manera realizamos  el programa más fácil y práctico. 
6.   Posteriormente comenzamos  a crear los métodos: intercambio y jugar.
7.   Creamos otra clase llamado Torres  para solución de la clase TorresHanoi.


8.   Por último ejecutamos el programa, así logrando imprimir los resultados deseados.


Diagrama UML






  solución en java

Comienza la clase TorresHanoi

package Ortiz;

import javax.swing.JOptionPane;
public class TorresHanoi {
   
    private int numdiscos;
    private int nummovimientos;

    public void intercambio( int numdiscos,char A,char B,char C){
        
      if(numdiscos==1){
          setNummovimientos(getNummovimientos() +1);
          JOptionPane.showMessageDialog(null,"mover disco del poste A al poste B  "+"\n"+"numeros de movimientos "+nummovimientos);  
      }  
      else{
          intercambio(numdiscos-1,A,B,C);
          setNummovimientos(getNummovimientos()+1);
          JOptionPane.showMessageDialog(null,"mover disco del poste A al poste C "+"\n"+"numeros de movimientos "+nummovimientos); 
          intercambio(numdiscos-1,A,B,C);
      }
    }
    public void jugar(){
    JOptionPane.showMessageDialog(null,"el total de movimientos efectuados fueron  "+ nummovimientos);    
    }
  

Termina la clase TorresHanoi

comienza la clase Torres

package Ortiz;

public class Torres {
    public static void main(String []largs){
        
        TorresHanoi x;
        x=new TorresHanoi();
        
        x.intercambio(3, 'A' ,'B', 'C');
        x.jugar();
    }
}
}
    

}


}

fin de la clase




Conclusión:


 En esta tercera practica; consistió en cambiar los discos de una torre a otro, con la condicion no poder mover un disco grande a un pequeño; analizamos las supuestas combinaciones tratando de cumplir la condición, para llegar a lo deseado.
   En esta practica pudimos notar que se nos complico ya que tuvimos, que analizar los movimientos.

Autores

Javier  Arley Gonzalez Roblero, Manuel  Alejandro Mendez lopez y Saulo Ortiz Ortiz









lunes, 9 de septiembre de 2013

FACTORIAL DE NUMEROS


Segunda prática

Problema a resolver:
Calcular el factorial de un numero, que lea y calcule los factoriales de 1 hasta el numero leído de mayor a menor.


Procedimiento:
1.      Comenzamos a analizar el programa a resolver.
2.      Identificamos los datos de entrada (cualquier numero) y salida (factorial del numero).
3.      Creamos el diagrama uml, la cual contiene el nombre de la clase, atributos y métodos.
4.      Comenzamos a codificar y creamos la llamada factorial.
5.      Después utilizamos una herramienta de java conocida como re factor para las variables (int numero, int fact) y de esa manera realizamos el programa más mejor organizado.
6.      Posteriormente comenzamos a crear los métodos a crear los métodos: captura, clacularfactorial e imprimir factorial.
7.      Luego creamos la clase llamada usofactorial, en la que integramos un ciclo for que decremento para que los factoriales de dichos números se realicen de mayor a menor.
8.      Por ultimo ejecutamos el programa, así logrando imprimir las factoriales deseadas.

Diagramas de  UML




Solución en java



Comienza la clase Factorial


package Ortiz;

import javax.swing.JOptionPane;
public class Factorial
{

    private int numero;
   private int fact;

    public void captura()
    {
    numero=Integer.parseInt(JOptionPane.showInputDialog("Numero: "));  
    }
   public int calcularfactorial(int n)
   {
    if(n==1 || n==0){
     return fact=1;
    }
    else{
        fact=n*calcularfactorial(n-1);
        return fact;
    }
   }
   public void imprimirfactorial(){
       JOptionPane.showMessageDialog(null,"El factorial es "+fact);
   }
}

Termina la clase Factorial



Comienza la clase Usofactorial


package Ortiz;

import javax.swing.JOptionPane;
public class Usofactorial
{
    public static void main (String []arg)
    {
       Factorial n;
       n=new Factorial();
       int numveces;
       numveces=Integer.parseInt(JOptionPane.showInputDialog("factorial a calcular"));
       for(int i=numveces;i>=1;i--){
        //n.captura();
        n.calcularfactorial(i);
        n.imprimirfactorial();
       }
     
    }
 
}

Termina la clase Usofactorial


conclusión

En esta segunda practica aprendimos atravez de la programación orientada a objetos a calcular de factorial de la cantidad de números que deseábamos, al principio se nos dificulto pero al final logramos nuestro objetivo, logrando codificar el programa. Utilizando  estos conceptos básicos que aquí se introducen son fundamentales para la realización del programa para lograr una programación estructurada.Nos dimos cuenta que podemos usar la clase usofactorial que nos facilita para que nos realice los números de mayor a menor algo que nosotros no habíamos aprendido y con esto sabemos que se puede ejecutar mejor un programa.


Autores

Javier  Arley Gonzalez Roblero, Manuel  Alejandro Mendez lopez y Saulo Ortiz Ortiz





miércoles, 4 de septiembre de 2013

ÁREAS Y PERÍMETROS DE TRIÁNGULOS Y RECTANGULOS


PRIMERA PRACTICA 

         

Practica a resolver:
Calcular el área y perímetro de 3 rectángulos y 1 triangulo.

Procedimiento:
  1. Comenzamos a analizar el programa a resolver.
  2. Identificamos los datos de entrada(los 3 rectángulos, el triángulo, la base y la altura) y salida (áreas y perímetros).
  3. Creamos el diagrama uml, la cual contiene el nombre de la clase, atributos y métodos.
  4. Comenzamos a codificar y creamos la clase llamada rectángulos.
  5. Después utilizamos una herramienta de java conocido como re factor para las variables (base, altura, área y perímetro)y de esa manera realizamos el programa más  fácil y practico.
  6. Posteriormente comenzamos a crear los métodos: captura, calculararea, calcularperimetro e imprimir.
  7. Creamos otra clase llamado triangulo y repetimos los pasos 5,6; con la excepción del nombre de la clase la cual llamamos triangulo.
  8. Luego creamos la clase llamada solución.
  9. Por ultimo ejecutamos el programa, así logrando imprimir los resultados deseados.

Diagramas de UML











Solución en java


Empieza la clase Rectangulo


package ORTIZ;

import javax.swing.JOptionPane;
public class Rectangulo 
{
//atributos
    private int base;
    private int altura;
    private int area;
    private int perimetro;

    public void captura()
    {
      base=Integer.parseInt(JOptionPane.showInputDialog("base"));  
      altura=Integer.parseInt(JOptionPane.showInputDialog("altura"));
    }
    public void calculararea()
    {
       area=base*altura; 
    }
    public void calcularperimetro()
    {
      perimetro=2*base+2*altura;  
    }
    public void imprimir()
    {
      JOptionPane.showMessageDialog(null,"el area del rectangulo es  "+area);  
      JOptionPane.showMessageDialog(null,"el´perimetro del rectangulo es  "+perimetro);
    }
}

Termina la clase Rectangulo

Empieza la clase Triangulo

package ORTIZ;

import javax.swing.JOptionPane;
public class Triangulo 
  //
{
    private int base;
    private int altura;
    private int perimetro;
    private float area;

     public void captura()
    {
        base=Integer.parseInt(JOptionPane.showInputDialog("base"));
        altura=Integer.parseInt(JOptionPane.showInputDialog("altura"));
    }


    public void calculararea()
     {
         area= (base*altura)/2;
     }

     public void calcularperimetro()
     {
         perimetro=base+base+base;
     }

     public void imprimir()
     {
         JOptionPane.showMessageDialog(null,"el area del triangulo es  "+area  );
         JOptionPane.showMessageDialog(null,"el perimetro del triangulo es  "   +perimetro);
     }
}

Termina la clase Triangulo


Comienza la clase Solución


package ORTIZ;

public class Solucion
{
    public static void main(String []largs)
    {
     //declarando los objetos
       Triangulo t1; 
       Rectangulo r1,r2,r3;
       //creando los objetos
       t1=new Triangulo();
       r1=new Rectangulo();
       r2=new Rectangulo();
       r3=new Rectangulo();
       
       t1.captura();
       t1.calculararea();
       t1.calcularperimetro();
       t1.imprimir();
       
       
       r1.captura();
       r1.calculararea();
       r1.calcularperimetro();
       r1.imprimir();
       
       r2.captura();
       r2.calculararea();
       r2.calcularperimetro();
       r2.imprimir();
       
       r3.captura();
       r3.calculararea();
       r3.calcularperimetro();
       r3.imprimir();
               
    }
    
}

Termina la clase solución



Conclusión

En esta primera practica aprendimos a realizar diagramas de UML, realizamos el programa en java de manera sencillo, rápida y mas fácil.
Ademas analizamos la manera eficaz de aplicar la programación orientada a objetos(POO) en la solución de problemas de la vida real y facilitar los labores cotidianos y profesionales.

Autores

Xavier Gonzalez, Manuel Mendez y Saulo Ortiz