Página principal | Lista de namespace | Jerarquía de la clase | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros

Referencia del Archivo rational.h

Declara el tipo "rational". Más...

#include <iostream>
#include <cstdlib>
#include <cctype>

Ir al código fuente de este archivo.

Definiciones

#define rational_h
 Evita la inclusión múltiple.

Funciones

template<class INT>
INT mcd (INT x, INT y)
 Calcula el Máximo Común Divisor de los números "x" y "y".
template<class INT>
INT gcd (INT x, INT y)
 Sinónimo de mcd(x,y) [ inline ] .
template<class INT>
bool operator== (const rational< INT > &x, const rational< INT > &y)
 ¿ x == y ?
template<class INT>
bool operator< (const rational< INT > &x, const rational< INT > &y)
 ¿ x < y ?
template<class INT>
bool operator> (const rational< INT > &x, const rational< INT > &y)
 ¿ x > y ?
template<class INT>
bool operator!= (const rational< INT > &x, const rational< INT > &y)
 ¿ x != y ?
template<class INT>
bool operator<= (const rational< INT > &x, const rational< INT > &y)
 ¿ x <= y ?
template<class INT>
bool operator>= (const rational< INT > &x, const rational< INT > &y)
 ¿ x >= y ?
template<class INT>
double real (const rational< INT > &num)
 Convertidor a punto flotante.
template<class INT>
INT integer (const rational< INT > &num)
 Convertidor a punto fijo.
template<class INT>
bool check_ok_externo (const rational< INT > &r)
template<class INT>
bool check_ok (const rational< INT > &r)
 Verifica la invariante de la clase rational.
template<class INT>
bool check_ok_no_Rep (const rational< INT > &r)
 Verifica la invariante de la clase rational.
template<class INT>
ostream & operator<< (ostream &COUT, const rational< INT > &r)
 Graba el valor de "r" en el flujo "COUT".
template<class INT>
istream & operator>> (istream &CIN, rational< INT > &r)
 Lee del flujo de texto "CIN" el valor de "r".
template<class INT>
rational< INT > operator+ (const rational< INT > &x, const rational< INT > &y)
 "x+y".
template<class INT>
rational< INT > operator- (const rational< INT > &x, const rational< INT > &y)
 "x-y".
template<class INT>
rational< INT > operator * (const rational< INT > &x, const rational< INT > &y)
 "x*y".
template<class INT>
rational< INT > operator/ (const rational< INT > &x, const rational< INT > &y)
 "x/y".


Descripción detallada

Declara el tipo "rational".

Autor:
Adolfo Di Mare <[email protected]>
Fecha:
2005

Definición en el archivo rational.h.


Documentación de las definiciones

#define rational_h
 

Evita la inclusión múltiple.

Definición en la línea 20 del archivo rational.h.


Documentación de las funciones

template<class INT>
INT mcd INT  x,
INT  y
 

Calcula el Máximo Común Divisor de los números "x" y "y".

  • mcd(x,y) >= 1 siempre.
  • MCD <==> GCD: Greatest Common Divisor .

Precondición:
(y != 0)
Comentarios:
Se usa el algoritmo de Euclides para hacer el cálculo.
Ejemplo:
    2*3*5 == mcd( 2*2*2*2 * 3*3 * 5*5, 2*3*5 )
       30 == mcd( -3600, -30 )

Definición en la línea 363 del archivo rational.h.

template<class INT>
INT gcd INT  x,
INT  y
[inline]
 

Sinónimo de mcd(x,y) [ inline ] .

Definición en la línea 94 del archivo rational.h.

template<class INT>
bool operator== const rational< INT > &  x,
const rational< INT > &  y
[inline]
 

¿ x == y ?

Definición en la línea 185 del archivo rational.h.

template<class INT>
bool operator< const rational< INT > &  x,
const rational< INT > &  y
[inline]
 

¿ x < y ?

Definición en la línea 197 del archivo rational.h.

template<class INT>
bool operator> const rational< INT > &  x,
const rational< INT > &  y
[inline]
 

¿ x > y ?

Definición en la línea 219 del archivo rational.h.

