guia laboratorio programacion orientada a objetos 2013
TRANSCRIPT
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
1/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUA COMPONENTE PRCTICO
301403
PROGRAMACION ORIENTADA A OBJETOSCESAR ORLANDO JIMENEZ ANGARITA
(Director Nacional)
Zona: Centro Bogot Cundinamarca,
Cead: Jos Acevedo y Gmez
Enero 2013
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
2/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
2. ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO
Curso Acadmico Modulo Programacin Orientada a Objetos
Libros de la Biblioteca Virtual de Unad en Programacin Orientada a Objetos
Consulta de Internet Programacin Orientada a Objetos
Autor: Deitel y Deitel Introduccin DOO con UML y los Patrones de Diseo JDBC tm, SERVLETS,JSP tm Editorial Pearson Prentice Hall Quinta Edicin.
David Arnow Gerald Weiss Introduccin a la Programacin con Java tm Actualizacin a la Versin2 de Java Editorial Addison Wesley.
Fcd Javier Ceballos Java 2 Curso de Programacin 2 Edicin Editorial Alfaomega Ra-Ma.
Agustin Froute Java 2 Manual Usuario tutorial 3 Edicin Editorial Alfaomega Ra-Ma 5.
Herbert shildt Fundamentos de Programacin Java 2 Editorial Mc Graw Hill . para conocer ellenguaje de programacin JAVA.
Arnow, D., Weiss, G., Introduccin a la programacin con JAVA, Addison wesley, 2000.
Larman, C., UML y patrones, Prentice Hall, 1998.
Meyer, B., Construccin de software orientado a objetos, Prentice Hall, segunda edicin, 1997.
Wu, T., Introduccin a la programacin orientada a objetos con Java, Mc Graw Hill, 2000.
Joyanes, L., Programacin orientada a objetos, Segunda edicin, Mc Graw Hill, 1998.
Grez Voss, Introduccin Orientada a Objetos, Editorial Mc Graw Hill, 1994.
Joyanes, L., C++ a su alcance un enfoque orientada a objetos, Editorial, Mc Graw Hill, 1994.
Cesar Becerra Santamara, C++ Una Herramienta para la Programacin Orientada a Objetos,Editorial Mc Graw Hill, 1.993.Fco Javier Ceballos, Programacin Orientada a Objetos con C++,Editorial Alfaomega, 1.998.
Nathan Meyers, Programacin JAVA en Linux, Editorial Prentice Hall, 2.000.
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/
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
3/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
3. INDICE DE CONTENIDO
Pg.
1. PRESENTACION
2. ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO
3. INDICE DE CONTENIDO
4. LISTADO DE TABLAS
5. CARACTERSTICAS GENERALES
6. DESCRIPCIN DE PRCTICAS
PRACTICA No. 01 Estructuras no dinmicas Utilizando Java Eclipse
Ejercicios Propuestos por el tutor:
Ejercicios a Realizar por el Estudiante:
PRACTICA No. 02 Estructuras dinmicas Utilizando Java Eclipse
Ejercicios Propuestos por el tutor:
Ejercicios a Realizar por el Estudiante:
PRACTICA No. 03 Base de Datos Modelo Relacional entidad Relacin AccessUtilizando Java Eclipse.
Ejercicios Propuestos por el tutor:
Ejercicios a Realizar por el Estudiante:
PRACTICA No. 04 Redes Encriptamiento y Desincriptamiento de un dato, Chatcliente Servidor, computacion Grafica Utilizando Java Eclipse
Ejercicios Propuestos por el tutor:
Ejercicios a Realizar por el Estudiante:
7. Fuentes Documentales
1
2
3
4
5
8
8
11
36
37
40
73
74
76
106
109
111
119
120
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
4/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
5. CARACTERSTICAS GENERALES
Introduccin Actualmente una de las reas ms importantes en la industria y elmbito acadmico es la orientacin a objetos, el curso que acontinuacin se relaciona tiene el nombre de Programacin Orientadaa Objetos el cual es tericoprctico, de 3 crditos y hace parte de laformacin profesional en el programa de Ingeniera de Sistemas.
El curso est compuesto por tres unidades acadmicas didcticas:
Unidad Uno comprende la introduccin y elementos bsicos de laprogramacin orientada a objetos (POO) y las propiedades bsicasde la POO aplicado con JAVA.
Unidad Dos hace referencia al diseo de la estructura ycomportamiento de un objeto y se inicia con los Fundamentos de laprogramacin en el lenguaje JAVA.
Unidad tres se enfocan en el trabajo con las clases, el manejo de laherencia y la extensin de las clases aplicado con JAVA.
Justificacin El uso de y aplicaciones de herramientas enfocadas a la POO, hacenque el profesional en Ingeniera sea capaz de disear y desarrollaraplicaciones que permitan dar soluciones integrales a lasnecesidades del medio que lo rodea utilizando un compilador deJAVA.
El curso de POO le permite al estudiante desarrollar su creatividadcon el animo de dar soluciones a problemas cotidianos de su trabajo,le da la capacitada de comparar la programacin estructurada con laprogramacin orientada a objetos y enfrentar los retos del cambio, le
permite desarrollar su capacidad de comunicacin, y su esprituInvestigativo y crtico con una lenguaje de programacin orientado aobjetos.
Para lograr la apropiacin de todo el contenido temtico el estudianteaplicara en todo momento su autoformacin y se apoyara en el tutorpara la resolucin de dudas, tambin se tendrn uso de herramientastecnolgicas para la interaccin con los tutores y alumnos dentro delos laboratorios.
Intencionalidadesformativas
Propsitos:
Dar a conocer a los estudiantes de una forma clara los conceptos
fundamentales de la Programacin Orientada a Objetos en JAVA.
Dar a Conocer a los estudiantes las ventajas de aplicar laProgramacin Orientada a Objetos ya que simplifica la construccinde programas y lo motiva para estudiar las caractersticas dellenguaje JAVA.
Capacitar a los estudiantes a comprender y utilizar herramientas deProgramacin Orientadas a Objetos como JAVA, para el diseo deaplicaciones.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
5/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Objetivos:
Que el estudiante Describa los conceptos que caracterizan al modeloProgramacin Orientada a Objetos Utilizando JAVA.
Que el estudiante Valore en que medida las tcnicas ProgramacinOrientada a Objetos favorecen la calidad del software, analizandosobre todo cmo facilitan la reutilizacin y extensibilidad en JAVA.
Que el estudiante entienda la importancia de trabajar HerramientasProgramacin Orientadas a Objetos, para el desarrollo de nuevasaplicaciones empresariales en JAVA.
Que le estudiante Aprenda un lenguaje Programacin Orientada aObjetos, junto a su entorno de programacin.Que el estudiante aplique tcnicas de programacin Orientada aObjetos en JAVA.Que el estudiante identifique analice y disee ejemplos de aplicacinen JAVA
Metas:
Al terminar este curso de Programacin Orientada a Objetos elestudiante:
Desarrollara aplicaciones teniendo en cuenta los fundamentostericos, y el manejo de objetos como principal elemento deConstruccin de soluciones en JAVA.
Tendr la capacidad de analizar, disear y desarrollar softwareutilizando el entorno de Programacin Orientada a Objetos con JAVA.
Adquiera destrezas en el uso de las herramientas como el JAVA parael desarrollo de aplicaciones que den soluciones confiables ypermitan mejorar procesos.
Competencias:
El estudiante comprende e interpreta todos los conceptosfundamentales de la Programacin Orientada a Objetos, para poderanaliza, disear, desarrollar e implantar aplicaciones ms robustas ycon cdigo reutilizable con JAVA.
El estudiante adquiere destrezas en el uso de procedimientos que lepermitan analizar, disear y desarrollar aplicaciones haciendo uso dela programacin Orientada a Objetos con JAVA.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
6/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
7/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
6. DESCRIPCIN DE PRCTICAS
PRACTICA No. 01 Estructuras no dinmicas con Java Utilizando Jcreator LE
Tipo de practica
Presencial Autodirigida Remota XOtra Cul
Porcentaje de evaluacin 25 Puntos Plataforma Campus VirtualHoras de la practica 4 Horas Laboratorio ST y 12 Horas IndependientesTemticas de la prctica Estructuras no dinmicas con Java
Utilizando Jcreator LE
Intencionalidadesformativas
Propsito(s):
Desarrollar destreza en los estudiantes de las estructuras nodinmicas que permitan conceptuar los fundamentos bsicosen el desarrollo programas informticos mediante la utilizacinde un lenguaje de programacin Java.
Comprender las tcnicas bsicas del diseo de Estructuras nodinmicas en algoritmos y la lgica de programacin en Java.
Adquirir destrezas y habilidades en la toma decisiones,utilizando las estructuras no dinmicas y mediante la mediacinTutorial, lecturas complementarias, trabajo individual ycooperativo para el desarrollo de algoritmos en Java.
Codificar estructuras no dinmicas en un lenguaje deprogramacin diferentes supuestos semnticos y problemascotidianos en JAVA.
Meta(s):
El estudiante desarrolla el proyecto y los diferentes talleres enforma adecuada, utilizando las diferentes tcnicas y estrategiasestudiadas a lo largo del curso de Java.
El estudiante est en capacidad de desarrollar software,partiendo de los diferentes supuestos planteados, y quedandomotivado para seguir en la lnea de programacin decomputadoras con lenguaje de programacin JAVA.
El estudiante desarrolla habilidades que lo lleven por el caminodel pensamiento crtico, permitindoles aprender, comprender,practicar y aplicar nueva informacin, que parte de experienciasdel medio ambiente, hasta llegar al auto concepto, formando unindividuo critico y pensador.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
8/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Competencia(s):
El estudiante describe y analiza de manera adecuada ysistematizada las tcnicas y pautas para la construccin ysecuencia de un algoritmo codificado en JAVA.
El estudiante disea y aplica algoritmos y diagramas de flujo enla construccin de programas, como tcnica principal en laresolucin de un determinado problema en JAVA.
El estudiante mediante lecturas y mediaciones sobre tcnicasde construccin de software analiza, sistematiza y pone enprctica las buenas practicas de desarrollo de algoritmos y deprogramacin en lenguaje JAVA.
Fundamentacin Terica:
Estructuras no dinmicas Conceptos, antecedentes y desarrollo de los algoritmos,Estructuras no dinmicas General de un AlgoritmoEstructuras no dinmicas mediante un lenguaje de programacin en JAVA.Estructuras no dinmicas Arreglos mediante un lenguaje de programacin en JAVAEstructuras no dinmicas Vectores mediante un lenguaje de programacin en JAVAEstructuras no dinmicas Mtodos de bsqueda mediante un lenguaje de programacin en JAVAEstructuras no dinmicas Mtodos de Ordenamiento mediante un lenguaje de programacin en JAVAEstructuras no dinmicas y Archivos mediante un lenguaje de programacin en JAVA
Descripcin de la practica:
El estudiante debe instalar una maquina virtual y Java Eclipse en su casa, este softwaredebe ser bajado a travs de internet de la pgina Sum Macrosystem
El estudiante debe bajar la Gua de Laboratorio para la prctica de la Plataforma campus
Virtual del curso Acadmico de Programacin Orientada a Objetos.
El estudiante mediante la herramienta de copiar y pegar debe practicar los diferentes
ejercicios propuestos en esta gua para que vaya adquiriendo destreza en el lenguaje de
programacin Java.
El estudiante debe de estar en capacidad de investigar los diferentes cdigos de java ya
que todos los ejercicios que propone la gua de laboratorio estn propuestos java.swing.*,
o ambiente grafico y el estudiante debe tener las condiciones de pasarlo en java.io.*, o
ambiente en cdigo de lnea todos los propuestos en estas.
Recursos a utilizar en la prctica (Equipos / instrumentos)
Computadores Modernos con buena Configuracin y con software licenciado
Software a utilizar en la prctica u otro tipo de requerimiento para el desarrollo de la
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
9/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
prctica:
Instalacin de la maquina virtual e Instancian del Java Eclipse
Seguridad Industrial:
No Ingresar Alimentos lquidos o slidos al Laboratorio. Para que se presente algn corto circuito
No ingresar fumando al Laboratorio. Para que moleste a los compaeros
No ingresar otros aparatos electrnicos como radios, Walkman, para que no interfieran en eldesarrollo del laboratorio.
No Cambiar los computadores de sitio sin autorizacin del monitor del laboratorio.
No desconfigurar los los equipos de computo ya que este presta servicio a toda la comunidadunadista.
Metodologa
Conocimiento previo para el desarrollo de la prctica. El estudiante de ver el Curso Acadmico deProgramacin Orientada a Objetos tiene que tener buenas bases de Algoritmos, Introduccin aProgramacin, Estructura de Datos, Bases de Datos, Redes de Comunicacin,
Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor delaboratorio los cuales estn analizados, diseados y desarrollados completamente listos para quesu cdigo sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haberanalizado el cdigo 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 libreras import java.io.* y applet
Sistema de Evaluacin
El sistema de evaluacin estar a cargo de los tutores de Laboratorio ya que ellos son
autnomos de calificar bien sea en grupos o de forma individual el trabajo realizado en los
laboratorios
Informe o productos a entregar
Los estudiantes debe entregar los ejercicios propuestos en la gua de laboratorio en
java.io.*; y applet
Rbrica de evaluacin
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
10/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA "UNAD"
ESCUELA CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA INGENIERIA DE SISTEMAS
Practica 01 Estructuras no dinmicas Utilizando Java Eclipse
Rbrica de Evaluacin:
temEvaluado
ValoracinBaja
ValoracinMedia
ValoracinAlta
Mximo
Puntaje
Estructura del
Programa
codificado en
Java Eclipse
Programas sin
formato (0)
Programas sin
ejecutables (4)
Programas
ejecutables (8)
8
Redaccin y
Ortografa
documentacin
del programa
Programas No
documentado
(0)
Programas
Medio
documentado
(4)
Programas Bien
documentado
(8)
8
Fines del
programa
Programa no
cumple con lo
sugerido (0)
Programa
regular con lo
sugerido (4)
Programa
Cumple con lo
sugerido (9)
9
TOTAL DE
PUNTOS
POSIBLES
25
Nota: Estudiante que no se presente al componente practico en las fechas propuestaspor los diferentes Cead o Ceres y que no desarrollen las guas propuestas para estoslaboratorios, tendr una nota total de CERO: (0)
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
11/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Retroalimentacin
La retroalimentacin de los diferentes productos entregados en el laboratorio sern
evaluados por el tutor Plataforma Campus Virtual.
Ejercicios Propuestos por el tutor:
Gua de Laboratorio Estructuras no dinmicas utilizando el lenguaje de programacin Javatrabajos con java.swing.*; o ambiente grafico :
Desarrollo del primer taller
Despus de tener instado el Aplicativo Java Eclupse, usted debe seguir los siguientes pasos parael desarrollo de cualquier programa en java:
1. Abra el Aplicativo Java Eclipse(Inicio > Todos Los Programas > JCREATOR LE > JCREATOR LE)
2. Es Necesario crear el archivo java:Men File > New > Filea. En la casilla de texto Name: coloque el nombre del programa con extensin java), en este casoLecturaVector.b. En la Casilla de Texto Location: C:\ o utilice el botn y seleccione C: (Carpeta Raz).c. Pulse el Botn Finish.
3. En la Ventana de Cdigo escriba:
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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
12/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Men Build > Compile FileMen Build > Execute File
1. CAJAS DE DIALOGO
El mtodo showMessageDialogEste mtodo nos permite mostrar dilogos que muestran un mensaje y contienen un botn deaceptacin. Los parmetro mnimos necesarios dependen del carcter del mensaje aunque generalmente son la ventana padre, el mensaje a mostrar, el ttulo del dilogo y el tipo de mensaje que semostrar. En las siguientes figuras podremos ver algunos ejemplos junto al cdigo que lo genera.JOptionPane.showMessageDialog( null, Dilogo de informacin);
JOptionPane.showMessageDialog( null, Dilogo de advertencia, Ttulo del Mensaje,JOptionPane.WARNING_MESSAGE);
JOptionPane.showMessageDialog( null, Dilogo de error, Ttulo del Mensaje,JOptionPane.ERROR_MESSAGE);
El mtodo showInputDialog
Este mtodo nos permite mostrar dilogos estandarizados que nos piden que introduzcamos algndato. Al igual que en los mtodos anteriores los argumentos que utilizan principalmente son elmensaje a mostrar, el ttulo, etc. A continuacin vemos un ejemplo de uso de este mtodo.String n = JOptionPane.showInputDialog(null, "Introduce el dato");
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
13/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Como podemos observar en el cdigo anterior este mtodo nos devuelve una cadena que contienelos datos que hemos introducido en el dilogo.
donde las cajas de Dialogo estn en el paquete de clases javax.swing, por eso, en la clusula
import javax.swing.*;
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
14/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
2. Definiciones de Arreglos
1. Declaracin de un arreglo:
int A[]; // A es un arreglo de enteros
int A[10]; // error, el tamao 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. Creacin de un arreglo
int A[]= new int[10]; // 10 enteros
Subindicacin de un arreglo:
A[0], A[1], ..., A[9] // correcto
A[10] // error, ndice fuera
// de rango
3. Modificacin de un arreglo:
A[3]= 8;
4. Tamao de un arreglo:
A.length // correcto
A.length() // error, sin parntesis
5. Inicializacin de un arreglo:
for (int i=0; i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
15/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
3. LECTURA DE UN VECTOR POR TECLADO
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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
16/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
5. ORDENAMIENTO DE UN VECTOR. METODO LINEAL
import javax.swing.*;
public class OrdenarLineal
{
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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
17/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
6. ORDENAMIENTO DE UN VECTOR. METODO BURBUJA
import javax.swing.*;
public class OrdenarBurbuja
{
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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
18/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
7. BUSQUEDA DE UN ELEMENTO EN UN VECTOR ORDENADO. METODOSECUENCIAL
import javax.swing.*;
public class BuscarLinealOrdenado
{
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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
19/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
8. BUSQUEDA DE UN ELEMENTO EN UN VECTOR ORDENADO. METODOBINARIA
import javax.swing.*;
public class BuscarBinaria
{
public static void main(String[] args)
{
int n,i,j,aux,mitad,menor,mayor;
int A[];
n=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite la dimension: "));
A=new int[n];
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
20/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
9. IMPLEMENTACION DE CLASES QUE ADMINISTRAN ARREGLOS
9.1. Programa 1. Creacin de una clase Arreglo
import javax.swing.*;
import java.util.*;
class Arreglo
{
int A[]=new int[100];
int aux;
int i,j,n;
public Arreglo(int B[]) //Constructor
{
if(B.length
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
21/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
22/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
String S=new String();
Arreglo Z=new Arreglo(B);
String Menu="1. Lectura \n 2. Ordenar Ascendente \n 3. Ordenar Descendente \n 4. Busqueda \n 5.
Consulta \n6. Salir \n Seleccion Opcion[1..6]";
do
{
do
{
S=JOptionPane.showInputDialog(null,Menu);
try
{
opcion=Integer.parseInt(S);
}
catch(NumberFormatException e)
{
opcion=0; // Error de Conversion
}
}while(opcion6);
if(opcion!=6)
{
switch(opcion)
{case 1:Z.lectura();
break;
case 2:Z.ordenarasc();
break;
case 3:Z.ordenardesc();
break;
case 4:
x=Integer.parseInt(JOptionPane.showInputDialog(null," Numero a Buscar "));
if(!Z.buscarasc(x) && !Z.buscardesc(x) && !Z.busqueda(x))
JOptionPane.showMessageDialog(null,x+" No existe");
else
JOptionPane.showMessageDialog(null,x+" Existe");
break;
case 5: Z.consulta();
}
}
}while(opcion!=6);
System.exit(0);
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
23/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
9.2.. Programa 2. Uso de un Objeto StringBuffer para la presentacin de unvector.
import java.util.*;
import javax.swing.*;
class CasoVector1
{
StringBuffer P=new StringBuffer();
int i,j,aux;
int A[]=new int[10];
Random R=new Random();
public CasoVector1()
{
P.append("Vector de Entrada: ");
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
24/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
25/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
9.3. Programa 3. Invertir un Arreglo
import javax.swing.*;
class Inverso
{
int i,j,k;
void pasar(char C[],String S){
j=-1;
for(i=S.length()-1;i>=0;i--)
{
j++;
C[j]=S.charAt(i);
}
}
String pasar(String S)
{
char C[]=new char[S.length()];
j=-1;
for(i=S.length()-1;i>=0;i--)
{
j++;
C[j]=S.charAt(i);
}
return new String().valueOf(C).toString();
}
/* String pasar(String S)
{
StringBuffer B=new StringBuffer();
for(i=S.length()-1;i>=0;i--)
B.append(S.charAt(i));
return B.toString();
}*/
void pasar(int C[],int n)
{
j=-1;while(n>0)
{
j++;
C[j]=n%10;
n/=10;
}
}
int pasar(int n)
{
int m=n;
k=0;
while(m>0)
{
if(k==0)
k=1;
else
k*=10;
m/=10;
}
m=0;
while(n>0)
{
m=m+((n%10)*k);
n/=10;
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
26/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
27/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
10. PROGRAMACION AVANZADA. USO DE MATRICES
10.1. Programa Lectura y Escritura de Matrices
import java.util.*;
import javax.swing.*;
class LecturaEscrituraMatriz
{
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;
Random R=new Random();
int A[][]=new int[filas][columnas];
//Lectura()
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
28/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
29/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
10.2. Programa Suma de Diagonales y Transversales
import java.util.*;
import javax.swing.*;
class SumaDiagTran
{
public static void main(String[] args){
int n=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Dimension: "));
int i,j,k;
int d=0,t=n-1;
int sumad=0,sumat=0;
Random R=new Random();
int A[][]=new int[n][n];
//Lectura()
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
30/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
31/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
10.4. Programa de Copas
import javax.swing.*;
class Copas
{
public static void main(String[] args)
{int n=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite Dimension: "));
int i,j,k;
int d=0,t=n-1;
Random R=new Random();
int A[][]=new int[n][n];
//Lectura()
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
32/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
10.5. Programa Simulacin de un Inventario
import java.util.*;
import javax.swing.*;
class Inventario
{ int i,j,k;
final int n=10;int A[][]=new int[n][4]; //Simulador de un Kardex
Random R=new Random();
public Inventario()
{
for(k=0;k
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
33/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
{
P.append("\n ");
for(j=0;j
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
34/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
10.6. Programa Simulacin de un Parqueadero
import javax.swing.*;
import java.util.*;
class Parqueo
{
int n=10,i,j,k;int h,m,ha,hf;
int Militar[][]=new int[10][10]; // Hora Militar de Entrada de Vehiculo
int Entrada[][]=new int[10][10]; // Hora de Entrada Vehiculo AM/PM
int Placa[][]=new int[10][10]; // Placa del Vehiculo
int hora=5,minuto=59;
Random R=new Random();
boolean lleno()
{
k=0;
for(i=0;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
35/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
while(Entrada[i][j]!=0);
reloj();
Militar[i][j]=(hora*100)+minuto;
Entrada[i][j]=(hora*60)+minuto;
Placa[i][j]=placa;
}
boolean existe(int placa)
{
boolean esta=false;
i=0;
while(i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
36/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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);
}
}
Ejercicios a Realizar por el Estudiante:
El estudiante despus de adquirir destreza y conocimiento acerca de lenguaje deprogramacin JAVA debe realizar todos los programas propuesto por el tutor y debepasarlos con cdigo comando utilizando java.io.* y applet ; ya que los expuestosanteriormente viene desarrollados en java.swing.*; o ambiente grafico.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
37/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
PRACTICA No. 02 Estructuras dinmicas Utilizando Java Eclipse
Tipo de practica
Presencial Autodirigida Remota X
Porcentaje de evaluacin 25 Puntos Plataforma campus virtualHoras de la practica 4 Horas Laboratorio ST 16 Horas IndependientesTemticas de la prctica Estructuras dinmicas Java
Utilizando Java Eclipse
Intencionalidadesformativas
Propsito(s):
Desarrollar destreza en los estudiantes en estructurasdinmicas que permitan conceptuar los fundamentos bsicosen el desarrollo programas informticos mediante la utilizacinde un lenguaje de programacin Java.
Comprender las tcnicas bsicas del diseo de estructurasdinmicas de un algoritmos y la lgica de programacin enJava.
Adquirir destrezas y habilidades en la toma decisiones, enestructuras dinmicas y mediante la mediacin Tutorial,lecturas complementarias, trabajo individual y cooperativo parael desarrollo de algoritmos en Java.
Codificar de estructuras dinmicas en un lenguaje deprogramacin diferentes supuestos semnticos y problemas
cotidianos en JAVA.
Meta(s):
El estudiante desarrolla el proyecto y los diferentes talleres enforma adecuada, utilizando las diferentes tcnicas y estrategiasestudiadas a lo largo del curso de Java.
El estudiante est en capacidad de desarrollar software,partiendo de los diferentes supuestos planteados, y quedandomotivado para seguir en la lnea de programacin decomputadoras con lenguaje de programacin JAVA.
El estudiante desarrolla habilidades que lo lleven por el caminodel pensamiento crtico, permitindoles aprender, comprender,practicar y aplicar nueva informacin, que parte de experienciasdel medio ambiente, hasta llegar al auto concepto, formando unindividuo critico y pensador.
Competencia(s):
El estudiante describe y analiza de manera adecuada y
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
38/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
39/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor delaboratorio los cuales estn analizados, diseados y desarrollados completamente listos para quesu cdigo sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haberanalizado el cdigo se enfrentara a la tarea de desarrollar una serie de programas por s solo.
Procedimiento: El Estudiante debe investigar como puede hacer estos mismos programasutilizando las libreras import java.io.* y applet
Sistema de Evaluacin
El sistema de evaluacin estar a cargo de los tutores de Laboratorio ya que ellos son
autnomos de calificar bien sea en grupos o de forma individual el trabajo realizado en los
laboratorios
Informe o productos a entregar
Los estudiantes debe entregar los ejercicios propuestos en la gua de laboratorio en
java.io.*; y applet
Rbrica de evaluacin
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA "UNAD"
ESCUELA CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA INGENIERIA DE SISTEMAS
Practica 02 Estructuras dinmicas con Java Utilizando Jcreator Le
Rbrica de Evaluacin:
temEvaluado
ValoracinBaja
ValoracinMedia
ValoracinAlta
Mximo
Puntaje
Estructura del
Programa
codificado en
Jcreator LE
Programas sinformato (0)
Programas sinejecutables (4)
Programasejecutables (8)
8
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
40/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Redaccin y
Ortografa
documentacin
del programa
Programas No
documentado
(0)
Programas
Medio
documentado
(4)
Programas Bien
documentado
(8)
8
Fines del
programa
Programa no
cumple con lo
sugerido (0)
Programa
regular con lo
sugerido (4)
Programa
Cumple con lo
sugerido (9)
9
TOTAL DE
PUNTOS
POSIBLES
25
Nota: Estudiante que no se presente al componente practico en las fechas propuestaspor los diferentes Cead o Ceres y que no desarrollen las guas propuestas para estoslaboratorios, tendr una nota total de CERO: (0)
Retroalimentacin
La retroalimentacin de los diferentes productos entregados en el laboratorio sern
evaluados por el tutor de Plataforam Campus Virtual
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
41/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
42/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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++;
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
43/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
}
boolean existe(int nit)
{
boolean esta=false;
if(!vacia())
for(i=min;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
44/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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 nmero 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 nmero 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();
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
45/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
46/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
47/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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 nmero 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[];
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
48/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
49/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
{
for(i=inf;i
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
50/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
4. Ejemplo Cola 3 Archivos
import javax.swing.*;
import java.io.*;
import java.lang.Math.*;
import java.util.*;
public class ColaArch{
static double SALDO=0;
public static void main(String[]args)
{
int i,opc,nit;
Cola A=new Cola(10);
if(A.salir())
System.exit(1);
A.cargar();
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:
if(A.llena() || !A.hayMas())
JOptionPane.showMessageDialog(null,"No se Puede Atender Mas");
else
A.adicion();
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 de Atencion Vacia");
else
JOptionPane.showMessageDialog(null,A.imprime());
break;
}
}
while(opc!=4);
A.cerrar();
System.exit(1);
}
}
class Cola
{
ArchivoBase P=new ArchivoBase();
int min,max,n,d,numreg=-1;
int A[];
int i;
public Cola(int n)
{
min=-1;
max=-1;
this.n=n;
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
51/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
52/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
53/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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){}
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
54/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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()
{
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
55/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
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();
}
}
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);
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
56/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
57/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
58/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
59/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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);
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
60/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
61/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
62/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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);
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
63/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
64/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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);
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
65/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
10. Ejemplo de Multilista
import javax.swing.*;
class Alumno {
int Cod;
String Nombre;
Alumno(int Cod,String Nombre) {this.Cod = Cod;
this.Nombre = Nombre;
}
Alumno sig;
}
class Programa
{
int Id;
String Nombre;
Programa sig;
Alumno p,q,r;
Alumno cab=null;
Alumno ult=null;
Programa(int Id,String Nombre) {
this.Id = Id;
this.Nombre = Nombre;
}
boolean vacia()
{
if(cab==null)
return true;
else
return false;
}
void adicion(int x,String y)
{
r=new Alumno(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;
}
String consulta()
{
String S="C O N S U L T A D E A L U M N O S \n" ;
p=cab;
while(p!=null)
{
S+=p.Cod+" "+p.Nombre+"\n";
p=p.sig;
}
return S.toString();
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
66/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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();
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
67/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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);
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
68/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
}
11. Ejemplo de Pila
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 nmero 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;
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
69/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO 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=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();
}
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
70/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
12. Ejemplo de Arbol Binario
import javax.swing.*;
import java.util.*;
class ArbolBin
{
NodoArbol raiz=null;NodoArbol p,q,r;
Stack Pila=new Stack();
int fila=0;
boolean existe(int x)
{
q=p=raiz;
while(p!=null && x!=p.info)
{
q=p;
if(x
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
71/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
s=s.der;
}
if(Pila.empty())
return false;
s=(NodoArbol) Pila.pop();
if(p==raiz)
raiz=s;
else
{
if(q.izq==p)
q.izq=s;
else
q.der=s;
}
if(Pila.empty())
return true;
r=(NodoArbol) Pila.pop();
r.der=s.izq;
s.izq=p.izq;
s.der=p.der;
return true;
}boolean masizquierda(NodoArbol s)
{
Pila=null;
while(s!=null)
{
Pila.push((Object) s);
s=s.izq;
}
if(Pila.empty())
return false;
s=(NodoArbol) Pila.pop();
if(p==raiz)
raiz=s;
else
{
if(q.izq==p)
q.izq=s;
else
q.der=s;
}
if(Pila.empty())
return true;
r=(NodoArbol) Pila.pop();
r.izq=s.der;
s.izq=p.izq;
s.der=p.der;
return true;
}
void caso1Borrado()// P. Es Nodo Terminal{
if(p==raiz)
raiz=null;
else
{
if(q.izq==p)
q.izq=null;
if(q.der==p)
q.der=null;
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
72/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
73/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
{
inorden(p.izq);
System.out.println(p.info);
inorden(p.der);
}
}
void posorden(NodoArbol p)
{
if(p!=null)
{
posorden(p.izq);
posorden(p.der);
System.out.println(p.info);
}
}
void conteoNodo(NodoArbol p,int A[])
{
if(p!=null)
{
A[0]++;
conteoNodo(p.izq,A);
conteoNodo(p.der,A);}
}
void contarNodos()
{
int A[]=new int[2];
p=raiz;
conteoNodo(p,A);
System.out.print("El numero de nodos: "+A[0]);
}
void imprimirInorden()
{
System.out.println("Impresion de Arbol en InOrden");
p=raiz;
inorden(p);
}
void imprimirPreorden()
{
System.out.println("Impresion de Arbol en PreOrden");
p=raiz;
preorden(p);
}
void imprimirPosorden()
{
System.out.println("Impresion de Arbol en PosOrden");
p=raiz;
posorden(p);
}
}
class NodoArbol
{
int info;
NodoArbol(int x)
{
info=x;
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
74/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
NodoArbol izq,der;
}
public class Arbol
{
static double SALDO=0;
public static void main(String[]args)
{
int info,opc;
ArbolBin A=new ArbolBin();
Object [] valores = {"1. Adicion","2. Borrar","3. Consulta En PreOrden","4. Consulta en InOrden","5.
Consulta en PosOrden","6. Conteo de Nodos","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:
info=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba info a Borrar: "));
if(!A.adicion(info))
JOptionPane.showMessageDialog(null,"Existe Info");break;
case 2:
info=Integer.parseInt(JOptionPane.showInputDialog(null,"Escriba info a Adicionar: "));
if(!A.borrar(info))
JOptionPane.showMessageDialog(null,"No Existe Info");
break;
case 3:
A.imprimirPreorden();
break;
case 4:
A.imprimirInorden();
break;
case 5:
A.imprimirPosorden();
break;
case 6:
A.contarNodos();
break;
}
}
while(opc!=7);
System.exit(0);
}
}
Ejercicios a Realizar por el Estudiante:
El estudiante despus de adquirir destreza y conocimiento acerca de lenguaje deprogramacin JAVA debe realizar todos los programas propuesto por el tutor y debepasarlos con cdigo comando utilizando java.io.*; ya que los espuestos antriormente vienedesarrollados en java.swing.*; o ambiente grafico.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
75/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
PRACTICA No. 03 Base de Datos Modelo Relacional entidad Relacin Accesscon Java 2 Utilizando Java Eclipse
Tipo de practica
Presencial Autodirigida Remota X
Porcentaje de evaluacin 25 Puntos Plataforma Campus VirtualHoras de la practica 4 Horas Laboratorio ST 16 Horas IndependientesTemticas de la prctica Base de Datos Modelo Relacional entidad Relacin Access con
Java 2 Utilizando Java Eclipse
Intencionalidadesformativas
Propsitos:
Dar a conocer a los estudiantes de una forma clara losconceptos fundamentales de las bases de datos Trabajadasdesde un lenguaje de programacin Java.
Enfatizar en la importancia de un modelado conceptual,utilizando el modelo entidad relacin, para el anlisis y diseode una base de datos con interface con un lenguaje deprogramacin Java.
Capacitar a los estudiantes a comprender y aplicar el uso delas herramientas del Lenguaje Access o Sql para interactuarcon una base de datos relacional en interface con Java.
Objetivos:
Que el estudiante Comprenda la importancia de los modelosEntidad Relacin y Modelo Relacional para disear una basede datos con interface a un lenguaje de programacin Java.
Que el estudiante Adquiera los conocimientos bsicos que lepermitan crear estructuras y administrar estructuras simples debases de datos para ingresar y modificar informacin coninterface a un lenguaje de programacin Java .
Que el estudiante Conozca procedimientos que le permitanalmacenar, ordenar y administrar datos almacenados en una oms tablas relacionadas con interface a un lenguaje deprogramacin Java.
Que el estudiante Aprenda el uso de expresiones matemticaspara realizar toda clase de clculos y operaciones dentro deconsultas, informes y formularios con interface a un lenguajede programacin Java.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
76/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Metas:
Desarrollara modelos de bases de datos relacionales teniendoen cuenta los fundamentos tericos, que permitan al usuario,consultar y modificar los datos almacenados, ingresar o liminarlos que han dejado de ser tiles con interface a un lenguaje deprogramacin Java.
Tendr la capacidad de realizar diseos de bases de datosenfocados a dar una solucin ptima, empleando de una formaadecuada las diferentes estructuras de manejo de datos, con elfin de identificar las ventajas y desventajas y de esta forma darla mejor solucin al manejo de la informacin y las exigenciasde los usuarios con interface a un lenguaje de programacinJava.
Competencias:
El estudiante comprende e interpreta y conozca de una formaclara todos los conceptos fundamentales de las bases dedatos, para poder desarrollar e implantar bases de datos ytener un mejor control de la informacin con interface a unlenguaje de programacin Java.
El estudiante adquiere destrezas en el uso de procedimientosque le permitan almacenar, ordenar y administrar informacinen una o ms tablas relacionadas con interface a un lenguajede programacin Java..
Fundamentacin Terica
Base de Datos Basicos
Modelado de Datos
Mormalizacion
Descripcin de la practica
El estudiante debe instalar una maquina virtual y Jcretor JE en su casa, este software
debe ser bajado a travs de internet de la pgina Sum Macrosystem
El estudiante debe bajar la Gua de Laboratorio para la prctica de la Plataforma campus
Virtual del curso Acadmico de Programacin Orientada a Objetos.
El estudiante mediante la herramienta de copiar y pegar debe practicar los diferentes
ejercicios propuestos en esta gua para que vaya adquiriendo destreza en el lenguaje de
programacin Java.
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
77/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
El estudiante debe de estar en capacidad de investigar los diferentes cdigos de java ya
que todos los ejercicios que propone la gua de laboratorio estn propuestos java.swing.*,
o ambiente grafico y el estudiante debe tener las condiciones de pasarlo en java.io.*, o
ambiente en cdigo de lnea todos los propuestos en estas.
Recursos a utilizar en la prctica (Equipos / instrumentos)
Computadores Modernos con buena Configuracin y con software licenciado
Software a utilizar en la practica
Instalacin de la maquina virtual e Instancian del Java Eclipse Microsoft Office
Metodologa
Conocimiento previo para el desarrollo de la prctica. El estudiante de ver el Curso Acadmico deProgramacin Orientada a Objetos tiene que tener buenas bases de Algoritmos, Introduccin aProgramacin, Estructura de Datos, Bases de Datos, Redes de Comunicacin,
Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor delaboratorio los cuales estn analizados, diseados y desarrollados completamente listos para quesu cdigo sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haberanalizado el cdigo se enfrentara a la tarea de desarrollar una serie de programas por s solo.
Procedimiento: El Estudiante debe investigar como puede hacer estos mismos programasutilizando las libreras import java.io.* y applet
Sistema de Evaluacin
El sistema de evaluacin estar a cargo de los tutores de Laboratorio ya que ellos son
autnomos de calificar bien sea en grupos o de forma individual el trabajo realizado en loslaboratorios
Informe o productos a entregar
Los estudiantes debe entregar los ejercicios propuestos en la gua de laboratorio en
java.io.*; y applet
Rbrica de evaluacin
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA "UNAD"
ESCUELA CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA INGENIERIA DE SISTEMAS
Practica 03 Base de Datos Modelo Relacional Entidad Relacin
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
78/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Access con Java Jcreator LE
Rbrica de Evaluacin:
temEvaluado
ValoracinBaja
ValoracinMedia
ValoracinAlta
Mximo
Puntaje
Estructura del
Programa
codificado en
Jcreator LE
Programas sin
formato (0)
Programas sin
ejecutables (4)
Programas
ejecutables (8)
8
Redaccin y
Ortografa
documentacin
del programa
Programas No
documentado
(0)
Programas
Medio
documentado
(4)
Programas Bien
documentado
(8)
8
Fines del
programa
Programa no
cumple con lo
sugerido (0)
Programa
regular con lo
sugerido (4)
Programa
Cumple con lo
sugerido (9)
9
TOTAL DE
PUNTOS
POSIBLES
25
Nota: Estudiante que no se presente al componente practico en las fechas propuestaspor los diferentes Cead o Ceres y que no desarrollen las guas propuestas para estoslaboratorios, tendr una nota total de CERO: (0)
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
79/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Retroalimentacin
La retroalimentacin de los diferentes productos entregados en el laboratorio sern
evaluados por el tutor PlatafoRMA Campus Virtual
Ejercicios Propuestos por el tutor:
Gua de Laboratorio Estructuras no dinmicas utilizando el lenguaje de programacin Javatrabajos con java.swing.*; o ambiente grafico
1. Ejercicios Propuesto
Instalacion de bse datos con JAVA
Base de Datos Creada desde Acces
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
80/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Entidad Relacin
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
81/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
1. Inicio
2. Configuracin
3.Panel de control
4. Herramientas Administrativas
5. Orgenes de Datos (ODBC)
6. Seleccioneel botn Agregar
7. Driver to Microsoft Acces (*.mdb)
8. Seleccione el botn Finalizar
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
82/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
83/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
15. Seleccione el botnAceptar16. IngresarJCreator Le17. Abrir todos los programas
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
84/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
18. Compile el Video2 que es el principal19. Selecione el botn buil Compile file20. Selecione el botn buil Execute file
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
85/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
Video2import java.awt.*;
import java.sql.*;
public class Video2 extends Dialog
{
Button Bingresar,Bver,Beliminar,Bmodificar,Bsalir;
Video2(String t,Frame p)
{
super(p,t,false);
setLayout(new GridLayout(4,1));
resize(500,200);
Bingresar=new Button("Ingresar");
Bver=new Button("Buscar");
Beliminar=new Button("Eliminar");
Bmodificar=new Button("Modificar");
Bsalir=new Button("Salir");
add(Bingresar);
add(Bver);
add(Beliminar);
add(Bsalir);
}
public boolean action(Event e,Object o)
{
if(e.target==Bingresar)
{
Frame fre=new Frame();
ingresar ob=new ingresar("Ingresar",fre);
ob.show();
}
if(e.target==Bver)
{
Frame fre=new Frame();
consultar ob=new consultar("Consultas",fre);ob.show();
}
if(e.target==Beliminar)
{
Frame fre=new Frame();
eliminar ob=new eliminar("Eliminar registro",fre);
ob.show();
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
86/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
87/123
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
88/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
catch(ClassNotFoundException e)
{
}
}
public boolean action(Event e,Object o)
{
if(e.target==Blistar)
{
lista.setText("");
if(pelicula.getState()==true)
{
pelicula();
}
if(genero.getState()==true)
{
genero();}
if(director.getState()==true)
{
director();
}
if(actores.getState()==true)
{
actor();
}
}
if(e.target==Bsalir)
{
dispose();
hide();
}
return true;
}
public void genero()
{
String c,n;
try
{
sql="select * from genero";
conexion=DriverManager.getConnection("jdbc:odbc:peliculas");
sentencia=conexion.createStatement();
resultado=sentencia.executeQuery(sql);
while(resultado.next())
{
c=resultado.getString("idgenero");
n=resultado.getString("nombre");
lista.appendText(c+"-"+n+"\n");
}
-
8/13/2019 Guia Laboratorio Programacion Orientada a Objetos 2013
89/123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
GUIA COMPONENTE PRCTICO DEL CURSO: 301403 PROGRAMACION ORIENTADA A OBJETOS
conexion.close();
}
catch(SQLException e)
{
lista.appendText("error al listar\n"+e);
}
}
public void director()
{
String c,n;
try
{
sql="select * from director";
conexion=DriverManager.getConnection("jdbc:odbc:peliculas");
sentencia=conexion.createStatement();
resultado=sentencia.executeQuery(sql);
while(resultado.next()){
c=resultado.getString("iddirector");
n=resultado.getString("nombre");
lista.appendText(c+"-"+n+"\n");
}
conexion.close();
}
catch(SQLException e)
{
lista.appendText("error al listar\n"+e);
}
}
public void actor()
{
String c,n;
try
{
sql="select * from actores";
conexion=DriverManager.getConnection("jdbc:odbc:peliculas");
sentencia=conexion.createStatement();
resultado=sentencia.executeQuery(sql);
while(resultado.next()){
c=resultado.getString("idactor");
n=resultado.getString("nombre");
lista.appendText(c+"-"+n+"\n");
}
conexion.close();
}
-
8/