Este documento
Debe declararse e implementarse la clase complejo, e incluir un stub para
pruebas que ... Asuma que está rindiendo un examen en una clase y solo tiene a
...
Part of the document
Prueba Bimestral #3 - Números complejos
Fecha de entrega Lunes, 15 de Julio de 2002 Propósito:
Este proyecto requiere que se construya un tipo abstracto de datos que
represente números complejos y permitan su manipulación en forma
rectangular y polar.
Requerimientos: El programa: 1. Debe compilarse y enlazarse utilizando VC++ 6.0, tal como se ha hecho
en el laboratorio.
1. Debe utilizar los servicios prestados por la librería iostream de C++
para todo lo referente a entrada / salida desde la consola del usuario y
desde archivos. 2. Debe utilizar los operadores de C++ new y delete para toda la
administración dinámica de memoria.
1. Debe contener al menos una clase representando el tópico principal. En
realidad se recomienda el definir clases adicionales, de ser necesario. 1. Debe declararse e implementarse la clase complejo, e incluir un stub
para pruebas que demuestre la correcta operación de cada una de las
funciones miembros. No olvide la importancia de la parte de la
documentación.
2. Debe proveerse un interfaz de usuario que permita aceptar datos
ingresados por el usuario de manera interactiva o desde un archivo. En
cada caso se deben proveer los operandos y la operación a realizarse.
Esta parte no es lo mismo que el stub de prueba, pero debe permitir la
utilización de toda la funcionalidad de la clase.
Para la lectura de datos desde un archivo, éste puede consistir de cero o
más líneas de comentario, que deben empezar con un símbolo de admiración,
seguidos de una o más líneas de datos (conteniendo los operandos,
operación a realizarse y formato de representación de los datos); los
resultados en este caso deberán también escribirse en un archivo.
Ejemplo:
! Este archivo contiene datos de prueba para el programa COMPLEJOS.
!
! Preparado por Ivan Bernal, Ph.D.
! Ultima actualización 7/7/2002
!
! Formato-
!
! p magnitud angulo (en radianes)
! r valor_X valor_Y
!
p 100. 0.80
r 50. 50.
Op + p 20 4.8
r -100. 25.
Op - r -100. 25. 10. 12. 23. 12.8
Op + Indicaciones generales: 1. La definición del interfaz y su implementación están abiertas, pero es
claro que la evaluación considerará las facilidades que ofrezca la
clase. Lo mismo se aplica para el stub de prueba y el interfaz de
usuario.
2. La fecha de entrega es el 15 de Julio de 2002.
3. Está permitido que trabajen hasta un máximo de dos personas por grupo.
4. No está permitido:
a. Discutir y menos compartir ideas y/o código entre grupos. Asuma
que está rindiendo un examen en una clase y solo tiene a
disposición libros de consulta de C++, no personas. Asuma que
ningún libro menciona como resolver el problema.
b. Discutir las ideas o conceptos referentes a los números
complejos. Esto permitirá evaluar qué consideran pertinente vaya
en la clase.
c. Copiar de libros o del Internet la solución al problema (si se
puede consultar sobre los números complejos de ser necesario).
5. Cualquier consulta en libros debe realizarse respecto al lenguaje C++.
6. Los ejemplos hechos en clase y en los deberes son suficientes para
resolver el problema, obviamente los números complejos deben tenerse
presente.
7. Están sobreentendidas la seriedad y honestidad con la que se seguirán
las indicaciones anteriores y las dadas en clase.
8. Para reducir el estrés adicional que impone un examen en clase y a
libro cerrado, he tomado esta alternativa de examen, por esta ocasión.
Sin embargo, en reciprocidad confío en la honorabilidad de todos mis
estudiantes.
9. Solamente los archivos (*.cpp) y (*.h), deberán ser comprimidos con
Winzip y enviados a mi dirección de correo electrónico hasta las
13:00H de la fecha indicada. Previo al envío deben estar seguros que
sus programas compilen, caso contrario la nota se reducirá
drásticamente.