De Real a Racional SIN Strings

Iniciado por matutefer, 12 Noviembre 2014, 22:00 PM

0 Miembros y 1 Visitante están viendo este tema.

matutefer

Hola, estoy rompiéndome la cabeza con esto  :huh:
Tengo una estructura llamada racional

Lo pongo en Pascal, pero puede ser valido para cualquier lenguaje
Código (pascal) [Seleccionar]

racional = record
numerador:integer;
denominador:integer;
end;

Como se darán cuenta, la estructura representa una fracción. Tiene un entero para el numerador y otro para el denominador.
Ahora bien, necesito hacer una función para que dado un REAL (no String) me devuelva un Racional.
Algo asi:

En Pascal:
Código (pascal) [Seleccionar]

function realARacional(r:real):racional;

o en C:

racional realARacional(float r);

(Creo que era asi  :-X )

Y la verdad es que no me puedo dar cuenta como hacerlo.
Si tienen algun algoritmo que me sirva (me da igual que lenguaje) se los agradecería.


engel lex

los reales no son del todo convertibles a racionales, por ejemplo las raices inexactas no puedes llevarlas a fraccion (a menos que los trunques) será llevar de decimal (racional) a fraccion, no?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.