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 OBJETOS
CESAR ORLANDO JIMENEZ ANGARITA
(Director Nacional)
Zona: Centro Bogot Cundinamarca,
Cead: Jos Acevedo y Gmez
Enero 2013
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 Versin 2 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 el lenguaje 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/
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 Access Utilizando Java Eclipse. Ejercicios Propuestos por el tutor: Ejercicios a Realizar por el Estudiante: PRACTICA No. 04 Redes Encriptamiento y Desincriptamiento de un dato, Chat cliente 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
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 el mbito acadmico es la orientacin a objetos, el curso que a continuacin se relaciona tiene el nombre de Programacin Orientada a Objetos el cual es terico prctico, de 3 crditos y hace parte de la formacin 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 la programacin orientada a objetos (POO) y las propiedades bsicas de la POO aplicado con JAVA. Unidad Dos hace referencia al diseo de la estructura y comportamiento de un objeto y se inicia con los Fundamentos de la programacin en el lenguaje JAVA. Unidad tres se enfocan en el trabajo con las clases, el manejo de la herencia y la extensin de las clases aplicado con JAVA.
Justificacin El uso de y aplicaciones de herramientas enfocadas a la POO, hacen que el profesional en Ingeniera sea capaz de disear y desarrollar aplicaciones que permitan dar soluciones integrales a las necesidades del medio que lo rodea utilizando un compilador de JAVA. El curso de POO le permite al estudiante desarrollar su creatividad con el animo de dar soluciones a problemas cotidianos de su trabajo, le da la capacitada de comparar la programacin estructurada con la programacin orientada a objetos y enfrentar los retos del cambio, le permite desarrollar su capacidad de comunicacin, y su espritu Investigativo y crtico con una lenguaje de programacin orientado a objetos. Para lograr la apropiacin de todo el contenido temtico el estudiante aplicara en todo momento su autoformacin y se apoyara en el tutor para la resolucin de dudas, tambin se tendrn uso de herramientas tecnolgicas para la interaccin con los tutores y alumnos dentro de los laboratorios.
Intencionalidades
formativas
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 la Programacin Orientada a Objetos ya que simplifica la construccin de programas y lo motiva para estudiar las caractersticas del lenguaje JAVA. Capacitar a los estudiantes a comprender y utilizar herramientas de Programacin Orientadas a Objetos como JAVA, para el diseo de aplicaciones.
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 modelo Programacin Orientada a Objetos Utilizando JAVA. Que el estudiante Valore en que medida las tcnicas Programacin Orientada a Objetos favorecen la calidad del software, analizando sobre todo cmo facilitan la reutilizacin y extensibilidad en JAVA.
Que el estudiante entienda la importancia de trabajar Herramientas Programacin Orientadas a Objetos, para el desarrollo de nuevas aplicaciones empresariales en JAVA.
Que le estudiante Aprenda un lenguaje Programacin Orientada a Objetos, junto a su entorno de programacin.
Que el estudiante aplique tcnicas de programacin Orientada a Objetos en JAVA.
Que el estudiante identifique analice y disee ejemplos de aplicacin en JAVA
Metas:
Al terminar este curso de Programacin Orientada a Objetos el estudiante:
Desarrollara aplicaciones teniendo en cuenta los fundamentos tericos, y el manejo de objetos como principal elemento de Construccin de soluciones en JAVA. Tendr la capacidad de analizar, disear y desarrollar software utilizando el entorno de Programacin Orientada a Objetos con JAVA. Adquiera destrezas en el uso de las herramientas como el JAVA para el desarrollo de aplicaciones que den soluciones confiables y permitan mejorar procesos.
Competencias:
El estudiante comprende e interpreta todos los conceptos fundamentales de la Programacin Orientada a Objetos, para poder analiza, disear, desarrollar e implantar aplicaciones ms robustas y con cdigo reutilizable con JAVA. El estudiante adquiere destrezas en el uso de procedimientos que le permitan analizar, disear y desarrollar aplicaciones haciendo uso de la programacin Orientada a Objetos con JAVA.
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 aprende un lenguaje Programacin Orientada a Objetos, junto a su entorno de programacin JAVA.
Denominacin de
practicas
Prctica 01: Estructuras no dinmicas Utilizando Java Eclipse
Practica 02: Estructuras dinmicas Utilizando Java Eclipse
Practica 03: Base de Datos Modelo Relacional entidad Relacin
Access Utilizando Java Eclipse
Practica 04: Redes Encriptamiento y desincriptamiento de un dato,
Chat cliente Servidor Utilizando Java Eclipse
Practica 05: Computacin Grafica 2D y 3D Utilizando Jcreator Java
Eclipse
Nmero de horas 4 Horas por laboratorio, 4 Cinco Laboratorios, un total 16 Horas
Porcentaje 25 Puntos de la plataforma Campus Virtual
Curso Evaluado por
proyecto
SI___ NO_X_
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 el desarrollo del laboratorio. No Cambiar los computadores de sitio sin autorizacin del monitor del laboratorio. No reconfigurar los equipos de computo ya que este presta servicio a toda la comunidad unadista.
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 X
Otra Cul
Porcentaje de evaluacin 25 Puntos Plataforma Campus Virtual
Horas de la practica 4 Horas Laboratorio ST y 12 Horas Independientes
Temticas de la prctica Estructuras no dinmicas con Java Utilizando Jcreator LE
Intencionalidades formativas
Propsito(s):
Desarrollar destreza en los estudiantes de las estructuras no dinmicas que permitan conceptuar los fundamentos bsicos en el desarrollo programas informticos mediante la utilizacin de un lenguaje de programacin Java. Comprender las tcnicas bsicas del diseo de Estructuras no dinmicas 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 mediacin Tutorial, lecturas complementarias, trabajo individual y cooperativo para el desarrollo de algoritmos en Java. Codificar estructuras no dinmicas en un lenguaje de programacin diferentes supuestos semnticos y problemas cotidianos en JAVA.
Meta(s):
El estudiante desarrolla el proyecto y los diferentes talleres en forma adecuada, utilizando las diferentes tcnicas y estrategias estudiadas a lo largo del curso de Java. El estudiante est en capacidad de desarrollar software, partiendo de los diferentes supuestos planteados, y quedando motivado para seguir en la lnea de programacin de computadoras con lenguaje de programacin JAVA. El estudiante desarrolla habilidades que lo lleven por el camino del pensamiento crtico, permitindoles aprender, comprender, practicar y aplicar nueva informacin, que parte de experiencias del medio ambiente, hasta llegar al auto concepto, formando un individuo critico y pensador.
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 y sistematizada las tcnicas y pautas para la construccin y secuencia de un algoritmo codificado en JAVA. El estudiante disea y aplica algoritmos y diagramas de flujo en la construccin de programas, como tcnica principal en la resolucin de un determinado problema en JAVA. El estudiante mediante lecturas y mediaciones sobre tcnicas de construccin de software analiza, sistematiza y pone en prctica las buenas practicas de desarrollo de algoritmos y de programacin en lenguaje JAVA.
Fundamentacin Terica:
Estructuras no dinmicas Conceptos, antecedentes y desarrollo de los algoritmos, Estructuras no dinmicas General de un Algoritmo Estructuras no dinmicas mediante un lenguaje de programacin en JAVA. Estructuras no dinmicas Arreglos mediante un lenguaje de programacin en JAVA Estructuras no dinmicas Vectores mediante un lenguaje de programacin en JAVA Estructuras no dinmicas Mtodos de bsqueda mediante un lenguaje de programacin en JAVA Estructuras no dinmicas Mtodos de Ordenamiento mediante un lenguaje de programacin en JAVA Estructuras 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 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.
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
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 el desarrollo 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 comunidad unadista.
Metodologa
Conocimiento previo para el desarrollo de la prctica. El estudiante de ver el Curso Acadmico de Programacin Orientada a Objetos tiene que tener buenas bases de Algoritmos, Introduccin a Programacin, Estructura de Datos, Bases de Datos, Redes de Comunicacin,
Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor de laboratorio los cuales estn analizados, diseados y desarrollados completamente listos para que su cdigo sea copiado y pegado en JAVA y luego ser ejecutados, luego el estudiante de haber analizado 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
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:
tem
Evaluado
Valoracin
Baja
Valoracin
Media
Valoracin
Alta
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 propuestas
por los diferentes Cead o Ceres y que no desarrollen las guas propuestas para estos
laboratorios, tendr una nota total de CERO: (0)
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 Java trabajos con java.swing.*; o ambiente grafico :
Desarrollo del primer taller
Despus de tener instado el Aplicativo Java Eclupse, usted debe seguir los siguientes pasos para el 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 > File a. En la casilla de texto Name: coloque el nombre del programa con extensin java), en este caso LecturaVector. 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
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 File Men Build > Execute File
1. CAJAS DE DIALOGO El mtodo showMessageDialog Este mtodo nos permite mostrar dilogos que muestran un mensaje y contienen un botn de aceptacin. Los parmetro mnimos necesarios dependen del carcter del mensaje aunque general mente son la ventana padre, el mensaje a mostrar, el ttulo del dilogo y el tipo de mensaje que se mostrar. 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 algn dato. Al igual que en los mtodos anteriores los argumentos que utilizan principalmente son el mensaje a mostrar, el ttulo, etc. A continuacin vemos un ejemplo de uso de este mtodo. String n = JOptionPane.showInputDialog(null, "Introduce el dato");
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 contiene los 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.*;
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
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
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
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
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. METODO
SECUENCIAL
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
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. METODO
BINARIA
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
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
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
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);
}
}
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 un
vector.
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
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
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;
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
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
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
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
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.3. Programa de Diagonal
import java.util.*;
import javax.swing.*;
class Diagonal
{
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 A[][]=new int[n][n];
//Lectura()
for(i=0;i
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
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
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
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
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
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 de programacin JAVA debe realizar todos los programas propuesto por el tutor y debe pasarlos con cdigo comando utilizando java.io.* y applet ; ya que los expuestos anteriormente viene desarrollados en java.swing.*; o ambiente grafico.
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. FUENTES DOCUMENTALES
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 Versin 2 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 el lenguaje 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/