<< Probador de Funciones DCM >> |
Dificultad: Se necesitan algunos conocimientos de programación. Los pueden repasar de la lección Midiendo Tiempos. Los temas matemáticos los pueden repasar de la lección Divisor común mayor. Lecciones relacionadas: Midiendo
Tiempos Divisor
común mayor |
|
Resumen: En varias lecciones escribimos funciones que calculaban el Diviso Común Mayor entre dos números. Todas se llamaban DCMAlgo por ejemplo DCMTodos, DCMFactoriza, ... y se podían intercambiar. Queremos ver la diferencia entre las velocidades de cada una de estas funciones. Para eso, podemos usar este programa que genera muchos pares de números y les calcula el DCM con la función elegida. Midiendo los tiempos: Vimos varios métodos para calcular el DCM. A cada método lo escribimos dentro de una función con nombre diferente. Podes buscarlas en las lecciones que figuran al final. Por supuesto, también podes usarla con los métodos que programes. Demostrar cuales son los mejores métodos es complicado y nos vamos a limitar a determinar "experimentalmente" cuales andan más rápido. Todas las funciones que definimos tienen la misma forma. Tienen dos parámetros que son números enteros y después devuelven como resultado un número entero. Por eso es posible intercambiarlas una con otras sin problemas. En el ejemplo aparecen tres funciones:
Quizás lo más conveniente sea primero cambiar en la parte principal del programa DCMError por DCMLenta y probarlo un rato. Después copiar una función DCMALgo de otra de las lecciones que figuran abajo y probar un rato más. Conviene ejecutarlo y esperar un poco. Si tarda demasiado, cortamos el programa y cambiamos la constante repeticiones por un número más chico. Si es instantaneo o tarda demasiado poco, cambiamos la constante repeticiones por un número más grande. Hay que repetir estos cambios hasta que tarde un tiempo razonable, digamos 10 segundos. (En la lección Midiendo Tiempos se explica como utilizar las funciones apropiadas para medir el tiempo en los otros lenguajes.)
Después de probarlo un rato, pueden buscar las funciones DCM de las otras lecciones, copiarlas y ejecutarlas.
Sería interesante que nos mandaran los resultados que obtengan a cym98@oma.org.ar indicando: Nombre, Edad, Lenguaje, Maquina, el programa (sin compilar), los resultados y algún comentario. Por ejemplo es interesante analizar que pasa al variar la constante maximo o si uno utiliza otro tipo de números (enteros cortos, reales, etc.) Lecciones relacionadas: Midiendo
Tiempos Divisor
común mayor Divisor
común mayor factorizando Algoritmo
de Euclides
Usando
las funciones DCM |
OmaNet Curso CyM98 | OmaNet - Educación Interactiva www.oma.org.ar/omanet | omanet@oma.org.ar |
mensajes: webmaster@oma.org.ar |