Sie sind auf Seite 1von 37

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA


PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA

Programa Ingenieria de Sistemas


Curso Acadmico de Programacin Orientada a Objetos

CESAR ORLANDO JIMENEZ ANGARITA


(Director Nacional)

Zona: Centro Bogot Cundinamarca,


Cead: Jos Acevedo y Gmez
Diciembre 2016

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

INDICE DE CONTENIDO

Pg.
PRESENTACION
ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO
INDICE DE CONTENIDO
LISTADO DE TABLAS
CARACTERSTICAS GENERALES
DESCRIPCIN DE PRCTICAS
Estructuras No dinmicas en Lenguje de Programacin Orientado a Objetos en
Java, Prctico.
Estructuras no dinmicas Utilizando Java Eclipse
Ejercicios Propuestos por el tutor:
Ejercicios a Realizar por el Estudiante:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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.
Modelado y Programacin Orientada a Objetos como Introduccin a
Java y Uml

Justificacin

Desarrollo de Software Orientado a Objetos como son el Modelado de


Requisitos, Modelado de Analisis, Modela de Diseo, Modelado de
Implementacin y Modelado de Prueba de un producto software.
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.

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.

Objetivos:
Que el estudiante Describa los conceptos que caracterizan de
desarrollo de software 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

Metas:
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.

Denominacin de
practicas

Estructuras No dinmicas en Lenguje de Programacin


Orientado a Objetos en Java, Prctico.: Estructuras No

Nmero de horas

dinmicas Utilizando Java Eclipse o Jcreato


8 Horas por laboratorio Plataforma Campus virtual, un total 16 Horas

Porcentaje

80/500 Puntos de la plataforma Campus Virtual

Curso Evaluado por SI_X__


proyecto
Seguridad
industrial

NO__

Primer Trabajo Colaborativo Prctico Campus Virtual

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

DESCRIPCIN DE PRCTICAS
Estructuras No dinmicas en Lenguje de Programacin Orientado a Objetos en
Java, Prctico.

Estructuras No Dinmicas con Java Utilizando Java Eclipse o Jcreator LE


Tipo de practica
Presencial
Otra
Cul
Porcentaje de evaluacin
Horas de la practica
Temticas de la prctica
Intencionalidades
formativas

Autodirigida

Remota

80 Puntos Plataforma Campus Virtual


4 Horas Laboratorio CV y 12 Horas Independientes

Estructuras No dinmicas con Java Utilizando Java


Eclipse o Jcreator LE
Propsito(s):
Desarrollar destreza en los estudiantes de las estructuras
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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
del medio ambiente, hasta llegar al auto concepto, formando un
individuo critico y pensador.

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 prctica:
El estudiante debe instalar Java o actualizar y debe descargar Java Eclipse o Jcreator en
su casa, este software debe ser bajado a travs de internet de la pgina Sum
Macrosystem
El estudiante debe descargar el Estructuras No dinmicas en Lenguje de
Programacin Orientado a Objetos en Java, Prctico. 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 e investigar el
cdigo de 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 con Librerias java.swing.*, o ambiente grafico y el estudiante debe tener
las condiciones de pasarlo con Librerias java.io.*, o ambiente en cdigo de lnea y
Librerias.java.applet todos los propuestos en estas.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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


prctica:
Instalacin de la Java o Actualizarlo e Instancian del Java Eclipse o Jcreator Le o Java Eclipse

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 La
Plataforma Virtual los cuales estn analizados, diseados y desarrollados completamente listos
para que su cdigo sea copiado y pegado en un arachivo de JAVA para compilar 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 pasar estos mismos programas
utilizando las libreras import java.io.* y Librerias applet

Sistema de Evaluacin
El sistema de evaluacin estar a cargo de los tutores de la Plataforma Campus Virtual ya
que se crearon dos foros uno teorico y otro practico.
Informe o productos a entregar
El estudiante despus de adquirir destreza y conocimiento acerca de lenguaje de
programacin JAVA debe realizar todos los programas propuesto por el tutor de la
Plataforma Campus Virtual que estn desarrollados completamente con libreras
javax.siwng y debe pasarlos con cdigo comando utilizando Librerias java.io.* y
Librerias.applet. para esto debe revisar las referencias bibliogrficas de la Guia
Laboratorio.
Rbrica de evaluacin

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA "UNAD"


