Red de conocimiento informático - Conocimiento informático - ¿Cómo escribir un programa de tiempo de tarjeta? (Acerca de la programación pascal)

¿Cómo escribir un programa de tiempo de tarjeta? (Acerca de la programación pascal)

¿Cómo implementar el tiempo de tarjeta?

[Chen Shixi]

El tiempo atascado es una tecnología que permite que el programa finalice automáticamente y genere los resultados después de ejecutarse durante un período de tiempo específico. El principio básico suele ser cuando el. El programa se inicia Obtenga la hora de inicio cuando el programa se ejecuta repetidamente y luego obtenga la hora actual en el lugar donde el programa se ejecuta repetidamente. Juzgue cuánto tiempo ha estado ejecutándose el programa calculando la diferencia de tiempo. alcanza o se acerca al tiempo especificado, el resultado óptimo conocido se genera inmediatamente y el programa se interrumpe. Las técnicas de tartamudeo se utilizan a menudo en programas que utilizan búsquedas exhaustivas o exhaustivas.

En Borland/Turbo Pascal, puede obtener la hora actual accediendo a MemL[Seg0040:$006C]. Devuelve la hora desde 0:00 hasta ahora en la unidad de aproximadamente 55 milisegundos (aproximadamente 1/). 18,2 segundos). El siguiente es un programa de muestra que utiliza tecnología de tiempo de tarjeta:

{$N }

var StartTime: Longint; I, J: Extended

begin StartTime : = MemL[Seg0040:$006C]; I := 0; J := 0; repetir

si I * I - 1234567 * I 777 lt; I;

I := I 1; hasta que MemL[Seg0040:$006c] - StartTime gt;= 500 div 55; Writeln('x^2 - 1234567x 777 tenga un resultado mínimo cuando x = ' , J: 0: 0);

end.

El programa anterior generará automáticamente el resultado y finalizará la operación después de ejecutarse durante 0,5 segundos. Tenga en cuenta que si el programa se ejecuta en tiempo cero, no finalizará automáticamente el programa. Si desea que su programa finalice automáticamente cuando cruce el tiempo cero, optimice su programa usted mismo.

En Free Pascal, es difícil acceder a la memoria directamente como Borland/Turbo Pascal (a menos que compile en modo DOS. Generalmente sólo puede obtener la hora actual llamando a las funciones del sistema, pero en la competencia sí lo es). Por lo general, los programas no pueden llamar a funciones del sistema, por lo que es difícil lograr tiempos de estancamiento.