Foros del Web » Programación para mayores de 30 ;) » Programación General »

Pascal: Runtime error at...

Estas en el tema de Pascal: Runtime error at... en el foro de Programación General en Foros del Web. hola, resulta q he hecho un programa para calcular el nº e. Bueno, x es el valor que introduces. El programa funciona bien si introduces ...
  #1 (permalink)  
Antiguo 08/12/2004, 07:08
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 22 años, 10 meses
Puntos: 0
Pascal: Runtime error at...

hola, resulta q he hecho un programa para calcular el nº e.
Bueno, x es el valor que introduces. El programa funciona bien si introduces valores como 0, 1, 2 o 3, pero en cuanto introduces numeros mas grandes te da un error algo asi:
Runtime error 201 at at 0x004010F2
0x004010F2
0x004011DC
0x00402475

el programa es este, y uso Free Pascal:
Program bloque1_1a;
uses Crt;
VAR
x: integer;
i: integer;
total: extended;
error: extended;

(****************************)
function factorial (t: integer): real;
{ Calcula el factorial del numero }
var i: integer;
tmp: real;
begin
tmp:=1.0;
for i:=1 to t do
begin
tmp:=tmp*i;
end;
factorial:=tmp;
end;

(***************************)
function potencia (t, u: integer): integer;
{ Calcula la potencia del numero }
VAR i: integer;
tmp: integer;
begin
tmp:=t;
case (u) of
0: tmp:=1;
1: tmp:=tmp;
else
for i:=2 to u do
begin
tmp:=tmp*t;
end;
end;
potencia:=tmp;
end;
(***************************)
begin
ClrScr;
repeat
writeln ('Escribir valor para elevar n£mero e:');
readln (x);
until (x>=0);
i:=0;
repeat
error:=0.0;
total:=total+(potencia (x,i)/factorial(i));
i:=i+1;
error:=total-exp(x);
until ((error>-0.001) and (error<0.001));
writeln ('e elevado a ', x, ' vale: ');
writeln (total);
writeln ('Valor real devuelto: ', exp(x));
write ('Error cometido: ');
writeln (error:9:4);
writeln ('T‚rminos utilizados: ', i);
writeln ('Aproximaci¢n de la funci¢n: ');
end.

Si alguien me ayuda ¡muchas gracias!
__________________
"No hay mujer fea sino copa de menos"
  #2 (permalink)  
Antiguo 08/12/2004, 09:41
Avatar de mico  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 47
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola

El error 201 se refiere a un desbordamiento en el rango, asi que mirate los bucles y los accesos a arrays etc. es probable que sea de las condiciones de inicio y fin de bucles, aunque no estoy seguro

-------------------------
SALUDOS FOREROS
__________________
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:53.