Programación II


Programas de Cómputo:

Hola mundo
Lectura desde teclado
Lectura desde teclado (BufferedReader)
Comparación de cadenas
Fracciones
Factorial (con metodo de clase)
Números Complejos
Ejemplo de Herencia
Uso con arreglos en Java
Uso de static y final
Entrada por main
Clases y métodos de clase e instancia
Clase abstracta
Aplicación con ventanas
Manejo de Arreglos
Suma dos números con ventanas
División por cero con ciclos
División por cero
Manejo de la clase Exception
Creación de excepciones
Factorial con recursividad
FIbonacci con recursividad
Recursividad anidada: Ackerman
Recursividad cruzada
Clase Genérica
Ventana gráfica
Cambio de color del fondo
Tipo de letras
Uso de mouse
Manejo de archivos
Copiar un archivo


Notas:

Notas de Java
Java


Cuestionario de Preguntas:

Tarea 1:  
	Completar el TDA de fracciones visto en clase. 

Tarea 2:
	Realizar la definición del TDA con las operaciones 
	básicas para los números imaginarios

Tarea 3: Investigar:
	1. Qué es y para qué sirve UML. 
	2. Los tipos de diagramas que contiene UML.
	3. Para qué sirven los diagramas que contiene UML.
	4. Con la información investigada realizar un mapa conceptual.

Ejercicio de UML del martes
Banco de Preguntas
Lista de programas para práctica


Material Visual:

Abstracción de Datos
Conceptos de la Programación Orientada a Objetos
Lenguaje de Modelado de Datos
Ejemplos de UML
Java
Java - excepciones
Recursión


Antología:

Boton Ceballos: Enciclopedia del lenguaje C++
Boton Manual Básico de Programamación en C++
Boton Manual lenguaje C++
Boton Breve historia de C++
Boton Curso de lenguaje C++
Boton Curso de lenguaje C de Carlos Pes
Algoritmia Avanzada
Boton Java
Boton Tutoriales de Java
Boton Oracle Technology Network for Java Developers
Boton Programación en Java - Wikilibros
Boton Programación con Java
Boton Bienvenidos a Java gratis
Boton Java desde Cero
Boton Java
Boton Programación en Lenguaje Java
Boton Guía de Iniciación al Lenguaje Java
Boton Apuntes del Lenguaje Java
Boton Aplicaciones gráficas en Java


Manual de Prácticas de Laboratorio:

Práctica 1
1. Realizar el esquema de Biblioteca utilizando Star UML.

Práctica 2
Realizar un programa en lenguaje C
1. Realizar una agenda de datos de dentistas, con los datos de: nombre, dirección, teléfono y especialidad.
2. Los datos serán guardados en un archivo binario (estructurado) para posteriormente poder ser recuperados.
3. Las opciones dentro del programa son: alta de un dato, mostrar a un dentista en particular y mostrar todos los datos que se tienen.

Práctica 3
Diseñar un diagrama de clases sobre la información de las rentas de una empresa dedicada al alquiler de automóviles, teniendo en cuenta:
1. Un cliente pude tener en un momento dado, varias rentas hechas.
2. De cada cliente se almacena su RFC, nombre, dirección y teléfono. Además los cliente se diferencian por un código único.
3. Cada cliente puede ser avalado por otro cliente de la empresa.
4. Una renta la realiza un solo cliente, pero puede involucrar varios coches.
5. Es importante registrar la fecha de inicio y final de la renta, el precio de alquiler de cada uno de los coches, los litros de gasolina en el depósito en el momento de la renta, el precio total de la renta y un indicador si el coche o coches han sido entregados.
6. Todo chche tiene siempre asignado un garaje que no cambia. De cada coche se requiere el número de placa, modelo, color y marca.
7. Cada renta se realiza en una determinada agencia.

Práctica 4
Realizar un programa en Java
1. Que realice las operaciones básicas (suma, resta, multiplicación y división)
2. Todo debe quedar en el main (solo por esta ocasión).

Práctica 5
Realizar un programa en Java
1. Que lea desde teclado dos números.
2. Diga si el primer número es divisible entre el segundo número.

Práctica 6
1. Completar la clase Fraccion visto en clase con las operaciones de resta, multiplicación y división


Práctica 7
1. Completar la clase Complejo, vista en clase con las operaciones de resta, multiplicación y división de números complejos.


Práctica 8
Realizar un programa en Java
1. Crear la clase CafeInternet.
2. Con los atributos de: nombre, numMaquina, horaDeEntrada (hora y minuto), horaDeSalida (hora y minuto), tiempoIncremento (hora y minuto) y pagoTotal.
3. Con métodos que puedan modificar dichos datos y mostrarlos.
4. Un método llamado calculaPago que calcule el pago, mediante el tiempo que ocupó una máquina, siendo el costo por hora de $8.00, y se cobra lo proporcional por fracción de tiempo que se utilice la máquina.
5. Un método incrementaTiempo, que incremente los minutos tomando en consideración que si llega al minuto 59 debe incrementarse la hora y el minuto pasa a cero.

