miércoles, 24 de septiembre de 2014

Guia de Ejercicios No 2 Sol

Guia de Ejercicios No 2
 LAB121 Laboratorio de INF121 
Tema: Programacion Orientada a Objetos
 9 de septiembre de 2014
Hola después de mucho tiempo estoy volviendo a publicar algo decente, es la practica que les dieron a los q estan en  LAB 121, xD espero q este bien :D ;)  
public class Punto {
 protected int a1;
 protected int a2;
 protected int a3;
 //constructores
 public Punto() {
  a1=1;
  a2=1;
  a3=1;
 }
 public Punto(int a,int b, int z){
  this.a1=a;
  this.a2=b;
  this.a3=z;
 }
 public int getA1() {
  return a1;
 }
 public int getA2() {
  return a2;
 }
 public int getA3() {
  return a3;
 }
 
 public Punto suma(Punto b){
  Punto pun = new Punto(a1+b.a1, a2+b.a2, a3+b.a3);
  return pun; //retorna este punto
 }
 //fin constructores
 public Punto resta(Punto b) {
  Punto pun = new Punto(a1-b.a1, a2-b.a2, a3-b.a3);
  return pun;
 }
 public int prod_interno(Punto b) {
  return (a1*b.a1 + a2*b.a2 + a3*b.a3);
 }
 public double norma(){
  return (double)Math.sqrt(a1*a1 + a2*a2 + a3*a3);
 }
 public double cruz(Punto b){
  return (double)Math.abs((a2*b.getA3() - a3*b.getA2()) - 
        (a3*b.getA1() - a1*b.getA3()) + 
           (a1*b.getA2() - a2*b.getA1()));
 }
 public void mostrar(){
  System.out.println(a1+ " "+a2+" "+a3);
 }
}
AlgebraVectorial.java
public class AlgebraVectorial {
 Punto p;
 
 public AlgebraVectorial() {
  this.p.a1=1;
  this.p.a2=1;
  this.p.a3=1;
 }
 public AlgebraVectorial(Punto a) {
  this.p = a;
 }

 // a)
 public void Perpendicular(Punto b) {
  Punto x = p.suma(b);
  Punto y = p.resta(b);
  
  if (Math.abs(x.getA1()) == Math.abs(y.getA1())
    && Math.abs(x.getA2()) == Math.abs(y.getA2())
    && Math.abs(x.getA3()) == Math.abs(y.getA3())) {
   System.out.println("El punto a es ortogonal o perpendicular a b");
  } else {
   System.out.println("El punto a no ortogonal o perpendicular a b");
  }
 }

 // b)
 public void Perpendicular(Punto a, Punto b, Punto c, Punto d) {
  Punto x = a.resta(b);
  Punto y = b.resta(a);
  if (Math.abs(x.getA1()) == Math.abs(y.getA1())
    && Math.abs(x.getA2()) == Math.abs(y.getA2())
    && Math.abs(x.getA3()) == Math.abs(y.getA3())) {
   System.out.println("El vector a mutuamente ortogonal a b");
  } else {
   System.out.println("El vector a no es mutuamente ortogonal a b");
  }
 }

 // c)
 public void Perpendicular(Punto b, int cero) {
  cero=0;
  if(p.prod_interno(b) == cero){
   System.out.println("Vector es ortogonal a b");
  }else{
   System.out.println("Vector no es ortogonal a b");
  }
 }

 // d)
 public void Perpendicular(Punto a, Punto b) {
  Punto x=p.suma(a);
  double nx = x.norma();
  
  if(nx == (double)(a.norma() + b.norma())){
   System.out.println("Vector a es ortogonal a b");
  }else{
   System.out.println("Vector a no es ortogonal a b");
  }
 }

 // e)
 public void Paralela(Punto b) {
  //zzz
 }

 // f)
 public void Paralela(Punto a, Punto b) {
  if(a.cruz(b) == (double)0.0 ){
   System.out.println("AxB vector a  es paralela a b "+a.cruz(b));
  }else{
   System.out.println("AxB vector a  no es paralela a b "+ a.cruz(b));
  }
 }

 // g
 public void proy_de_a_en_b(Punto b) {
  System.out.println("Proyeccion es ");
  double numero = (double)p.prod_interno(b);
  double nomr=b.norma()*b.norma();
  System.out.println(" a1 = "+numero*b.getA1()+"/"+nomr);
  System.out.println(" a2 = "+numero*b.getA2()+"/"+nomr);
  System.out.println(" a3 = "+numero*b.getA3()+"/"+nomr);
 }