ESCUELA CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA INGENIERIA DE SISTEMAS
Estructuras No dinmicas en Lenguje de Programacin Orientado a
Objetos en Java, Prctico.

Estructuras No dinmicas Utilizando Java Eclipse o Jcreator

Rbrica de Evaluacin Primer Trabajo Colaborativo Prctico:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
tem
Evaluado

Valoracin
Baja

Valoracin
Media

Valoracin
Alta

Estructura del

Programas sin
formato (0)

Programas
Medianamente
con formato
(5)

Programas con
formato (10)

10

Programas No
documentados
(0)

Programas
Medianamente
documentados
(5)

Programas Bien
documentados
(10)

10

Los Programas
Compilan
Correctamente

Los Programas
No Compilan
Correctamente
(0)

Los Programas
Compilan
Medianamente
(5)

Los Programas
Compilan
Correctamente
(10)

10

Los Programas
Compilan con
librera java.io
Correctamente

Los Programas
No Compilan
Correctamente
(0)

Los Programas
Compilan
Medianamente
(5)

Los Programas
Compilan
Correctamente
(10)

10

Los Programas
Compilan con
librerias
applets
Correctamente

Los Programas
No Compilan
Correctamente
(0)

Los Programas
Compilan
Medianamente
(5)

Los Programas
Compilan
Correctamente
(10)

10

Los Programas
Ejecutan
Correctamente

Los Programas
No Ejecutan
Correctamente
(0)

Los Programas
Ejecutan
Medianamnete
(5)

Los Programas
Ejecutan
Correctamente
(10)

10

Fines del
programa

Programa no
cumple con lo
sugerido (0)

Programa
regular con lo
sugerido (5)

Programa
Cumple con lo
sugerido (10)

10

Programa
codificado en
Java Eclipse o
Jcreator Le
Redaccin y
Ortografa
documentacin
del programa

TOTAL DE
PUNTOS
POSIBLES

Mximo
Puntaje

70

Nota: Estudiante que no se presente al componente practico en las fechas propuestas


en la agenda propuesta para este curso acadmico de Programacin Orientada a
Objetos 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
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

Retroalimentacin
La retroalimentacin de los diferentes productos sern evaluados por el tutor Plataforma
Campus Virtual.

Ejercicios Propuestos por el tutor:


Gua de Laboratorio Estructuras 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<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
4. Compile y Ejecute el Programa
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,
JOptionPane.WARNING_MESSAGE);

JOptionPane.showMessageDialog(
JOptionPane.ERROR_MESSAGE);

El mtodo showInputDialog

null,

Dilogo

Dilogo

de

advertencia,

de

error,

Ttulo

Ttulo

del

del

Mensaje,

Mensaje,

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
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");

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
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length; i++)


A[i]= i;
6

Asignacin de punteros a arreglos

int B[];
B= A;
// A y B son el mismo arreglo
if (A==B) // Comparacin de punteros
// true!
...
A[0]= 10;
B[0]
// tambin 10
7
Copia de un arreglo:
B= (int[])A.clone();

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

4. ASIGNACION A UN VECTOR DE NUMEROS ALEATORIOS


