[eside-ghost] Problema con free pascal

erzapito erzapito en gmail.com
Mie Oct 18 22:41:05 CEST 2006


Jon Ander Peñalba escribió:
> Hola a todos ;-)
>
> He estado haciendo algunas practicas de la asignatura de programación 
> de 1º (pascal). Lo primero que hice fue mirar los programas 
> alternativos que había en la página de e-ghost e instale el Free 
> pascal. Hasta aquí todo bien, el problema surge al compilar la primera 
> practica.
>
> /program Practica1;
>
> var
>   dias, horas, minutos, segundos: integer;
>   tiempo: integer;
>
>
> begin
>   writeln;
>   write('Introduce el tiempo: ');
>   readln(tiempo);
>   writeln;
>
>   dias := tiempo div (24*60*60);
>   tiempo := tiempo mod (24*60*60);
>   horas := tiempo div (60*60);
>   tiempo := tiempo mod (60*60);
>   minutos := tiempo div 60;
>   tiempo := tiempo mod 60;
>   segundos := tiempo;
>
>   writeln('El resultado es:');
>   writeln('Días: ', dias:0);
>   writeln('Horas: ', horas:0);
>   writeln('Minutos: ', minutos:0);
>   writeln('Segundos: ', segundos:0);
>   writeln;
> end.
>
> /En contra de lo que cabria esperar, el resultado es el siguiente:/
>
> *Introduce el tiempo: 172814
>
> El resultado es:
> Dí­as: 0
> Horas: -6
> Minutos: -36
> Segundos: -34
>
> */No me convencía el resultado, así que probé con GNU Pascal, y el 
> resultado era el correcto:
> *
> /Introduce el tiempo: 172814
>
> El resultado es:
> Dí­as: 2
> Horas: 0
> Minutos: 0
> Segundos: 14
>
> /*¿Alguna idea de porque Free Pascal hace eso?
>
> PD: He añadido GNU Pascal a la lista de programas alternativos, que no 
> estaba ;-)
>
>        
> ______________________________________________ LLama Gratis a 
> cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por 
> minuto. http://es.voice.yahoo.com
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
puede ser el tipo de datos, 24*60*60 a lo mejor es mayor que el int de 
freepascal, prueba a declararlos con  un tipo más grande.


Más información sobre la lista de distribución eside-ghost