Pascal/Turbo Pascal - Reales en Turbo PAscal 7

 
Vista:

Reales en Turbo PAscal 7

Publicado por Sergio (1 intervención) el 04/04/2008 22:46:42
Tengo este código en Turbo Pascal 7:

program leer;
uses crt;
var
val1: real;
dato: file of real;

begin
clrscr;
val1:=0;
assign(dato,'DATA.DAT');
reset(dato);
while not Eof(dato) do
begin
read(dato,val1);
writeln('Valor: ',val1);
end;
close(dato);
repeat until keypressed;
end.

El programa debe leer un archivo DATA.DAT y leer números decimales con el siguiente formato:
0.482
0.480
0.476
0.474
0.472
0.470
0.470
0.467
...

El problema es que no consigo que lea correctamente los números, me devuelve números completamente diferentes a lo que deseo recibir.

Veo que en teoría no es muy complicado, pero realmente no me da los resultados que quiero para futuras operaciones.

Podrían ayudarme a solucionar este problema?
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
sin imagen de perfil

RE:Reales en Turbo PAscal 7

Publicado por Willy (177 intervenciones) el 06/04/2008 08:53:00
Hola Sergio.

Cuando es necesario desplegar el valor de una variable o expresión de tipo real, este valor será ecrito en notación exponencial, a menos que se incluyan especificadores de formato.

La sintaxis que se debe utilizar para producir salida en notación decimal ordinaria es:

WriteLn(ExpresionReal:AnchoTotal:Decimales);

EJEMPLO:

X := 78.291
WriteLn(X:0:1); La salida sería: 78.3
WriteLn(X:0:2); La salida sería: 78.29
WriteLn(X:0:0); La salida sería: 78
WriteLn(X:0:3); La salida sería: 78.291
WriteLn(X:0:4); La salida sería: 78.2910

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