Site hosted by Angelfire.com: Build your free website today!

 

UNIVERSIDAD DE COSTA RICA

 

 

ESCUELA DE LAS CIENCIAS DE LA COMPUMTACIÓN E INFORMÁTICA

(ECCI)

 

 

PROGRAMACIÓN II (CI-1201)

 

 

CENTRO UNIVERSITARIO:

SEDE CENTRAL RODRIGO FACIO

 

 

TAREA #1

 

CALCULADORA DE NÚMEROS RACIONALES

 

 

GRUPO: 01

 

 

PROFESOR:

ADOLFO DI MARE

 

 

ESTUDIANTE:

JORGE A. MENOCAL ROJAS

 

 

CARNÉ:

A43354

 

 

 

 

 

 

 

16/08/2005

 

Tabla de contenidos

 

Introducción.. 2

Descripción del problema a resolver. 2

Planteo:. 2

Objetivos:. 2

Requerimientos:. 2

Abstracción.. 2

Especificación de la clase: 2

·      Racional: 3

Operaciones y métodos: 3

Clase Racional: 3

Especificación del programa. 5

Eficiencia: 5

Arquitectura del Programa:. 5

Implementación.. 5

Modelo de las clases:. 6

Compilador usado: 6

- ¿Cómo compilar el programa?. 6

Guía de uso del programa. 8

Bibliografía. 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Introducción

 

Este trabajo le brinda una ayuda al estudiante para que aprenda a compilar en C++ y a hacer la documentación externa del programa, consiste en una calculadora de números racionales que hace el cálculo de quebrados y de enteros.

También se pretende que se aprenda a usar el oxygen.

Los documentos de este trabajo, se pueden encontrar en:  www.angelfire.com/rock4/A43354

 

 

Descripción del problema a resolver

Planteo:

   Se debe aprender a usar el compilador en C++ para poder programar otras tareas.

   La solución para esto sería darle una lectura a los manuales para aprender a usarlos con seguridad.   

 

Objetivos:  

      -    Lograr una documentación que sea entendible para cualquier persona. 

-         Familiarizarse con el lenguaje C++.

-         Aprender a usar el programa doxygen

 

Requerimientos:   

El programa requiere tener una plataforma de win32 valida con cualquier sistema operativo de Microsoft Windows; además de que requiere la existencia de los sub-directorios que se deseen ordenar.

 

Abstracción

 

Especificación de la clase:

Esta tarea contiene 2 clases de implementación:

 Esta clase contiene los métodos y atributos necesarios para manejar una calculadora capaz de manipular números racionales. Contiene funciones ya sea de la biblioteca de C++ o creados por el usuario. La invariante de la clase (check_ok.cpp) se encarga de revisar que el denominador nunca sea 0.

 

Operaciones y métodos:

 

Clase Racional:

rational() : m_num(0), m_den(1)

Constructor de un vector.

 

rational(long num) : m_num(num), m_den(1)

Constructor a partir de un valor entero.

 

rational(long num, long den) : m_num(num), m_den(den)

Constructor a partir de un valor quebrado.

 

rational(const rational& o)

Constructor de copia.

 

~rational()

Destructor.

 

void asigne(long num=0, long den=1)

Le cambia el valor a \c "*this".

 

long num() const

Copia del numerador.

 

long den() const

Copia del denominador.

 

rational& operator  = (const rational&); 

rational& operator  = (long);

rational& Swap ( rational& );

Asignación (copia)

 

rational& operator += (const rational&);

rational& operator -= (const rational&);

rational& operator *= (const rational&);

rational& operator /= (const rational&);

 

rational operator  - ();

menos unario

 

friend rational operator + (const rational&, const rational&);

friend rational operator - (const rational&, const rational&);

friend rational operator * (const rational&, const rational&);

friend rational operator / (const rational&, const rational&);

friend bool operator == (const rational&, const rational&);

friend bool operator <  (const rational&, const rational&);

friend bool operator != (const rational&, const rational&);

friend bool operator <= (const rational&, const rational&);

friend bool operator >= (const rational&, const rational&);

friend bool operator >  (const rational&, const rational&);

 

friend ostream& operator << (ostream &, const rational& );

friend istream& operator >> (istream &,       rational& );

 

friend double real   (const rational& );

Conversión a real

 

friend long   integer(const rational& );

Conversión a long

 

friend bool check_ok( const rational& r );

Invariante de la clase

 

Especificación del programa

 

El main() se encuentra dentro de el archivo p2-ta-1.cpp, este se encarga de llamar los métodos de la clase racional para poder correr el programa.

Este programa es capaz de realizar las cuatro operaciones básicas (suma, resta, multiplicación y división) con números racionales.

En la clase racional se sobrecargaron operadores para poder realizar operaciones entre objetos de la clase racional.

La invariante de la clase se encarga de asegurarse que los números racionales son racionales válidos.

 

Eficiencia:

Este programa tiene un alto grado de eficiencia debido al uso de referencias para la manipulación de los datos.

 

Arquitectura del Programa:

 

Implementación

 

Modelo de las clases:

 

Compilador usado:

El compilador utilizado fue Microsoft Visual C++ 6.0

 

- ¿Cómo compilar el programa?

 

El programa se compila de la siguiente manera:

1) Copia los archivos a un nuevo directorio

   - Z:\DIR\SubDir\Pogramas\A43354

2) Abra Visual C++

   - Proyecto en Blanco ==> A43354

3) Agregue archivos .cpp y .h

   - VC++ no lo hace automáticamente

4) Recompile

   - Pueder borrar los archivos "A43354.ncb" "A43354.sln" y "A43354.suo"

   - El proyecto son los archivo "A43354.dsw" y “A43354.dsp

 

Abra Visual C++

==================

 

Start

==> New Project

    ==> C++ Project

        ==> Win32 Console Project

        ==> Name:     A43354

        ==> Location: Z:\DIR\SubDir\Pogramas

 

            ==> El proyecto quedará en el subdirectorio "Location\Name"

                - Z:\DIR\SubDir\Pogramas\A43354

        ==> [OK]

 

            ==> Win32 Application Wizard

                    ==> [X] Empty Project

                 ==> [Finish]

 

    ==> Ctrl-Alt-L o Alt-View Solution Explorer

        ==> [Click-Derecho] Source files

            ==> Add

                ==> Add Existing Item

                    ==> Agruege archivos *.cpp

        ==> [Click-Derecho] Header files

            ==> Add

                ==> Add Existing Item

                    ==> Agruege archivos *.h

 

 

 

 

Guía de uso del programa

 

Dentro del directorio del proyecto, el usuario deberá buscar la carpeta Debug, luego el archivo *.exe, una vez hecho eso podrá usar el programa.

 

 

Bibliografía

 

-         Deitel Harvey M., Deitel Paul J. Como programar en C++. Cuarta Edición. Pearson Educación, México, 2003. 1376 pgs.