import javax.swing.*;
import java.util.*;
public class LectorVectorAleatoria
{
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];
Random R=new Random(); //Objeto que genera el aleatorio
for(i=0;i<A.length;i++)
{
A[i]=Math.abs(R.nextInt()%100+1); // R,nextInt()%100+1)::Aleatorio Entero desde 1 hasta los
siguientes 100
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
for(i=0;i<A.length-1;i++)
for(j=i+1;j<A.length;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
System.out.println("Vector Ordenado");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
for(i=1;i<=A.length-1;i++)
for(j=0;j<A.length-i;j++)
if(A[j]>A[j+1])
{
aux=A[j];
A[j]=A[j+1];
A[j+1]=aux;
}
System.out.println("Vector Ordenado");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
for(i=0;i<A.length-1;i++)
for(j=i+1;j<A.length;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
System.out.println("Vector Ordenado");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
j=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite el Numero a Buscar: "));
i=0;
while(i<A.length && A[i]<j)
i++;
if(i<A.length && A[i]==j)
System.out.println("Existe: "+j+" en la Posicion: "+i);
else
System.out.println("No Existe ");
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite A["+i+"]: "));
}
System.out.println("Vector Leido");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
for(i=0;i<A.length-1;i++)
for(j=i+1;j<A.length;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
System.out.println("Vector Ordenado");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
j=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite el Numero a Buscar: "));
menor=0;
mayor=A.length-1;
do
{
mitad=(menor+mayor)/2;
if(A[mitad]>j)
mayor=mitad-1;
if(A[mitad]<j)
menor=mitad+1;
}
while(A[mitad]!=j && mayor>=menor);
if(A[mitad]==j)
System.out.println("Existe: "+j+" en la Posicion: "+mitad);
else
System.out.println("No Existe ");
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<=100)
n=B.length;
else
n=100;
for(i=0;i<n;i++)
A[i]=B[i];
}
boolean verificarasc() // Verifica Ordenamiento ascendente
{
for(i=0;i<n-1 && A[i]<=A[i+1];i++);
if(i<n-1)
return false;
else
return true;
}
boolean verificardesc() // Verifica Ordenamiento Descendente
{
for(i=0;i<n-1 && A[i]>=A[i+1];i++);
if(i<n-1)
return false;
else
return true;
}
boolean buscarasc(int x) // Busqueda Ascendente
{
for(i=0;i<n && A[i]<x;i++);
if(i<n && A[i]==x)
return true;
else
return false;
}
boolean buscardesc(int x) // Busqueda Descendente
{
for(i=0;i<n && A[i]>x;i++);
if(i<n && A[i]==x)
return true;
else
return false;
}
boolean busqueda(int x) // Busqueda Normal
{
for(i=0;i<n && A[i]!=x;i++);
if(i<n)
return true;
else
return false;

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
}
void consulta() // Recorrer el contenido de vector
{
StringBuffer S=new StringBuffer();
for(i=0;i<n;i++)
{
S.append(A[i]);
S.append('\n');
}
JOptionPane.showMessageDialog(null,S.toString());
}
void lectura() // Leer el Vector
{
for(i=0;i<n;i++)
{
A[i]=Integer.parseInt(JOptionPane.showInputDialog(null," Vector Posicion ["+i+"]"));
}
}
void ordenarasc() // Ordenar Ascendente
{
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
void ordenardesc()// Ordenar Descendente
{
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(A[i]<A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
}
public class Arreglos
{
public static void main(String args[])
{
int i,opcion,x;
int B[]=new int[10];
Random R=new Random();
for(i=0;i<B.length;i++)
B[i]=Math.abs(R.nextInt()%100+1);
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);
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
catch(NumberFormatException e)
{
opcion=0; // Error de Conversion
}
}while(opcion<1 || opcion>6);
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
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<A.length;i++)
{
P.append(" ");
A[i]=Math.abs(R.nextInt()%99+1);
P.append(A[i]);
}
ordenar();
adicionOrdenado();
}
void ordenar()
{
for(i=0;i<A.length-1;i++)
for(j=i+1;j<A.length;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
String impresion()
{
return P.toString();
}
void adicionOrdenado()
{
P.append(" Vector Ordenado: ");
for(i=0;i<A.length;i++)
{
P.append(" ");
P.append(A[i]);
}
}
}
class CasoVector2
{
StringBuffer P=new StringBuffer("Vector de Entrada: Vector de Salida: ");
StringBuffer Q;
int i,j,aux;
int A[]=new int[10];
Random R=new Random();
public CasoVector2()
{
for(i=0;i<A.length;i++)
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)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
{
Q=new StringBuffer();
for(i=0;i<A.length;i++)
{
Q.append(" ");
Q.append(A[i]);
}
P.insert(k+1,Q.toString());
}
void ordenar()
{
for(i=0;i<A.length-1;i++)
for(j=i+1;j<A.length;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
String impresion()
{
return P.toString();
}
}
public class VectorCasos
{
public static void main(String[] args)
{
CasoVector1 X=new CasoVector1();
CasoVector2 Y=new CasoVector2();
JOptionPane.showMessageDialog(null," Caso Vector 1: \n"+X.impresion().toString());
JOptionPane.showMessageDialog(null," Caso Vector 2: \n"+Y.impresion().toString());
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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;
k/=10;
}
return m;
}
}
public class PasoInverso
{
public static void main(String[] args)
{

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
Inverso I=new Inverso();
String S;
int n;
do
{
n=0;
S=JOptionPane.showInputDialog(null," Digite Valor a Invertir: ");
try
{
n=Integer.parseInt(S);
}
catch(NumberFormatException e){n=0;}
}
while(n==0);
char C[]=new char[S.length()];
int A[]=new int[S.length()];
StringBuffer B=new StringBuffer();
int i;
I.pasar(C,S);
I.pasar(A,n);
JOptionPane.showMessageDialog(null," Valor Inverso de String a char[]: "+new String().valueOf(C).toString());
for(i=0;i<A.length;i++)
B.append(A[i]);
JOptionPane.showMessageDialog(null," Valor Inverso de un Entero a int[]: "+B.toString());
JOptionPane.showMessageDialog(null," Valor Inverso de String a String "+new String().valueOf(I.pasar(S)).toString());
JOptionPane.showMessageDialog(null," Valor Inverso de String a int "+B.toString());
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<filas;i++)
for(j=0;j<columnas;j++)
A[i][j]=Math.abs(R.nextInt()%99+1);
//Escritura
System.out.println(" ------ Matriz Leida -------");
for(i=0;i<filas;i++)
{
System.out.println();
for(j=0;j<columnas;j++)
{
if(A[i][j]>=10)
System.out.print(A[i][j]+" ");
else
System.out.print(A[i][j]+" ");
}
}
System.out.println();
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

10.2. Programa Lectura y Escritura de Matrices


import java.util.*;
import javax.swing.*;
class SumaDiagTran
{
public static void main(String[] args)
{
int filas=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite las Filas: "));
int columnas=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite las columnas: "));
int i,j,k;
int d=0,t=columnas-1;
int sumad=0,sumat=0;
Random R=new Random();
int A[][]=new int[filas][columnas];
//Lectura()
for(i=0;i<filas;i++)
for(j=0;j<columnas;j++)
A[i][j]=Math.abs(R.nextInt()%10+1);
for(i=0;i<filas;i++)
{
sumad=sumad+A[i][d];
sumat=sumat+A[i][t];
d++;
t--;
}
//Escritura
System.out.println(" ------ Matriz Leida -------");
for(i=0;i<filas;i++)
{
System.out.println();
for(j=0;j<columnas;j++)
{
if(A[i][j]>=10)
System.out.print(A[i][j]+" ");
else
System.out.print(A[i][j]+" ");
}
}
System.out.println();
System.out.println("Suma de Diagonal: "+sumad+" Suma Transversal: "+sumat);
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<n;i++)
for(j=0;j<n;j++)
A[i][j]=Math.abs(R.nextInt()%10+1);
for(i=0;i<n;i++)
{
sumad=sumad+A[i][d];
sumat=sumat+A[i][t];
d++;
t--;
}
//Escritura
System.out.println(" ------ Matriz Leida -------");
for(i=0;i<n;i++)
{
System.out.println();
for(j=0;j<n;j++)
{
if(A[i][j]>=10)
System.out.print(A[i][j]+" ");
else
System.out.print(A[i][j]+" ");
}
}
System.out.println();
System.out.println("Suma de Diagonal: "+sumad+" Suma Transversal: "+sumat);
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<n;i++)
for(j=0;j<n;j++)
if(i==j)
A[i][j]=1;
else
A[i][j]=0;
//Escritura
System.out.println(" ------ Diagonal -----");
for(i=0;i<n;i++)
{
System.out.println();
for(j=0;j<n;j++)
System.out.print(A[i][j]+" ");
}
System.out.println();
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<n;i++)
for(j=0;j<n;j++)
A[i][j]=0;
for(i=0;i<n;i++)
{
for(j=d;j<=t;j++)
A[i][j]=1;
for(j=t;j<=d;j++)
A[i][j]=1;
d++;
t--;
}
//Escritura
System.out.println(" ------ Copas-----");
for(i=0;i<n;i++)
{
System.out.println();
for(j=0;j<n;j++)
{
if(A[i][j]==0)
System.out.print(" ");
else
System.out.print("*");
}
}
System.out.println();
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<n;k++)
{
do
{
j=Math.abs(R.nextInt()%999+1);
}
while(existe(j)!=-1);
A[k][0]=j; // Referencia del Articulo
A[k][1]=Math.abs(R.nextInt()%999+1); // Cantidad de Articulos
A[k][2]=0; // Entrada de Productos
A[k][3]=0; // Salida de Productos
}
}
int existe(int x)
{
boolean esta=false;
i=0;
while(i<n && !esta)
{
if(A[i][0]==x)
esta=true;
else
i++;
}
if(esta)
return i;
else
return -1;
}
void venta(int cant,int pos)
{
if(A[pos][1]>=cant)
{
A[pos][1]=A[pos][1]-cant;
A[pos][3]=A[pos][3]+cant;
}
else
JOptionPane.showMessageDialog(null,"No se puede realizar la venta...no hay existencia");
}
void compra(int cant,int pos)
{
A[pos][1]=A[pos][1]+cant;
A[pos][2]=A[pos][2]+cant;
}
String impresion()
{
StringBuffer P=new StringBuffer();
P.append(" CODIGO SALDO ENTRADA SALIDA");
for(i=0;i<n;i++)
{
P.append("\n ");
for(j=0;j<4;j++)
{
P.append(A[i][j]);
if(A[i][j]<10)
P.append(" ");
if(A[i][j]<100)
P.append(" ");

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
P.append("
}

");

}
return P.toString();
}
}
public class Kardex
{
public static void main(String[] args)
{
Inventario X=new Inventario();
Object[] Opcion={"1. Compra","2. Venta","3. Consulta","4.Cierre"};
int opc,pos;
String S;
do
{
S=(String) JOptionPane.showInputDialog(null,"Opciones: "," Almacen
Doris",JOptionPane.QUESTION_MESSAGE,null,Opcion,Opcion[2]);
opc=Character.digit(S.charAt(0),10);
switch(opc)
{
case 1:
pos=X.existe(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Codigo ")));
if(pos==-1)
JOptionPane.showMessageDialog(null,"No existe Codigo");
else
X.compra(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Cantidad a Comprar ")),pos);
break;
case 2:
pos=X.existe(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Codigo ")));
if(pos==-1)
JOptionPane.showMessageDialog(null,"No existe Codigo");
else
X.venta(Integer.parseInt(JOptionPane.showInputDialog(null," Digite Cantidad a Venta ")),pos);
break;
case 3:
JOptionPane.showMessageDialog(null,"
Inventario \n"+X.impresion().toString());
}
}while(opc!=4);
System.exit(0);
}
}

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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<n;i++)
for(j=0;j<n;j++)
if(Entrada[i][j]!=0)
k++;
if(k==n*n)
return true;
else
return false;
}
void reloj()
{
int hi=hora+2;
ha=(hora*60)+minuto;
do
{
do
{
h=Math.abs(R.nextInt()%21+hora);
}
while(h<hora || h>hora+2);
m=Math.abs(R.nextInt()%59+0);
hf=(h*60)+m;
}
while(hf<=ha);
hora=h;
minuto=m;
}
boolean noatiende()
{
if(hora>=20)
return true;
else
return false;
}
void asignar(int placa)
{
do
{
i=m=Math.abs(R.nextInt()%(n-1)+0);
j=m=Math.abs(R.nextInt()%(n-1)+0);
}
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)
{

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
boolean esta=false;
i=0;
while(i<n && !esta)
{
j=0;
while(j<n && !esta)
if(Placa[i][j]==placa)
esta=true;
else
j++;
if(!esta)
i++;
}
return esta;
}
String leerReloj(int hm)
{
String H=new String(new String().valueOf(hm/100));
String M=new String(new String().valueOf(hm%100));
String P=new String(":");
return new String(H.concat(P.concat(M))).toString();
}
int salida(int placa)
{
if(existe(placa))
{
reloj();
hf=(hora*60)+minuto;
ha=
(hora*100)+minuto;
k=(hf-Entrada[i][j])*10;
JOptionPane.showMessageDialog(null,"Placa: "+placa+"\n Hora de Entrada: "+leerReloj(Militar[i][j]).toString()+" \n Hora de
Salida: "+leerReloj(ha).toString()+" \n Pago:"+k);
Entrada[i][j]=0;
Placa[i][j]=0;
Militar[i][j]=0;
}
else
{
JOptionPane.showMessageDialog(null,"No existe la placa:"+placa);
k=0;
}
return k;
}
String impresion()
{
StringBuffer P=new StringBuffer();
P.append(" PLACA ENTRADA");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(Placa[i][j]!=0)
{
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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403
{
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
PROGRAMA DE INGENIERIA DE SISTEMAS
CURSO: PROGRAMACIN ORIENTADA A OBJETOS
CDIGO 301403

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.

Das könnte Ihnen auch gefallen