Você está na página 1de 15

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR

FACULTAD DE INGENIERIA

ESCUELA SISTEMAS





PROGRAMACION ORIENTADA A OBJETOS

ING. EDISON MORA



DAVID ARUZ

TERCER NIVEL 1



TEMA:

FECHA:
01-09-2014
Enunciado:
1) Definir una clase denominada computadora, con su respectivos datos miembro y
funciones miembro, tambin generar una funcin no miembro que permita mediante un
grafico de barras saber el tipo de procesador y cuantos hay.
UML

Cdigo:
/**
* @(#)inventarioComputador.java
*
* inventarioComputador Applet application
*
* @author
* @version 1.00 2014/8/27
*/

/** Defino la clase computadora*/

import java.awt.*;
import java.applet.*;

class computadora
{
private String marca;
private String serie;
private String procesador;
private int cantidad;
private String precio;

public computadora (String marca,String serie, String procesador,int cantidad,String
precio)
{
this.marca=marca;
this.serie=serie;
this.procesador=procesador;
this.cantidad=cantidad;
this.precio=precio;
}

public void ver_datos(Graphics a,int horizontal,int vertical)
{
a.drawString("Marca: "+this.marca,50+(15*horizontal),100+(15*vertical));
a.drawString("Serie: "+this.serie,50+(15*horizontal),120+(15*vertical));
a.drawString("Procesador:
"+this.procesador,50+(15*horizontal),140+(15*vertical));
a.drawString("Cantidad: "+this.cantidad,50+(15*horizontal),160+(15*vertical));
a.drawString("Precio: "+this.precio,50+(15*horizontal),180+(15*vertical));
}
public String getProcesador(){
return procesador;
}
public int getCantidad(){
return cantidad;
}
public String retornar_serie(){
return serie;
}
}

public class inventarioComputador extends Applet {

public void init() {
}
Font f=new Font("Dialog",Font.BOLD,18);
public boolean buscar(computadora x[],String serie)
{
for(int i=0;i<x.length;i++)
{
if(x[i].retornar_serie().compareTo(serie)==0)
return true;
}
return false;
}

public void paint(Graphics g) {
g.setFont(f);
g.setColor(Color.black);
g.drawString("COMPUTADORAS",540,30);
g.drawString("PROGRAMACIN ORIENTADA A OBJETOS Y EVENTOS",400,50);
g.drawString(" DAVID ARAUZ",530,70);
computadora []a={new computadora("DELL","A001","Core 2 Duo",10,"$500"),
new computadora("HP","A002","I3",15,"$700"),
new computadora("SONY","A003","I5",5,"$1000"),
new computadora("TOSHIBA","A004","I7",12,"$1200"),
new computadora("ASUS","A005","I5",8,"$900")};
g.setColor(Color.blue);
a[0].ver_datos(g,0,0);
a[1].ver_datos(g,15,0);
a[2].ver_datos(g,30,0);
a[3].ver_datos(g,45,0);
a[4].ver_datos(g,60,0);
g.setColor(Color.orange);
String buscarSerie="A002";
if(buscar(a,buscarSerie))
{
g.drawString("Articulo a buscar: "+buscarSerie,50,260);
g.drawString("Si se encontro",50,280);
if(buscarSerie=="A001")
{
a[0].ver_datos(g,0,15);
}
if(buscarSerie=="A002")
{
a[1].ver_datos(g,0,15);
}
if(buscarSerie=="A003")
{
a[2].ver_datos(g,0,15);
}
if(buscarSerie=="A004")
{
a[3].ver_datos(g,0,15);
}
if(buscarSerie=="A005")
{
a[4].ver_datos(g,0,15);
}
}
else
g.drawString("No se encontro",50,240);
grafico(g,a);
}
public void grafico(Graphics d,computadora[]informacion)
{
int x1[] = {750, 700, 700, 750};
int y1[] = {350, 350, 450, 450};
int x2[] = {850, 800, 800, 850};
int y2[] = {300, 300, 450, 450};
int x3[] = {950, 900, 900, 950};
int y3[] = {400, 400, 450, 450};
int x4[] = {1050, 1000, 1000, 1050};
int y4[] = {350, 350, 450, 450};
int x5[] = {1150, 1100, 1100, 1150};
int y5[] = {370, 370, 450, 450};
int n = 4;
d.setColor(Color.black);
d.drawLine(650,450,650,250);
d.drawLine(650,450,1200,450);
d.drawString(" 0 -",594,450);
d.drawString("2 -",594,430);
d.drawString("4 -",594,410);
d.drawString("6 -",594,390);
d.drawString("8 -",594,370);
d.drawString("10 -",594,350);
d.drawString("12 -",594,330);
d.drawString("14 -",594,310);
d.drawString("16 -",594,290);
d.drawString("18 -",594,270);
d.setColor(Color.orange);
d.drawString(informacion[0].getProcesador(),675,495);
d.drawString(""+informacion[0].getCantidad(),700,340);
d.fillPolygon(x1, y1, n);
d.setColor(Color.magenta);
d.drawString(informacion[1].getProcesador(),820,495);
d.drawString(""+informacion[1].getCantidad(),810,290);
d.fillPolygon(x2, y2, n);
d.setColor(Color.cyan);
d.drawString(informacion[2].getProcesador(),920,495);
d.drawString(""+informacion[2].getCantidad(),900,390);
d.fillPolygon(x3, y3, n);
d.setColor(Color.black);
d.drawString(informacion[3].getProcesador(),1020,495);
d.drawString(""+informacion[3].getCantidad(),1000,340);
d.fillPolygon(x4, y4, n);
d.setColor(Color.red);
d.drawString(informacion[4].getProcesador(),1120,495);
d.drawString(""+informacion[4].getCantidad(),1100,350);
d.fillPolygon(x5, y5, n);
}
}
HTML:
<html>
<head>
</head>
<body bgcolor="000000">
<center>
<applet
code = "inventarioComputador.class"
width = "950"
height = "500"
>
</applet>
<H1><A HREF="C:\Users\jarauz\Documents\JCreator
LE\MyProjects\inventarioComputador\src\inventarioComputador.java">Ver Codigo
Fuente</A></H1>
</center>
</body>
</html>


Salida:

Enunciado:
2) Definir una clase denominada cuenta, tiene sus respectivos datos miembro y las siguientes
funciones miembro: depositar, retirar, crear cuenta, calcular el 5% de inters anual,
verdatos. Se debe implementar un applet que permita realizar operaciones sobre las
cuentas y mediante una funcin no miembro busca por un nmero de cuenta y obtener
los datos correspondientes a esa cuenta, adems una funcin que permita obtener el
saldo total de las cuentas en un arreglo de 5 objetos de clase cuenta y adems generar un
grafico estadstico de lneas o barras que presente en el eje x el titular de la cuenta, y en el
eje y su saldo.
UML:

