Sitio Web de Héctor E. Medellín Anaya

Tareas

Tarea #1 Introducción a las clases y objetos (entrega 25/01/03)

1. Escriba un programa para resolver ecuaciones simultaneas de 2x2 que no utilice clases. Haga una versión de este programa definiendo una clase para resolver ecuaciones de 2x2.

2. Amplie la clase Grados para incluir la operación de resta.

3. Agregue dos métodos a la clase Grados par aconvertir un número real fraccionario a grados, minutos y segundos y viceversa. Por ejemplo: 45.365º = 45º21'45". Ayuda multiplique la parte fraccionaria por 60 para obtener los minutos, y vuelva a multiplicar la parte fraccionario para obtener los grados.

3. Defina dos nuevos constructores para la clase Grados. El primero deberá solo iniciar grad poniendo min y seg a cero, el segundo iniciará grad y min y pondra seg a cero.

Tarea # 2 Implementación de Clases (entrega 8/2/2013)

Implemente alguna de las siguientes clases como se especifica. No utilice las clases contenedoras de C++. En cada caso defina constructores y destructores adecuados y sobrecarge los operedores necesarios. Escriba unn programa para probar su clase.

a. Conjuntos de enteros. Debe incluir un constructor que especifique el tamaño máximo del conjunto. Incluya la unión, intersección, complemento, diferencia, prueba de inclusión, igualdad, no igualdad. Sobrecarge + para la unión, * para la intersección, - para diferenica.

b. Números complejos. Implemente suma, resta, multiplicación, división, conjugado, magnitud, argumento, igualdad, no igualdad.

c. Vectores en 3 dimensiones. Implemente suma, resta, magnitud, producto punto, producto cruz, triple producto escalar, ángulo entre dos vectores, igualdad, no igualdad.

d. Matrices de n x m. implemente suma, resta, multiplicación, traspuesta, inversa, determinante, igualdad, no igualdad.

e. Polinomios en una variable. implemente suma, resta, multiplicación, derivada, evaluación en un punto, integral, igualdad, no igualdad.

f. Números enteros grandes. implemente suma, resta, multiplicación, división, igualdad, no igualdad.

Tarea #3 Juego de cartas (herencia y polimorfismo)

Realizar las siguientes variaciones al juego de Klondike:

1. Las cartas se sacan de la baraja de 3 en 3 y se colocan en la pila de descarte en orden inverso. Como antes, sólo la carta superior de la pila de descarte está disponible para el juego. Si quedan menos de tres cartas en la pila de baraja, todas las cartas restantes (sin importar cuántas haya) se pasan a la pila de descarte.

2. Cualquier figura, y no nada más un rey, se puede mover a una pila de mesa vacía.

3. El juego "Thum and pouch" (pulgar y volsa) es parecido al Klondike excepto porque una carta se puede colocar sobre una carta de valor inmediato superior, de cualquier palo excepto el propio. De esta manera, un 9 de picas se puede colocar sobre un 10 de tréboles, por ejemplo, pero no sobre un 10 de picas. Esta variación aumenta mucho las oprtuniddes de ganar.

4. El juego "Cabeza blanca" es parecido al Klondike excepto porque la pila de mesa completa se maneja boca arriba, y las columnas se colocan por color (rojo sobre rojo, negro sobre negro, sin importar el palo). Un espacio se puede llenar con cualquier carta o montón disponible.

5. Ell juego "Spiderette" no hay pilas de palos; todas las colocaciones se realizan en la pila de mesa. El objetivo es colocar ésta en cuatro pilas, de rey a as. Se puede poner una carta sobre otra de valor inmediato superior sin importar el palo. Un espacio producido al quitar todas las cartas se puede llenar con cualquier carta o montón disponible.

6. Modificar la forma como se despliegan las pilas de mesa para dibujar las cartas boca abajo ligeramente desplazadas para poder ver cuantas son.

7. Defina un nuevo botón, que cuando se presione, produzca una ventana de alternativas de "botón de radio". Por medio de estas selecciones el usuario puede modificar el juego a su gusto para producir cualquiera de las alternativas descritas en los ejercicios anteriores u otras variaciones (cuenta como un proyecto). Deberá crear una clase para los botones de radio que permita selecionar una de las opciones.

8. Agregue dos botones nuevos al juego del solitario. El primero, etiquetado "paso", ejecutará cuando se apriete, cualquier jugada posible de la pila de descarte o de las de mesa. De esta manera el usuario podría jugar pasando las cartas, una por una, y usando el botón de "paso". El segundo botón, etiquetado "juega", pasará automáticamente las cartas de la baraja e intentará jugarlas. Si primero aprieta este botón, no jugará las cartas del todo y el juego se ejecutará automáticamente.

9. Use las clases usadas en el juego de Klondike para implementar el solitario "Spider".

Tareas de Java

Tarea #1

1. Complete la implementación de la clase que hizo en C ahora en Java.

2. Escriba un applet para simular una calculadora que manipule el tipo de datos implementado en el problema 1.