 // h)
 public void Componente_de_a_en_b(Punto a, Punto b) {
  System.out.println("Comp de a en direccion b ");
  System.out.println((double)Math.abs(a.prod_interno(b))+"/"+b.norma());
 }
}
Main.java
public class Main {

 /**
  * @author sam starsaminf@gmail.com
  */
 public static void main(String[] args) {
  Punto a=new Punto(1,-3,-2);
  Punto b=new Punto(-3,-4,0);
  AlgebraVectorial alg=new AlgebraVectorial(a);
  //a
  alg.Perpendicular(b);
  //b
  alg.Perpendicular(a,b,b,a);
  //c
  alg.Perpendicular(b, 0);
  //d
  alg.Perpendicular(a,b);
  //e
  alg.Paralela(b);
  //f
  alg.Paralela(a,b);
  //g
  alg.proy_de_a_en_b(b);
  //h
  alg.Componente_de_a_en_b(a, b);
 }

}

lunes, 17 de marzo de 2014

Agregación Composición ejer 1

Hola después de mucho tiempo estoy volviendo a publicar algo decente, esta ves publicare las soluciones en diferentes lenguajes estos serán: Java, c#, c++,QT puede que php también :D
Espesemos :
Código :
Para Java
Biblioteca.java

import java.util.Scanner;

public class Biblioteca {
 public String Nombre;
 public String Direccion;
 public int nroLibros;
 public Libro[] libro;

 public Biblioteca(String nombre, String direccion, int nrolib) {
  Nombre = nombre;
  Direccion = direccion;
  nroLibros = nrolib;
  libro = new Libro[30];
  for (int i = 0; i < nroLibros; i++) {
   libro[i] = new Libro("Aventuras de Gregor Samsa ", "Samsa", 100);
  }
 }

 public void solA(String autor) {
  System.out.println("Busqueda de libro de autor = " + autor);
  for (int i = 0; i < nroLibros; i++) {
   if (libro[i].autor.equals(autor)) {
    System.out.println("Libro " + libro[i].nombre);
   }
  }
 }

 public void solB(Biblioteca a, Biblioteca b) {
  for (int i = 0; i < a.nroLibros; i++) {
   for (int j = 0; j < b.nroLibros; j++) {
    if (a.libro[i].nombre.equals(b.libro[j].nombre)) {
     System.out.println("EL libro " + a.libro[i].nombre
       + " esta en las 2 bibliotecas");
     break; // como ya sabemos q esta saltamos la busqueda
    }
   }
  }
 }

 public void solC(int x) {
  System.out.println("Eliminando libros de nro pag = " + x);
  System.out.println("Antes de eliminar " + nroLibros);
  int nn = 0;
  for (int i = 0; i < nroLibros; i++) {
   if (libro[i].npag == x) {
    // inicio eliminacion
    // recorrer todos los elementos
    for (int j = i; j < nroLibros - 1; j++) {
     libro[j] = libro[j + 1];
    }
    nn++;
    // nroLibros--;
   }
  }
  nroLibros -= nn;
  System.out.println("Al terminar la eliminacion quedan = " + nroLibros);

 }

 public void solD(int k) {
  for (int i = 0; i < k; i++) {
   createbook();
  }
 }

 public void createbook() {
  Scanner sc = new Scanner(System.in);
  System.out.println("Datos libro");
  System.out.print("Titulo : ");
  String nlib = sc.nextLine();
  System.out.print("Autor :");
  String alib = sc.nextLine();
  System.out.print("Nro pag :");
  int plib = sc.nextInt();
  libro[nroLibros] = new Libro(nlib, alib, plib);
  nroLibros++;
 }
}

Libbro.java
public class Libro {
 public String nombre;
 public String autor;
 public int npag;

 public Libro(String n, String a, int np) {
  nombre = n;
  autor = a;
  npag = np;
 }
}

Main.java el famoso principal
public class Main {
 public static void main(String[] args) {
  Biblioteca a = new Biblioteca("Biblioteca CF", "Rusia", 5);
  System.out.println("Mostrando libros de la biblioteca :" + a.Nombre);
  for (int i = 0; i < a.nroLibros; i++) {
   System.out.println("  Nombre libro = " + a.libro[i].nombre);
   System.out.println("  Autor        = " + a.libro[i].autor);
   System.out.println("  Num paginas  = " + a.libro[i].npag);
   System.out.println("----------------------------");
  }
  // sol A
  a.solA("Samsa");
  System.out.println("----------------------------");
  // sol B
  Biblioteca b = new Biblioteca("Biblioteca TC", "EEUU", 5);
  b.solB(a, b);
  System.out.println("----------------------------");
  // sol C
  a.solC(100);
  for (int i = 0; i < a.nroLibros; i++) {
   System.out.println("  Nombre libro = " + a.libro[i].nombre);
   System.out.println("  Autor        = " + a.libro[i].autor);
   System.out.println("  Num paginas  = " + a.libro[i].npag);
   System.out.println("----------------------------");
  }
  System.out.println("----------------------------");
  a.solD(5);
  for (int i = 0; i < a.nroLibros; i++) {
   System.out.println("  Nombre libro = " + a.libro[i].nombre);
   System.out.println("  Autor        = " + a.libro[i].autor);
   System.out.println("  Num paginas  = " + a.libro[i].npag);
   System.out.println("----------------------------");
  }
 }

}