Práctica 9
Realizar un programa en Java
1. Crear la clase FigGeometrica.
2. Que al menos tenga dos constructores para inicializar a un objeto de tipo FigGeometrica, esta clase calculará los perímetros de figuras regulares.
3. Las variables de instancia que tendrá la clase serán tamaño de un lado y número de lados.
4. Se tendrán los métodos para modificar los valores, visualizar valores y uno que calcula el perímetro de un objeto dentro de esta clase.

Práctica 10
Realizar un programa en Java
1. Crear la clase Conjunto que realice las operaciones de unión y de intersección de dos conjuntos.
2. Considerar los constructores necesarios para crear el conjunto vacío y el conjunto con n elementos.

Práctica 11
Realizar un programa en lenguaje Java
1. Crear la clase Vector.
2. Que al menos tenga dos constructores para inicializar a un objeto de tipo Vector, donde se genere un vector de tamaño 3 y de algún tamaño deseado por el usuario. En ambos casos el vector se inicia con valores internos de cero.
3. Las variables de instancia que tendrá la clase son el tamaño del vector y el vector mismo.
4. Se tendrán los métodos para modificar los valores, visualizar valores y uno que sume y reste dos objetos de tipo Vector.

Práctica 12
Realizar un programa en Java
1. Implementar un jerarquía de clases llamada Plantas.
2. Obtener la clasificación de las plantas obteniendo al menos 15 clases.
3. Genere los métodos necesarios para el manejo de esta clasificación.

Práctica 13
1. Realizar un programa en Java, que implemente la clase Persona, como clases hijas Dentista, y Paciente.
2. La clase Persona tiene por atributos nombre, direccion y telefono.
3. La clase Paciente tiene por atributos: numeroPaciente, proximaCita, problemaDental, edad, peso, estatura, presionArterial, tratamiento, estudios, doctorAsignado.
4. La clase Dentista tiene por atributos: cedulaProfesional, horario, especialización (Cirujano Dentista, Cirugía Maxilo Facial, Endodoncia, Odontopediatría, etc) y, consultorio.
5. Realizar la aplicación que pruebe que un paciente está atendido por un dentista que exista.

Práctica 14
Realizar un programa en Java
1. Implementar la clase abstracta llamada Instrumentos, como clases hijas Guitarra, Piano y Trompeta.
2. Considerar constructores para manejar las distintas clases que se generan.
3. Se tienen los métodos abstractos en la clase Instrumentos: tocar(), tipoInstrumento() y que se implementen en las clases hijas.

Práctica 15
Realizar un programa en Java
1. Implementar la clase abstracta llamada FigurasGeometricas, como clases hijas Circulo, Cuadrado y Trapecio.
2. Considerar constructores para manejar las distintas clases que se generan.
3. Se tienen los métodos abstractos en la clase FiguraGeometrica: perimetro(), area() y que se implementen en las clases hijas.

Práctica 16
Realizar un programa en Java con métodos de clase que obtenga de manera recursiva:
1. La suma de los primeros n números pares.
Por ejemplo: si n=5 obtener 2+4+6+8+10
2. La suma de los primero n números impares.
Por ejemplo: si n=5 obtener 1+3+5+7+9

Práctica 17
Realizar un programa en Java
1. Que busque dentro de un arreglo un dato de manera recursiva.

Práctica 18
Realizar un programa en Java con métodos de clase que obtenga de manera recursiva:
1. La multiplicación de dos números mediante sumas sucesivas.
Por ejemplo: si n=5 y m=3 obtener 5+5+5=15

Práctica 19
Realizar un programa en Java con métodos de clase que obtenga de manera recursiva:
1. La potencia de dos números mediante multiplicaciones sucesivas.
Por ejemplo: si n=5 y m=3 obtener 5*5*5=125

Práctica 20
Realizar un programa en Java con métodos de clase que obtenga de manera recursiva:
1. La conversión de un número de base 10 a base n.
Por ejemplo: 12 a base 2 queda: 1100

Práctica 21
Realizar un programa en Java
1. Implementar la clase llamada ManejoArchivo, que permita:
2. Mostrar el contenido de un archivo en pantalla, pero cada cadena de manera inversa.
Por ejemplo: Si el archivo contiene la cadena "Hola mundo" en pantalla se debe presentar "odnum aloH"

Práctica 22
Realizar un programa en Java
1. Implementar la clase llamada CuentaArchivo.
2. Contar todas las palabras en el archivo.
3. COntar la cantidad de carácteres que contiene.
4. Contar el número de líneas en elarchivo.
5. Mostrar cada uno de los resultados.

Proyecto Final
Relizar el siguiente proyecto.