convertir decimales a fracciones

Iniciado por asdexiva, 7 Febrero 2014, 02:02 AM

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

asdexiva

ay algun metodo o funcion que convierta todos los decimales de todos los textbox del programa en sus respectivas fracciones ? si me pudieran dar un ejemplo o decir como gracias

engel lex

dudo que haya funcion... pero puedes hacer esto...
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.

fary

Exacto, te lo dejo en VBS

Código (vb) [Seleccionar]
Dim Numero

Numero = 0.33

Numero = Numero * 100

Msgbox Numero & "/100"
Un byte a la izquierda.

javinet

Pseudo código:

R <- Número decimal
n <- Contar cifras decimales
e <- 10 ^ n
N <- multiplicar R x e
M <- factorizar R y e hasta encontrar el MCD
numerador <- N \ M
denominador <- e \ M

;D


engel lex

XD javinet eso no es pseudo código, son pasos a seguir XD

aunque el método está bien detallado

varios detalles

Citarfactorizar R y e hasta encontrar el MCD
creo que no puedes factorizar un numero decimal, necesitas que sea fracción (todo el punto de esta discusión)
sin contar que factorizar en código no es tan simple como solo decirlo XD

Citarn <- Contar cifras decimales
si tiene un decimal periódico esto será infinito...

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.

javinet

#5
Cita de: engelx en  5 Marzo 2014, 08:02 AM
XD javinet eso no es pseudo código, son pasos a seguir XD

Correcto, coincido, a primera vista puede no parecer pseudocódigo pero...

Si estamos usando un lenguje comprensible para el programador, prescindiendo de un lenguaje informático específico, explicando los pasos a seguir, de una manera lógica y ordenada para la resolución de un problema, me pregunto y les pregunto, este pseudo lenguaje ¿no puede ser llamado pseudo código?

...

Cita de: engelx en  5 Marzo 2014, 08:02 AM
varios detalles
creo que no puedes factorizar un numero decimal, necesitas que sea fracción (todo el punto de esta discusión)

Gracias por la corrección, efectivamente hay un error en:

M <- factorizar R y e hasta encontrar el MCD

pido disculpas, porque no es R la variable a factorizar, sino N (¿sino para que está todo el cálculo previo?  :o ):

M <- factorizar N y e hasta encontrar el MCD

Cita de: engelx en  5 Marzo 2014, 08:02 AM
sin contar que factorizar en código no es tan simple como solo decirlo XD

De las tantas formas que existen para calcular el MCD, aquí encontré una de ellas:
http://foro.elhacker.net/programacion_cc/calcular_mcd_compila_bien_pero_no_corre-t298274.0.html;msg1478130#msg1478130

Cita de: engelx en  5 Marzo 2014, 08:02 AM
si tiene un decimal periódico esto será infinito...

Con respecto a los decimales periódicos, no es que tengan cifras infinitas, sino períodos de cifras que se repiten indefinidamente, por lo tanto no son infinitos y se puede llegar a una fracción generatriz.

Entonces, cuando se trate de un número racional ya sea periódico o no, todo dependerá de la pericia del programador para definir la forma en la que obtendrá los datos de entrada y la lógica a implementar.

Ejemplo:

Por lo pronto y para seguir el hilo, propongo este algoritmo (ahora corregido) y sólo aplicable a números racionales no periódicos (otro usuario puede contribuir aportando la solución para los números racionales periódicos):

// R es el número decimal a convertir en fracción
// n es el número de cifras decimales
e = 10 ^ n
N = R * e
M = MCD(N, e)
numerador = N \ M
denominador = e \ M

;D

Edito: este problema ya se había solucionado antes  :o
aquí el enlace: http://foro.elhacker.net/programacion_visual_basic/ayuda_como_pasar_numeros_con_decimales_a_fraccion-t249244.0.html;msg1201414#msg1201414