Descargar

martes, 26 de febrero de 2013

viernes, 7 de diciembre de 2012

chat java

Cliente, Servidor de chat en java


Descargar: -> cliente  -> servidor
Modo de uso : ->Primero ejecutar el servidor luego el cliente :D 



jueves, 8 de marzo de 2012

sábado, 4 de febrero de 2012

Iniciando en Programación Orientada a Objetos (POO)

Un ejemplo simple de POO.


Explicación


 Atributos  En la parte de atributos van las características del objeto en este caso nuestro objeto "PERRO".
Las características en común de todos los "PERROS " son : Nombre,Color,Raza,Sexo,..etc,

Como identifico los atributos ?¿ 
Un atributo es algo en común para este caso los perros tiene un Nombre, tienen una raza, color, etc. La programación orientada a objetos agarra a un objeto y
extrae sus características que hacen especial al objeto.

Métodos Son las acciones que realizara, entre ellos estaría el constructor o constructores, NuevoPerro mm mejor llamemos le Leer , Mostrar, etc.

Perro()
          Se crea un nuevo objeto con los datos que le demos,

 public Perro() {
  Nombre = "Toby";
  color = "Cafe";
  raza = "Chapi";
  sexo = "MAcho";
 }

Imagínate que en una de ellas el Docente nos pida instanciar (crear) 20 Perros uff tardarías full tiempo en leer los datos de cada objeto. Pero con los constructores nos ahorramos ese trabajito de estar llenando uno por uno  :xD.

Los otros dos metodos creo q no necesitan explicacion
NuevoPerro()
           mmmm mejor q se llame LeerPerro :), solo leemos los datos del objeto,

public void LeerPerro() {
  Scanner sc = new Scanner(System.in);
  System.out.println("Nombre del Perro :");
  Nombre = sc.nextLine();
  System.out.println("Su color :");
  color = sc.nextLine();
  System.out.println("Su raza :");
  raza = sc.nextLine();
  System.out.println("Su sexo :");
  sexo = sc.nextLine();
 }
Mostrar()
          Solo mostramos
 
public void Mostrar() {
  System.out.println("Nombre del Perro : " + Nombre);
  System.out.println("Su color    : " + color);
  System.out.println("Su raza    : " + raza);
  System.out.println("Su sexo    : " + sexo);
 }

Clase Perro
import java.util.Scanner;
class Perro {
 private String Nombre;
 private String color;
 private String raza;
 private String sexo;

 public Perro() {
  Nombre = "Toby";
  color = "Cafe";
  raza = "Chapi";
  sexo = "MAcho";
 }

 public void LeerPerro() {
  Scanner sc = new Scanner(System.in);
  System.out.println("Nombre del Perro :");
  Nombre = sc.nextLine();
  System.out.println("Su color :");
  color = sc.nextLine();
  System.out.println("Su raza :");
  raza = sc.nextLine();
  System.out.println("Su sexo :");
  sexo = sc.nextLine();
 }

 public void Mostrar() {
  System.out.println("Nombre del Perro : " + Nombre);
  System.out.println("Su color    : " + color);
  System.out.println("Su raza    : " + raza);
  System.out.println("Su sexo    : " + sexo);
 }

}
Clase App, principal, como quieran llamarlo.
En esta clase se instanciara o para mejor entendimiento se creara cada objeto

Perro a = new Perro();
Con ello estamos creando un nuevo objeto de tipo PERRO, podemos crear infinidad de objetos con nombres diferente :xD.

public class Main {
 public static void main(String[] starsaminf) {
  Perro a = new Perro();
  a.LeerPerro();
  System.out.println("*****************");
  a.Mostrar();
  System.out.println("*****************");
  Perro b = new Perro();
  b.Mostrar();
  System.out.println("*****************");
 }
}
Saludos :D

Anuncio

Muy pronto INF-111 como programar en JAVA PASO A PASO con tutoriales desde lo mas básico

Saludos.