Pascal/Turbo Pascal - ayuda en freepascal

 
Vista:

ayuda en freepascal

Publicado por matias (2 intervenciones) el 25/07/2007 21:47:51
Hola que tal??
Creo que es la primera vez que escribo aqui, necesito ayuda con una cosa que de seguro es una estupidez pero nose como logralo. Siempre que hice operaciones me pasá lo mismo pero no le di importancia; pero ya molesta!! por eso quiero saber como cambiarlo.

Resulta que al hacer un programita, por ejemplo dividir dos numeros (una pabada obviamente), me arroja el siguiente resultado, por ejemplo: el resultado de (5*100)/13 me da: 3.8461538461538462E+0001

Mi pregunta es: ¿que significa ese resultado? y ¿Hay alguna manera de redondear para obtener por ejemplo 38.46 solamente?

Desde ya, gracias!!!
Matias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda en freepascal

Publicado por palvji (12 intervenciones) el 25/07/2007 22:19:15
Si que se puede:

Si cuando le dices que escriba el resultado, por ejemplo
write (x);

le añades al final algo asi

write (x:5:2);

el resultado se mostrara mejor.

Tiene que ver con el numero de decimales que quieres que se muestren y con mostrarlo en forma exponencial, pero no se muy bien cual es cual.
Seguro que alguien te puede explicar mejor, pero de momento eso te solucionará el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda en freepascal

Publicado por Diego Romero (996 intervenciones) el 25/07/2007 22:56:58
La explicación de palvji es correcta. Voy a tratar de explicar qué significan esos números:

Write(a:5:2);

Aquí el 5 significa cuántos espacios mínimos se usarán para representar todo el número alineado a la derecha incluyendo el separador de decimales (el punto), de forma tal que si a:=36.78 se mostrará usando 5 espacios lo que en este caso es el número completo. En caso de que a:=1.23 entonces se mostrarán cinco espacios con el número alineado a la derecha dentro de esos 5 espacios (habrá un espacio en blanco a la izquierda). Pero si a:=345.67 entonces se mostrará todo el número usando los 6 espacios necesarios (el número no se trunca).

El 2 en el ejemplo indica cuántas cifras en la parte fraccionaria del número se mostrarán redondeándose a la segunda cifra fraccionaria en este caso. Si a:=3.141 se mostrará "3.14", pero si a:=3.149 entonces se mostrará "3.15".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda en freepascal

Publicado por matias (2 intervenciones) el 25/07/2007 23:36:43
Ahh perfecto! se entendió!!
Claro era un problema de decimales, está bueno "jugar" con eso para obtener resultados mas o menos precisos!

muchisimas gracias!
Cualquier duda que tenga de ahora en mas voy a preguntar por aquí. Estoy aprediendo pascal para la facu y a veces me quedo trabado en ciertas cosas que no alcanzo a comprender.
No se como no los consulté antes! :S
Gracias nuevamente, saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar