Guia Laboratorio Programacion Orientada A Objetos 2013 PDF
Guia Laboratorio Programacion Orientada A Objetos 2013 PDF
Guia Laboratorio Programacion Orientada A Objetos 2013 PDF
Enero 2013
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
Autor: Deitel y Deitel Introducción DOO con UML y los Patrones de Diseño JDBC tm, SERVLETS,
JSP tm Editorial Pearson Prentice Hall Quinta Edición.
David Arnow Gerald Weiss Introducción a la Programación con Java tm Actualización a la Versión
2 de Java Editorial Addison Wesley.
Fcd Javier Ceballos Java 2 Curso de Programación 2 Edición Editorial Alfaomega Ra-Ma.
Agustin Froute Java 2 Manual Usuario tutorial 3 Edición Editorial Alfaomega Ra-Ma 5.
Herbert shildt Fundamentos de Programación Java 2 Editorial Mc Graw Hill . para conocer el
lenguaje de programación JAVA.
Arnow, D., Weiss, G., Introducción a la programación con JAVA, Addison wesley, 2000.
Meyer, B., Construcción de software orientado a objetos, Prentice Hall, segunda edición, 1997.
Wu, T., Introducción a la programación orientada a objetos con Java, Mc Graw Hill, 2000.
Joyanes, L., Programación orientada a objetos, Segunda edición, Mc Graw Hill, 1998.
Joyanes, L., C++ a su alcance un enfoque orientada a objetos, Editorial, Mc Graw Hill, 1994.
Cesar Becerra Santamaría, C++ Una Herramienta para la Programación Orientada a Objetos,
Editorial Mc Graw Hill, 1.993.
Fco Javier Ceballos, Programación Orientada a Objetos con C++,Editorial Alfaomega, 1.998.
www.lawebdelprogramador.com
www.programacion.com
http://www.cimat.mx/~jlabreu/CursoJava/
http://www.mindview.net/Books/TIJ
http://java.sun.com/docs/books/tutorial/
http://programacion.com/java/tutoriales/
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
3. INDICE DE CONTENIDO
Pág.
1. PRESENTACION 1
3. INDICE DE CONTENIDO 3
4. LISTADO DE TABLAS 4
5. CARACTERÍSTICAS GENERALES 5
6. DESCRIPCIÓN DE PRÁCTICAS 8
5. CARACTERÍSTICAS GENERALES
Intencionalidades Propósitos:
formativas
Dar a conocer a los estudiantes de una forma clara los conceptos
fundamentales de la Programación Orientada a Objetos en JAVA.
Objetivos:
Que el estudiante Describa los conceptos que caracterizan al modelo
Programación Orientada a Objetos Utilizando JAVA.
Metas:
Competencias:
El estudiante comprende e interpreta todos los conceptos
fundamentales de la Programación Orientada a Objetos, para poder
analiza, diseñar, desarrollar e implantar aplicaciones más robustas y
con código reutilizable con JAVA.
6. DESCRIPCIÓN DE PRÁCTICAS
Tipo de practica
Meta(s):
El estudiante desarrolla el proyecto y los diferentes talleres en
forma adecuada, utilizando las diferentes técnicas y estrategias
estudiadas a lo largo del curso de Java.
Competencia(s):
Fundamentación Teórica:
Descripción de la practica:
El estudiante debe instalar una maquina virtual y Java Eclipse en su casa, este software
debe ser bajado a través de internet de la página Sum Macrosystem
práctica:
Seguridad Industrial:
No Ingresar Alimentos líquidos o sólidos al Laboratorio. Para que se presente algún corto circuito
No ingresar otros aparatos electrónicos como radios, Walkman, para que no interfieran en el
desarrollo del laboratorio.
No Cambiar los computadores de sitio sin autorización del monitor del laboratorio.
No desconfigurar los los equipos de computo ya que este presta servicio a toda la comunidad
unadista.
Metodología
Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor de
laboratorio los cuales están analizados, diseñados y desarrollados completamente listos para que
su código sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haber
analizado el código se enfrentara a la tarea de desarrollar una serie de programas por sí solo.
Procedimiento: El Estudiante debe investigar como puede hacer estos mismos programas
utilizando las librerías import java.io.* y applet
Sistema de Evaluación
El sistema de evaluación estará a cargo de los tutores de Laboratorio ya que ellos son
autónomos de calificar bien sea en grupos o de forma individual el trabajo realizado en los
laboratorios
Rúbrica de evaluación
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
Rúbrica de Evaluación:
TOTAL DE 25
PUNTOS
POSIBLES
Retroalimentación
Después de tener instado el Aplicativo Java Eclupse, usted debe seguir los siguientes pasos para
el desarrollo de cualquier programa en java:
import javax.swing.*;
public class LecturaVector
{
public static void main(String[] args)
{
int n,i,j,aux;
int A[];
n=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite la dimension: "));
A=new int[n];
for(i=0;i<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
System.exit(0);
}
}
1. CAJAS DE DIALOGO
El método showMessageDialog
Este método nos permite mostrar diálogos que muestran un mensaje y contienen un botón de
aceptación. Los parámetro mínimos necesarios dependen del carácter del mensaje aunque general
mente son la ventana padre, el mensaje a mostrar, el título del diálogo y el tipo de mensaje que se
mostrará. En las siguientes figuras podremos ver algunos ejemplos junto al código que lo genera.
JOptionPane.showMessageDialog( null, “Diálogo de información”);
El método showInputDialog
Este método nos permite mostrar diálogos estandarizados que nos piden que introduzcamos algún
dato. Al igual que en los métodos anteriores los argumentos que utilizan principalmente son el
mensaje a mostrar, el título, etc. A continuación vemos un ejemplo de uso de este método.
String n = JOptionPane.showInputDialog(null, "Introduce el dato");
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
Como podemos observar en el código anterior este método nos devuelve una cadena que contiene
los datos que hemos introducido en el diálogo.
donde las cajas de Dialogo están en el paquete de clases javax.swing, por eso, en la cláusula
import javax.swing.*;
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
2. Definiciones de Arreglos
1. Declaración de un arreglo:
int A[]; // A es un arreglo de enteros
int A[10]; // error, el tamaño no va aquí
int[] A; // A es un arreglo de enteros
int A,B[]; // A es un entero, B un arreglo
int[] A,B; // A y B son arreglos
String S[]; // S es un arreglo de strings
S[1]="" // error, el arreglo no ha sido
// creado
2. Creación de un arreglo
A[3]= 8;
4. Tamaño de un arreglo:
A.length // correcto
A.length() // error, sin paréntesis
5. Inicialización de un arreglo:
int B[];
B= A; // A y B son el mismo arreglo
if (A==B) // Comparación de punteros
// true!
...
A[0]= 10;
B[0] // también 10
7. Copia de un arreglo:
B= (int[])A.clone();
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
{
System.out.print(A[i]+" ");
}
System.out.println();
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
}
class CasoVector2
{
StringBuffer P=new StringBuffer("Vector de Entrada: Vector de Salida: ");
StringBuffer Q;
int i,j,aux;
int A[]=new int[10];
Random R=new Random();
public CasoVector2()
{
for(i=0;i<A.length;i++)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
A[i]=Math.abs(R.nextInt()%99+1);
j=new String(P.toString()).indexOf(':');
insertar(j);
ordenar();
j=new String(P.toString()).lastIndexOf(':');
insertar(j);
}
void insertar(int k)
{
Q=new StringBuffer();
for(i=0;i<A.length;i++)
{
Q.append(" ");
Q.append(A[i]);
}
P.insert(k+1,Q.toString());
}
void ordenar()
{
for(i=0;i<A.length-1;i++)
for(j=i+1;j<A.length;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
String impresion()
{
return P.toString();
}
}
public class VectorCasos
{
public static void main(String[] args)
{
CasoVector1 X=new CasoVector1();
CasoVector2 Y=new CasoVector2();
JOptionPane.showMessageDialog(null," Caso Vector 1: \n"+X.impresion().toString());
JOptionPane.showMessageDialog(null," Caso Vector 2: \n"+Y.impresion().toString());
System.exit(0);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
k/=10;
}
return m;
}
}
public class PasoInverso
{
public static void main(String[] args)
{
Inverso I=new Inverso();
String S;
int n;
do
{
n=0;
S=JOptionPane.showInputDialog(null," Digite Valor a Invertir: ");
try
{
n=Integer.parseInt(S);
}
catch(NumberFormatException e){n=0;}
}
while(n==0);
char C[]=new char[S.length()];
int A[]=new int[S.length()];
StringBuffer B=new StringBuffer();
int i;
I.pasar(C,S);
I.pasar(A,n);
JOptionPane.showMessageDialog(null," Valor Inverso de String a char[]: "+new String().valueOf(C).toString());
for(i=0;i<A.length;i++)
B.append(A[i]);
JOptionPane.showMessageDialog(null," Valor Inverso de un Entero a int[]: "+B.toString());
JOptionPane.showMessageDialog(null," Valor Inverso de String a String "+new String().valueOf(I.pasar(S)).toString());
JOptionPane.showMessageDialog(null," Valor Inverso de String a int "+B.toString());
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
import java.util.*;
import javax.swing.*;
class SumaDiagTran
{
public static void main(String[] args)
{
int filas=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite las Filas: "));
int columnas=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite las columnas: "));
int i,j,k;
int d=0,t=columnas-1;
int sumad=0,sumat=0;
Random R=new Random();
int A[][]=new int[filas][columnas];
//Lectura()
for(i=0;i<filas;i++)
for(j=0;j<columnas;j++)
A[i][j]=Math.abs(R.nextInt()%10+1);
for(i=0;i<filas;i++)
{
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
sumad=sumad+A[i][d];
sumat=sumat+A[i][t];
d++;
t--;
}
//Escritura
System.out.println(" ------ Matriz Leida -------");
for(i=0;i<filas;i++)
{
System.out.println();
for(j=0;j<columnas;j++)
{
if(A[i][j]>=10)
System.out.print(A[i][j]+" ");
else
System.out.print(A[i][j]+" ");
}
}
System.out.println();
System.out.println("Suma de Diagonal: "+sumad+" Suma Transversal: "+sumat);
System.exit(0);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
{
P.append("\n ");
for(j=0;j<4;j++)
{
P.append(A[i][j]);
if(A[i][j]<10)
P.append(" ");
if(A[i][j]<100)
P.append(" ");
P.append(" ");
}
}
return P.toString();
}
}
public class Kardex
{
public static void main(String[] args)
{
Inventario X=new Inventario();
Object[] Opcion={"1. Compra","2. Venta","3. Consulta","4.Cierre"};
int opc,pos;
String S;
do
{
S=(String) JOptionPane.showInputDialog(null,"Opciones: "," Almacen
Doris",JOptionPane.QUESTION_MESSAGE,null,Opcion,Opcion[2]);
opc=Character.digit(S.charAt(0),10);
switch(opc)
{
case 1:
pos=X.existe(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Codigo ")));
if(pos==-1)
JOptionPane.showMessageDialog(null,"No existe Codigo");
else
X.compra(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Cantidad a Comprar ")),pos);
break;
case 2:
pos=X.existe(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Codigo ")));
if(pos==-1)
JOptionPane.showMessageDialog(null,"No existe Codigo");
else
X.venta(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Cantidad a Venta ")),pos);
break;
case 3:
JOptionPane.showMessageDialog(null," Inventario \n"+X.impresion().toString());
}
}while(opc!=4);
System.exit(0);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
void reloj()
{
int hi=hora+2;
ha=(hora*60)+minuto;
do
{
do
{
h=Math.abs(R.nextInt()%21+hora);
}
while(h<hora || h>hora+2);
m=Math.abs(R.nextInt()%59+0);
hf=(h*60)+m;
}
while(hf<=ha);
hora=h;
minuto=m;
}
boolean noatiende()
{
if(hora>=20)
return true;
else
return false;
}
while(Entrada[i][j]!=0);
reloj();
Militar[i][j]=(hora*100)+minuto;
Entrada[i][j]=(hora*60)+minuto;
Placa[i][j]=placa;
}
}
int salida(int placa)
{
if(existe(placa))
{
reloj();
hf=(hora*60)+minuto;
ha= (hora*100)+minuto;
k=(hf-Entrada[i][j])*10;
JOptionPane.showMessageDialog(null,"Placa: "+placa+"\n Hora de Entrada: "+leerReloj(Militar[i][j]).toString()+" \n Hora de
Salida: "+leerReloj(ha).toString()+" \n Pago:"+k);
Entrada[i][j]=0;
Placa[i][j]=0;
Militar[i][j]=0;
}
else
{
JOptionPane.showMessageDialog(null,"No existe la placa:"+placa);
k=0;
}
return k;
}
String impresion()
{
StringBuffer P=new StringBuffer();
P.append(" PLACA ENTRADA");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(Placa[i][j]!=0)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
{
P.append("\n ");
P.append(Placa[i][j]);
P.append(" ");
P.append(Militar[i][j]);
}
return P.toString();
}
}
public class Parqueadero
{
public static void main(String[] args)
{
Object[] Opcion={"1. Entrada","2. Salida","3. Consulta","4. Cierre"};
int opc,placa;
String S;
Parqueo P=new Parqueo();
do
{
S=(String) JOptionPane.showInputDialog(null,"Opciones: "," Parqueadero
Doris",JOptionPane.QUESTION_MESSAGE,null,Opcion,Opcion[0]);
opc=Character.digit(S.charAt(0),10);
switch(opc)
{
case 1:
if(!P.noatiende() && !P.lleno())
{
placa=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Placa: "," Parqueadero
Doris",JOptionPane.QUESTION_MESSAGE));
if(P.existe(placa))
JOptionPane.showMessageDialog(null,"Placa: "+placa+" Ya Esta en el Parqueadero");
else
P.asignar(placa);
}
break;
case 2:
if(!P.noatiende())
{
placa=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Placa: "," Parqueadero
Doris",JOptionPane.QUESTION_MESSAGE));
P.salida(placa);
}
break;
case 3:
JOptionPane.showMessageDialog(null," Parqueadero Doris \n"+P.impresion().toString());
}
}
while(opc!=4);
System.exit(0);
}
}
Tipo de practica
Meta(s):
Competencia(s):
El estudiante describe y analiza de manera adecuada y
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
Fundamentación Teórica
Descripción de la practica
El estudiante debe instalar una maquina virtual y Java Eclipse en su casa, este software
debe ser bajado a través de internet de la página Sum Macrosystem
Metodología
Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor de
laboratorio los cuales están analizados, diseñados y desarrollados completamente listos para que
su código sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haber
analizado el código se enfrentara a la tarea de desarrollar una serie de programas por sí solo.
Procedimiento: El Estudiante debe investigar como puede hacer estos mismos programas
utilizando las librerías import java.io.* y applet
Sistema de Evaluación
El sistema de evaluación estará a cargo de los tutores de Laboratorio ya que ellos son
autónomos de calificar bien sea en grupos o de forma individual el trabajo realizado en los
laboratorios
Rúbrica de evaluación
Rúbrica de Evaluación:
TOTAL DE 25
PUNTOS
POSIBLES
Retroalimentación
1. Ejemplo Cola1:
import javax.swing.*;
import java.io.*;
import java.lang.Math.*;
import java.util.*;
public class Cola1
{
static double SALDO=0;
public static void main(String[]args)
{
int i,opc,nit;
Cola A=new Cola(10);
Cola B=new Cola(20);
Cliente C=new Cliente();
Object [] valores = {"1. Adicion","2. Borrar","3. Consulta Por Atender","4. Consulta Atendidos","5.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
C.nit=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba el número de Nit"));
if(A.existe(C.nit) || B.existe(C.nit))
JOptionPane.showMessageDialog(null,"Existe Nit");
else
if(A.llena())
JOptionPane.showMessageDialog(null,"No se Puede Atender Mas");
else
{
C.nomCliente=JOptionPane.showInputDialog(null,"Digite Nombre");
C.telefono=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Telefono"));
A.adicion(C);
}
break;
case 2:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Cola de Atencion Vacia");
else
{
A.borra(C);
if(!B.llena())
B.adicion(C);
}
break;
case 3:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Cola de Atencion Vacia");
else
JOptionPane.showMessageDialog(null,A.imprime(" Atencion "));
break;
case 4:
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
if(B.vacia())
JOptionPane.showMessageDialog(null,"Cola de Atendidos Vacia");
else
JOptionPane.showMessageDialog(null,B.imprime(" Atencion "));
}
}
while(opc!=5);
}
}
class Cliente
{
int nit;
String nomCliente;
int telefono;
}
class Cola
{
int min,max,n;
Cliente A[];
int i;
public Cola(int n)
{
min=-1;
max=-1;
this.n=n;
A=new Cliente[n];
}
boolean vacia()
{
if(min==-1)
return true;
else
return false;
}
boolean llena()
{
if(max==n-1)
return true;
else
return false;
}
void adicion(Cliente C)
{
if(min==-1)
min++;
max++;
A[max]=new Cliente();
A[max].nit=C.nit;
A[max].telefono=C.telefono;
A[max].nomCliente=C.nomCliente;
}
void borra(Cliente C)
{
C.nit=A[min].nit;
C.telefono=A[min].telefono;
C.nomCliente=A[min].nomCliente;
if(min==max)
min=max=-1;
else
min++;
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
boolean existe(int nit)
{
boolean esta=false;
if(!vacia())
for(i=min;i<=max && ! esta;i++)
if(A[i].nit==nit)
esta=true;
return esta;
}
String imprime(String Aviso)
{
String S=" Elemenos de la Cola de: "+Aviso.toString()+"\n";
for(i=min;i<=max;i++)
{
S=S+" "+new String().valueOf(A[i].nit).toString();
S=S+" "+A[i].nomCliente;
S=S+" "+new String().valueOf(A[i].telefono).toString()+"\n";
}
return S.toString();
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
2. Ejemplo Cola2:
import javax.swing.*;
import java.io.*;
import java.lang.Math.*;
import java.util.*;
public class Cola2
{
public static void main(String[]args)
{
int i,opc,nit;
BiCola A=new BiCola(10);
Info C=new Info();
Object [] valores = {"1. Adicion Mas Reciente","2. Adicion Menos Reciente","3. Borrar Menos
Reciente","4. Borrar Mas Recientes","5. Consulta","6.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
if(A.llena())
JOptionPane.showMessageDialog(null,"No se Puede Atender Mas");
else
{
C.nit=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba el número de Nit"));
C.nomCliente=JOptionPane.showInputDialog(null,"Digite Nombre");
C.telefono=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Telefono"));
A.adicion_max(C);
}
break;
case 2:
if(A.llena())
JOptionPane.showMessageDialog(null,"No se Puede Atender Mas");
else
if(!A.tope() && !A.minimo())
{
C.nit=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba el número de Nit"));
C.nomCliente=JOptionPane.showInputDialog(null,"Digite Nombre");
C.telefono=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Telefono"));
A.adicion_min(C);
}
break;
case 3:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Cola de Atencion Vacia");
else
{
A.borra_min();
}
break;
case 4:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Cola de Atencion Vacia");
else
{
A.borra_max();
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
break;
case 5:
if(A.vacia())
JOptionPane.showMessageDialog(null,"BiCola Vacia");
else
JOptionPane.showMessageDialog(null,A.imprime());
}
}
while(opc!=6);
}
}
class Info
{
int nit;
String nomCliente;
int telefono;
}
class BiCola
{
int min,max,n;
Info A[];
int i;
public BiCola(int n)
{
min=-1;
max=-1;
this.n=n;
A=new Info[n];
for(i=0;i<n;i++)
A[i]=new Info();
}
boolean vacia()
{
if(min==-1)
return true;
else
return false;
}
boolean llena()
{
if(min==0 && max==n-1)
return true;
else
return false;
}
boolean tope()
{
if(max==n-1)
return true;
else
return false;
}
boolean minimo()
{
if(min==0)
return true;
else
return false;
}
void adicion_max(Info C)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
{
if(min==-1)
min=0;
max++;
A[max].nit=C.nit;
A[max].telefono=C.telefono;
A[max].nomCliente=C.nomCliente;
}
void adicion_min(Info C)
{
min--;
A[min].nit=C.nit;
A[min].telefono=C.telefono;
A[min].nomCliente=C.nomCliente;;
}
void borra_min()
{
if(min==max)
min=max=-1;
else
min++;
}
void borra_max()
{
if(min==max)
min=max=-1;
else
max--;
}
String imprime()
{
String S=" Elemenos de la Cola \n";
for(i=min;i<=max;i++)
{
S=S+" "+new String().valueOf(A[i].nit).toString();
S=S+" "+A[i].nomCliente;
S=S+" "+new String().valueOf(A[i].telefono).toString()+"\n";
}
return S.toString();
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
3. Ejemplo Cola3:
import javax.swing.*;
import java.io.*;
import java.lang.Math.*;
import java.util.*;
public class Cola3
{
public static void main(String[]args)
{
int i,opc,nit;
ColaCir A=new ColaCir(3);
Info C=new Info();
Object [] valores = {"1. Adicion","2.Eliminar","3. Consulta","4.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
if(A.llena())
JOptionPane.showMessageDialog(null,"No se Puede Atender Mas");
else
{
C.nit=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba el número de Nit"));
C.nomCliente=JOptionPane.showInputDialog(null,"Digite Nombre");
C.telefono=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Telefono"));
A.adicion(C);
}
break;
case 2:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Cola de Atencion Vacia");
else
{
A.borrar();
}
break;
case 3:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Cola Vacia");
else
JOptionPane.showMessageDialog(null,A.imprime());
}
}
while(opc!=4);
}
}
class Info
{
int nit;
String nomCliente;
int telefono;
}
class ColaCir
{
int min,max,n;
Info A[];
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
int i;
String S=" ";
public ColaCir(int n)
{
min=-1;
max=-1;
this.n=n;
A=new Info[n];
for(i=0;i<n;i++)
A[i]=new Info();
}
boolean vacia()
{
if(min==-1)
return true;
else
return false;
}
boolean llena()
{
if((min==0 && max==n-1) || (max==min-1))
return true;
else
return false;
}
void adicion(Info C)
{
if(min==-1)
min=0;
if(max==n-1)
max=0;
else
max++;
A[max].nit=C.nit;
A[max].telefono=C.telefono;
A[max].nomCliente=C.nomCliente;;
}
void borrar()
{
if(min==max)
min=max=-1;
else
if(min==n-1)
min=0;
else
min++;
}
String imprime()
{
S=" Elemenos de la Cola \n";
if(max<min)
{
consulta(min,n-1);
consulta(0,max);
}
else
consulta(min,max);
return S.toString();
}
void consulta(int inf,int sup)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
{
for(i=inf;i<=sup;i++)
{
S=S+" "+new String().valueOf(A[i].nit).toString();
S=S+" "+A[i].nomCliente;
S=S+" "+new String().valueOf(A[i].telefono).toString()+"\n";
}
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
A=new int[n];
}
void cargar()
{
P.tabla();
}
boolean salir()
{
if(!P.lectura("cliente.txt"))
return true;
cargar();
if(P.tope()==0)
return true;
return false;
}
boolean vacia()
{
if(min==-1)
return true;
else
return false;
}
boolean llena()
{
if(max==n)
return true;
else
return false;
}
boolean hayMas()
{
if(numreg<P.tope())
return true;
else
return false;
}
void adicion()
{
if(min==-1)
min++;
max++;
numreg++;
A[max]=numreg;
}
void borrar()
{
if(min==max)
min=max=-1;
else
min++;
}
String imprime()
{
String S=" Elemenos de la Cola de: \n";
for(i=min;i<=max;i++)
{
S=S+P.consulta(A[i])+"\n";
}
return S.toString();
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
String Consulta()
{
return P.Consultabla();
}
void cerrar()
{
P.cerrar();
}
}
class ArchivoBase
{
long longreg=34;
StringBuffer linea=new StringBuffer();
RandomAccessFile arch;
long pos=-1; //Numero de Registro
long k;
int numreg=-1;
Hashtable H=new Hashtable();
boolean lectura(String Nom)
{
try
{
arch=new RandomAccessFile(Nom.toString(),"r");
}
catch(FileNotFoundException e)
{
System.out.println("No Existe Archivo");
return false;
}
return true;
}
void tabla()
{
pos=0;
numreg=-1;
try
{
do
{
numreg++;
H.put(new String().valueOf(numreg),new String().valueOf(pos));
pos=pos+(longreg*2);
}
while(pos<arch.length());
}
catch(IOException e)
{
}
}
void bajar()
{
try
{
arch.seek(pos);
for(k=pos;k<pos+longreg;k++)
{
if(k==7 || k==27)
linea.append(" ");
linea.append(arch.readChar());
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
catch(IOException e)
{
}
}
String consulta(int n)
{
String S=new String().valueOf(n);
linea=new StringBuffer();
pos=Long.parseLong((String) H.get(S));
bajar();
return linea.toString();
}
long longitud()
{
long k=0;
try
{
k=arch.length();
}
catch(IOException e){}
return k;
}
int tope()
{
return numreg;
}
String Consultabla()
{
Enumeration codigo=H.keys();
String S=null;
linea=new StringBuffer();
linea.append(" Codigo Nombre Telefono \n");
while(codigo.hasMoreElements())
{
S=(String) codigo.nextElement();
pos=Long.parseLong((String) H.get(S))*longreg;
bajar();
linea.append("\n");
}
return linea.toString();
}
void cerrar()
{
try
{
arch.close();
}
catch(IOException e){}
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
5. Ejemplo de Lista
import javax.swing.*;
class Nodo {
int info;
Nodo(int info) {
this.info = info;
}
Nodo sig;
}
class Listas
{
Nodo p,q,r;
Nodo cab=null;
boolean busca_ant(int x)
{
p=q=cab;
while(p!=null && p.info!=x)
{
q=p;
p=p.sig;
}
if(p!=null)
return true;
else
return false;
}
void recorre_ant()
{
p=q=cab;
while(p!=null)
{
q=p;
p=p.sig;
}
}
void adicion(int x)
{
if(!busca_ant(x))
{
r=new Nodo(x);
if(cab==null)
cab=r;
else
q.sig=r;
r.sig=null;
}
}
void borrar(int x)
{
if(busca_ant(x))
{
if(p==cab)
cab=cab.sig;
else
q.sig=p.sig;
}
}
String consulta()
{
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
S+=p.info+"\n";
p=p.sig;
}
return S.toString();
}
}
public class Lista
{
public static void main(String[]args)
{
int i,opc,info;
Listas L=new Listas();
Object [] valores = {"1. Adicion","2. Borrar","3. Consulta","4.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
info=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Info a Adicionar:"));
L.adicion(info);
break;
case 2:
info=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Info a Borrar:"));
L.borrar(info);
break;
case 3:
JOptionPane.showMessageDialog(null,L.consulta());
break;
}
}
while(opc!=4);
System.exit(1);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
S+=p.info+"\n";
p=p.sig;
}
return S.toString();
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
public class ListaCola
{
public static void main(String[]args)
{
int i,opc,info;
Listas L=new Listas();
Object [] valores = {"1. Adicion","2. Borrar","3. Consulta","4.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
info=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Info a Adicionar:"));
L.adicion(info);
break;
case 2:
if(!L.vacia())
L.borrar();
break;
case 3:
JOptionPane.showMessageDialog(null,L.consulta());
break;
}
}
while(opc!=4);
System.exit(1);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
{
r=new Nodo(x);
ult.sig=r;
r.ant=ult;
r.sig=null;
ult=r;
}
void adicion(int x)
{
if(vacia())
primero(x);
else
if(x>ult.info)
mayor(x);
else
if(x<cab.info)
menor(x);
else
if(!esta(x))
insertar(x);
}
void borrar(int x)
{
if(esta(x))
{
if(p==cab)
{
if(cab==ult)
cab=ult=null;
else
{
cab=cab.sig;
cab.ant=null;
}
}
else
if(p==ult)
{
ult=ult.ant;
ult.sig=null;
}
else
{
r=p.sig;
q.sig=r;
r.ant=q;
}
}
}
String consulta_asc()
{
String S="C O N S U L T A \n" ;
p=cab;
while(p!=null)
{
S+=p.info+"\n";
p=p.sig;
}
return S.toString();
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
String consulta_desc()
{
String S="C O N S U L T A \n" ;
p=ult;
while(p!=null)
{
S+=p.info+"\n";
p=p.ant;
}
return S.toString();
}
}
public class ListaEncadenada
{
public static void main(String[]args)
{
int i,opc,info;
Listas L=new Listas();
Object [] valores = {"1. Adicion","2. Borrar","3. Consulta Ascendente","4. Consulta
Descendente","5.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
info=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Info a Adicionar:"));
L.adicion(info);
break;
case 2:
info=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Info a Borrar:"));
L.borrar(info);
break;
case 3:
JOptionPane.showMessageDialog(null,L.consulta_asc());
break;
case 4:
JOptionPane.showMessageDialog(null,L.consulta_desc());
break;
}
}
while(opc!=5);
System.exit(1);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
S+=p.info+"\n";
p=p.sig;
}
return S.toString();
}
}
public class ListaPila
{
public static void main(String[]args)
{
int i,opc,info;
Listas L=new Listas();
Object [] valores = {"1. Adicion","2. Borrar","3. Consulta","4.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
info=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Info a Adicionar:"));
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
L.adicion(info);
break;
case 2:
if(!L.vacia())
L.borrar();
break;
case 3:
JOptionPane.showMessageDialog(null,L.consulta());
break;
}
}
while(opc!=4);
System.exit(1);
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
S+=p.Cod+" "+p.Nombre+"\n";
p=p.sig;
}
return S.toString();
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
class Facultad
{
Programa p,q,r;
Programa cab=null;
Programa ult=null;
boolean vacia()
{
if(cab==null)
return true;
else
return false;
}
void adicion(int x,String y)
{
r=new Programa(x,y);
if(cab==null)
cab=r;
else
ult.sig=r;
ult=r;
r.sig=null;
}
void borrar()
{
if(cab==ult)
cab=ult=null;
else
cab=cab.sig;
}
boolean existe(int id)
{
p=cab;
while(p!=null && p.Id!=id)
p=p.sig;
if(p==null)
return false;
else
return true;
}
void borrarAlumno()
{
if(!p.vacia())
p.borrar();
}
void adicionAlumno(int x,String y)
{
p.adicion(x,y);
}
String consulta()
{
String S="C O N S U L T A D E P R O G R A M A S \n" ;
p=cab;
while(p!=null)
{
S+=p.Id+" "+p.Nombre+"\n";
p=p.sig;
}
return S.toString();
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
String consultaTodo()
{
String S="C O N S U L T A D E P R O G R A M A S \n" ;
S+=p.Id+" "+p.Nombre+"\n";
S+=p.consulta();
return S.toString();
}
}
public class MultiLista
{
public static void main(String[]args)
{
int i,opc,cod,id;
String Nombre;
Facultad L=new Facultad();
Object [] valores = {"1. Adicion Programa","2. Borrar Programa","3. Consulta Programa","4.Adicion
Alumno","5.Borrar Alumno","6. Consulta","7.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
cod=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Programa a Adicionar:"));
Nombre=JOptionPane.showInputDialog(null," Digite Nombre A Adicionar:");
L.adicion(cod,Nombre);
break;
case 2:
if(!L.vacia())
L.borrar();
break;
case 3:
JOptionPane.showMessageDialog(null,L.consulta());
break;
case 4:
case 5:
case 6:
cod=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Programa:"));
if(L.existe(cod))
switch(opc)
{
case 4:
cod=Integer.parseInt(JOptionPane.showInputDialog(null," Digite Alumno a Adicionar:"));
Nombre=JOptionPane.showInputDialog(null," Digite Nombre A Adicionar:");
L.adicionAlumno(cod,Nombre);
break;
case 5:
L.borrarAlumno();
break;
case 6:
JOptionPane.showMessageDialog(null,L.consultaTodo());
}
}
}
while(opc!=7);
System.exit(1);
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
import javax.swing.*;
import java.io.*;
import java.lang.Math.*;
import java.util.*;
public class Pila1
{
static double SALDO=0;
public static void main(String[]args)
{
int i,opc,nit;
Pila A=new Pila(10);
Info C=new Info();
Object [] valores = {"1. Apilar","2. Desempila","3. Consulta","4.Salir"};
do
{
String resp=(String) JOptionPane.showInputDialog(null,"Elija la Opcion", "Entrada de
datos",JOptionPane.QUESTION_MESSAGE, null, valores,valores[0]);
opc=Character.digit(resp.charAt(0),10);
switch(opc)
{
case 1:
if(A.llena())
JOptionPane.showMessageDialog(null,"No se Puede Atender Mas");
else
{
C.nit=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba el número de Nit"));
C.nomCliente=JOptionPane.showInputDialog(null,"Digite Nombre");
C.telefono=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Telefono"));
A.apila(C);
}
break;
case 2:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Pila de Atencion Vacia");
else
{
A.desempila();
}
break;
case 3:
if(A.vacia())
JOptionPane.showMessageDialog(null,"Pila Vacia");
else
JOptionPane.showMessageDialog(null,A.imprime());
}
}
while(opc!=4);
}
}
class Info
{
int nit;
String nomCliente;
int telefono;
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
}
class Pila
{
int cab,n;
Info A[];
int i,k;
public Pila(int n)
{
cab=-1;
this.n=n;
A=new Info[n];
for(i=0;i<n;i++)
A[i]=new Info();
}
boolean vacia()
{
if(cab==-1)
return true;
else
return false;
}
boolean llena()
{
if(cab==n-1)
return true;
else
return false;
}
void apila(Info C)
{
cab++;
A[cab].nit=C.nit;
A[cab].telefono=C.telefono;
A[cab].nomCliente=C.nomCliente;
}
void desempila()
{
cab--;
}
String imprime()
{
String S=" Elemenos de la Pila\n";
for(i=cab;i>=0;i--)
{
S=S+" "+new String().valueOf(A[i].nit).toString();
S=S+" "+A[i].nomCliente;
S=S+" "+new String().valueOf(A[i].telefono).toString()+"\n";
}
return S.toString();
}
}
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRÁCTICO DEL CURSO: 301403 – PROGRAMACION ORIENTADA A OBJETOS
7. FUENTES DOCUMENTALES
Autor: Deitel y Deitel Introducción DOO con UML y los Patrones de Diseño JDBC tm, SERVLETS,
JSP tm Editorial Pearson Prentice Hall Quinta Edición.
David Arnow Gerald Weiss Introducción a la Programación con Java tm Actualización a la Versión
2 de Java Editorial Addison Wesley.
Fcd Javier Ceballos Java 2 Curso de Programación 2 Edición Editorial Alfaomega Ra-Ma.
Agustin Froute Java 2 Manual Usuario tutorial 3 Edición Editorial Alfaomega Ra-Ma 5.
Herbert shildt Fundamentos de Programación Java 2 Editorial Mc Graw Hill . para conocer el
lenguaje de programación JAVA.
Arnow, D., Weiss, G., Introducción a la programación con JAVA, Addison wesley, 2000.
Meyer, B., Construcción de software orientado a objetos, Prentice Hall, segunda edición, 1997.
Wu, T., Introducción a la programación orientada a objetos con Java, Mc Graw Hill, 2000.
Joyanes, L., Programación orientada a objetos, Segunda edición, Mc Graw Hill, 1998.
Joyanes, L., C++ a su alcance un enfoque orientada a objetos, Editorial, Mc Graw Hill, 1994.
Cesar Becerra Santamaría, C++ Una Herramienta para la Programación Orientada a Objetos,
Editorial Mc Graw Hill, 1.993.
Fco Javier Ceballos, Programación Orientada a Objetos con C++,Editorial Alfaomega, 1.998.
www.lawebdelprogramador.com
www.programacion.com
http://www.cimat.mx/~jlabreu/CursoJava/
http://www.mindview.net/Books/TIJ
http://java.sun.com/docs/books/tutorial/
http://programacion.com/java/tutoriales/