template<class INT>
bool operator!= const rational< INT > &  x,
const rational< INT > &  y
[inline]
 

¿ x != y ?

Definición en la línea 225 del archivo rational.h.

template<class INT>
bool operator<= const rational< INT > &  x,
const rational< INT > &  y
[inline]
 

¿ x <= y ?

Definición en la línea 231 del archivo rational.h.

template<class INT>
bool operator>= const rational< INT > &  x,
const rational< INT > &  y
[inline]
 

¿ x >= y ?

Definición en la línea 237 del archivo rational.h.

template<class INT>
double real const rational< INT > &  num  )  [inline]
 

Convertidor a punto flotante.

Definición en la línea 243 del archivo rational.h.

template<class INT>
INT integer const rational< INT > &  num  )  [inline]
 

Convertidor a punto fijo.

Definición en la línea 249 del archivo rational.h.

template<class INT>
bool check_ok_externo const rational< INT > &  r  ) 
 

template<class INT>
bool check_ok const rational< INT > &  r  ) 
 

Verifica la invariante de la clase rational.

Rep Modelo de la clase:
    +---+
    | 3 | <==  m_num == numerador del número racional
    +---+
    |134| <==  m_den == denominador del número racional
    +---+
Comentarios:
Libera al programador de implementar el método Ok()

- Invariante: ningún objeto puede estar almacenado en la posición nula.

- Invariante: el denominador debe ser un número positivo.

- Invariante: el cero debe representarse con denominador igual a "1".

- Invariante: el numerador y el denominador deben ser primos relativos.

Definición en la línea 283 del archivo rational.h.

template<class INT>
bool check_ok_no_Rep const rational< INT > &  r  ) 
 

Verifica la invariante de la clase rational.

Comentarios:
Esta implementación nos se le mete al Rep (casi siempre no es posible implementar una función como ésta).

Libera al programador de implementar el método Ok()

- Invariante: ningún objeto puede estar almacenado en la posición nula.

- Invariante: el denominador debe ser un número positivo.

- Invariante: el cero debe representarse con denominador igual a "1".

- Invariante: el numerador y el denominador deben ser primos relativos.

Definición en la línea 319 del archivo rational.h.

template<class INT>
ostream& operator<< ostream &  COUT,
const rational< INT > &  r
 

Graba el valor de "r" en el flujo "COUT".

  • Graba el valor en el formato [num/den].
  • En particular, este es el operador que se invoca cuando se usa, por ejemplo, este tipo de instrucción:
              cout << r << q;
    

Definición en la línea 497 del archivo rational.h.

template<class INT>
istream& operator>> istream &  CIN,
rational< INT > &  r
 

Lee del flujo de texto "CIN" el valor de "r".

Precondición:
El número rational debe haber sido escrito usando el formato "[r/den]", aunque es permisible usar algunos blancos.
  • Se termina de leer el valor sólo cuando encuentra "]".
  • [ -+-+-+-+- 4 / -- -+ -- 32 ] se lee como [1/8]

Definición en la línea 515 del archivo rational.h.

template<class INT>
rational<INT> operator+ const rational< INT > &  x,
const rational< INT > &  y
 

"x+y".

  • Calcula y retorna la suma "x+y".

Definición en la línea 586 del archivo rational.h.

template<class INT>
rational<INT> operator- const rational< INT > &  x,
const rational< INT > &  y
 

"x-y".

  • Calcula y retorna la resta "x-y".

Definición en la línea 597 del archivo rational.h.

template<class INT>
rational<INT> operator * const rational< INT > &  x,
const rational< INT > &  y
 

"x*y".

  • Calcula y retorna la multiplicación "x*y".

Definición en la línea 609 del archivo rational.h.

template<class INT>
rational<INT> operator/ const rational< INT > &  x,
const rational< INT > &  y
 

"x/y".

  • Calcula y retorna la división "x/y".
    Precondición:
    y != 0

Definición en la línea 622 del archivo rational.h.


Generado el Thu Sep 20 12:33:07 2007 para Clase decimal: por  doxygen 1.4.1
Hosted by www.Geocities.ws

1