Cdigo:
/**
* @(#)proyectoCuenta.java
*
* proyectoCuenta Applet application
*
* @author
* @version 1.00 2014/8/30
*/

import java.awt.*;
import java.applet.*;

class cuenta
{
private String nombre_titular;
private String cedula;
private String tipo_cuenta;
private int numero_cuenta;
private double saldo;

public cuenta (String nombre_titular,String cedula,String tipo_cuenta,int
numero_cuenta,double saldo)
{
this.nombre_titular=nombre_titular;
this.cedula=cedula;
this.tipo_cuenta=tipo_cuenta;
this.numero_cuenta=numero_cuenta;
this.saldo=saldo;
}
public void ver_datos(Graphics a,int horizontal,int vertical)
{
a.drawString("Nombre:
"+this.nombre_titular,50+(15*horizontal),100+(15*vertical));
a.drawString("Cedula: "+this.cedula,50+(15*horizontal),120+(15*vertical));
a.drawString("Tipo de cuenta:
"+this.tipo_cuenta,50+(15*horizontal),140+(15*vertical));
a.drawString("Numero de cuenta:
"+this.numero_cuenta,50+(15*horizontal),160+(15*vertical));
a.drawString("Saldo: "+this.saldo,50+(15*horizontal),180+(15*vertical));
}
public double depositar(double deposito)
{
return deposito+saldo;
}
public double retirar(double retiro)
{
if(this.saldo<retiro)
{
return 0;
}
else
return saldo-retiro;
}
public double interes_anual()
{
int interes=5; //5% anual
return (saldo*interes*1)/100;
}
public String getNombre(){
return nombre_titular;
}
public double saldo(){return saldo;
}

public int retornar_cuenta(){
return numero_cuenta;
}
}

public class proyectoCuenta extends Applet {

public void init() {
}
Font f=new Font("Dialog",Font.BOLD,14);
public boolean buscar(cuenta x[],int numero_cuenta)
{
for(int i=0;i<x.length;i++)
{
if(x[i].retornar_cuenta()==numero_cuenta)
return true;
}
return false;
}
public double saldo_total(double saldo,double depositos,double retiros,double intereses)
{
return saldo+depositos-retiros+intereses;
}

public void paint(Graphics g) {
g.setFont(f);
g.setColor(Color.black);
g.drawString("CUENTAS",520,30);
g.drawString("PROGRAMACIN ORIENTADA A OBJETOS Y EVENTOS",400,50);
g.drawString(" DAVID ARAUZ",490,70);
cuenta []a={new cuenta("Andres Zamora","1724324645","Ahorros",102030,500),
new cuenta("Jorge Aviles","1758365299","Corriente",102031,300),
new cuenta("Juan Mata","1720795467","Ahorros",102032,200),
new cuenta("Carlos Abarca","1784673410","Corriente",102033,400),
new cuenta("Erick Vaca","1758365299","Corriente",102034,100)};
g.setColor(Color.blue);
a[0].ver_datos(g,0,0);
a[1].ver_datos(g,15,0);
a[2].ver_datos(g,30,0);
a[3].ver_datos(g,45,0);
a[4].ver_datos(g,60,0);
g.setColor(Color.green);
double deposito,retiro,interes,saldos;

buscar(a,102030);
a[0].ver_datos(g,0,10);
saldos=a[0].saldo();
deposito=a[0].depositar(300);
interes=a[0].interes_anual();
retiro=a[0].retirar(0);
g.drawString("Interes anual: "+interes,50,350);
g.drawString("Saldo a depositar: "+300,50,370);
g.drawString("Saldo mas deposito: "+deposito,50,390);
g.drawString("Saldo total: "+saldo_total(saldos,deposito,retiro,interes),50,410);

buscar(a,102031);
a[1].ver_datos(g,15,10);
saldos=a[1].saldo();
retiro=a[1].retirar(300);
interes=a[1].interes_anual();
g.drawString("Interes anual: "+interes,275,350);
g.drawString("Saldo a retirar: "+300,275,370);
g.drawString("Saldo menos retiro:"+retiro,275,390);
g.drawString("Saldo total: "+saldo_total(saldos,0,retiro+saldos,interes),275,410);
grafico(g,a);
}
public void grafico(Graphics d,cuenta[]informacion)
{
int x1[] = {750, 700, 700, 750};
int y1[] = {285, 285, 450, 450};
int x2[] = {850, 800, 800, 850};
int y2[] = {445, 445, 450, 450};
int x3[] = {950, 900, 900, 950};
int y3[] = {420, 420, 450, 450};
int x4[] = {1050, 1000, 1000, 1050};
int y4[] = {380, 380, 450, 450};
int x5[] = {1150, 1100, 1100, 1150};
int y5[] = {430, 430, 450, 450};
int n = 4;
d.setColor(Color.black);
d.drawLine(650,450,650,250);
d.drawLine(650,450,1200,450);
d.drawString(" 0 -",594,450);
d.drawString("100 -",594,430);
d.drawString("200 -",594,410);
d.drawString("300 -",594,390);
d.drawString("400 -",594,370);
d.drawString("500 -",594,350);
d.drawString("600 -",594,330);
d.drawString("700 -",594,310);
d.drawString("800 -",594,290);
d.drawString("900 -",594,270);
d.setColor(Color.orange);
d.drawString(informacion[0].getNombre(),675,495);
d.drawString("$"+825,700,280);
d.fillPolygon(x1, y1, n);
d.setColor(Color.magenta);
d.drawString(informacion[1].getNombre(),800,495);
d.drawString("$"+15,810,440);
d.fillPolygon(x2, y2, n);
d.setColor(Color.cyan);
d.drawString(informacion[2].getNombre(),900,495);
d.drawString("$"+informacion[2].saldo(),900,410);
d.fillPolygon(x3, y3, n);
d.setColor(Color.black);
d.drawString(informacion[3].getNombre(),990,495);
d.drawString("$"+informacion[3].saldo(),1000,370);
d.fillPolygon(x4, y4, n);
d.setColor(Color.red);
d.drawString(informacion[4].getNombre(),1100,495);
d.drawString("$"+informacion[4].saldo(),1100,420);
d.fillPolygon(x5, y5, n);
}
}
HTML:
<html>
<head>
</head>
<body bgcolor="000000">
<center>
<applet
code = "proyectoCuenta.class"
width = "950"
height = "500"
>
</applet>
<H1><A HREF="C:\Users\jarauz\Documents\JCreator
LE\MyProjects\proyectoCuenta\src\proyectoCuenta.java">Ver Codigo Fuente</A></H1>
</center>
</body>
</html>
Salida:



Enunciado:
3) Escriba un applet en java con html en el que se defina la clase ecuaciones, esta clase va a
permitir encontrar las races de una ecuacin de primer o segundo grado asociada a las
funciones lineal y cuadrtica, defina los datos miembro de la clase y las funciones
miembro. Genere un grfico que presentar la lnea de la funcin lineal del plano o la
parbola correspondiente a la funcin cuadrtica.
UML:

Cdigo:
/**
* @(#)proyectoEcuaciones.java
*
* proyectoEcuaciones Applet application
*
* @author
* @version 1.00 2014/8/31
*/

import java.awt.*;
import java.applet.*;
import java.math.*;
import java.text.DecimalFormat;

class ecuaciones
{
private int a,b,c;
private double discriminante,respuesta,x1,x2;

public ecuaciones(int a,int b,int c)
{
this.a=a;
this.b=b;
this.c=c;
}
public void ver_datos(Graphics g,int horizontal,int vertical)
{
g.drawString("Coeficiente a: "+a,horizontal,vertical);
g.drawString("Coeficiente b: "+b,horizontal,vertical+20);
g.drawString("La ecuacion P.grado es: "+a+"x+"+b+"=0",horizontal,vertical+40);
}
public void ver_datos2(Graphics g,int horizontal,int vertical)
{
g.drawString("Coeficiente a: "+a,horizontal+60,vertical);
g.drawString("Coeficiente b: "+b,horizontal+60,vertical+20);
g.drawString("Constante c: "+c,horizontal+60,vertical+40);
g.drawString("La ecuacion S.grado es:
"+a+"x^2+"+b+"x+"+c+"=0",horizontal+60,vertical+60);
}
public void raiz(Graphics g,int horizontal, int vertical)
{
DecimalFormat formato=new DecimalFormat("##.##");
respuesta=(-1*(b/a));
g.drawString("x= "+formato.format(respuesta),horizontal+60,vertical+80);
}
public void raices(Graphics g,int horizontal,int vertical)
{
DecimalFormat formato=new DecimalFormat("##.##");
discriminante=Math.pow(b,2)-4*a*c;
if(discriminante!=0)
{
if(discriminante<0){
g.drawString("Tiene raices imaginarias",horizontal+60,vertical+80);
}
else{
x1=(-b+Math.sqrt(discriminante))/(2*a);
x2=(-b-Math.sqrt(discriminante))/(2*a);
g.drawString("x1=
"+formato.format(x1),horizontal+60,vertical+60);
g.drawString("x2=
"+formato.format(x2),horizontal+60,vertical+80);
}
}
else
g.drawString("el coeficiente cuadratico debe ser diferente de
cero",horizontal+60,vertical+80);
}
}

public class proyectoEcuaciones extends Applet {

public void init() {
}
Font f=new Font("Dialog",Font.BOLD,18);

public void paint(Graphics g) {

g.setFont(f);
g.setColor(Color.black);
g.drawString("ECUACIONES",280,30);
g.drawString("PROGRAMACIN ORIENTADA A OBJETOS Y EVENTOS",100,50);
g.drawString(" DAVID ARAUZ",250,70);
g.setColor(Color.green);
ecuaciones a=new ecuaciones(2,6,2);
a.ver_datos(g,20,100);
a.raiz(g,20,100);
g.setColor(Color.red);
a.ver_datos2(g,400,100);
a.raices(g,400,130);
g.setColor(Color.black);
grafico(g);
}
public void grafico(Graphics d)
{
d.drawString("x",270,355);
d.drawString("y",145,240);
d.drawLine(150,450,150,250);
d.drawLine(250,350,50,350);
d.setColor(Color.green);
d.drawLine(80,450,250,280);
int i=0,a=1,b=1,c=1;
while(i<=12)
{
d.setColor(Color.black);
d.drawString("x",720,400);
d.drawString("y",580,240);
d.drawLine(580,450,580,250);
d.drawLine(700,400,450,400);
d.setColor(Color.green);
d.fillOval(550+(i*6),420-(a*(i)*(i))+((b*(i))+c),1,1);
d.drawLine(550+(i*6),420-((a*(i)*(i))+(b*(i))+c),550+((i+1)*6),420-
((a*(i+1)*(i+1))+(b*(i+1))+c));
d.drawLine(550-(i*6),420-((a*(i)*(i))+(b*(i))+c),550-((i+1)*6),420-
((a*(i+1)*(i+1))+(b*(i+1))+c));
i=i+1;
}
}
}
HTML:
<html>
<head>
</head>
<body bgcolor="000000">
<center>
<applet
code = "proyectoEcuaciones.class"
width = "950"
height = "500"
>
</applet>
<H1><A HREF="C:\Users\jarauz\Documents\JCreator
LE\MyProjects\proyectoEcuaciones\src\proyectoEcuaciones.java">Ver Codigo Fuente</A></H1>
</center>
</body>
</html>

Salida:

Bibliografa:
Apuntes de la clase de Programacin Orientada a Objetos.

Você também pode gostar