elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  tiempo de ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: tiempo de ejecucion  (Leído 13,597 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
tiempo de ejecucion
« en: 25 Junio 2010, 20:35 pm »

holas gente quisiera que me ayuden con este problema es sobre el tiempo de ejecucion de este ejercicio :
Código:

FACTORIAL(n)
1 if n = 0
2 then return 1;
3 else return (n * Factorial(n-1));


quisiera saber como determinar el tiempo de ejecucion......... me podrian dar una pista porfavor gracias de antemano........


En línea

MIG80

Desconectado Desconectado

Mensajes: 38



Ver Perfil
Re: tiempo de ejecucion
« Respuesta #1 en: 25 Junio 2010, 21:01 pm »

Puedes usar la función estandar clock(). Esta función devuelve la cantidad de marcas de reloj que pasaron desde que el programa empezo a  ejecutarse.
Ahora solo faltaria determinar cuanto dura una marca de reloj... :-\
Bueno ese valor se calcula usando la constante CLK_TCK , definida también en time.h ( Turbo C++), la cual nos da el numero de marcas de reloj por segundo ::)

Código
  1. #include <time.h>
  2.  
  3. //...
  4.  
  5. int main()
  6. {
  7.    clock_t inicio,fin;
  8.  
  9.    inicio = clock();
  10.  
  11.    /* Aqui va el codigo cuyo tiempo de ejecucion quieres medir */
  12.  
  13.    fin = clock();
  14.  
  15.    // obtenemos y escribimos el tiempo en segundos
  16.    printf("Tiempo empleado: %f\n",(fin - inicio)/CLK_TCK);
  17.  
  18.    return 0;
  19. }
  20.  


« Última modificación: 25 Junio 2010, 21:55 pm por czealt » En línea

Mr.Blue


Desconectado Desconectado

Mensajes: 441



Ver Perfil WWW
Re: tiempo de ejecucion
« Respuesta #2 en: 25 Junio 2010, 22:07 pm »

http://foro.elhacker.net/programacion_cc/generador_de_ips_aleatorias_y_algoritmo_basico_brute_force_codigos_fuente_en_c-t41605.0.html

Aca hay un programa por Rojodos

En donde aplica esto.

S2
En línea

Nork

Desconectado Desconectado

Mensajes: 196



Ver Perfil
Re: tiempo de ejecucion
« Respuesta #3 en: 25 Junio 2010, 23:46 pm »

Si te refieres al tiempo algorítmico del código es de orden de complejidad n!. Si te refieres al tiempo de una ejecución si estas en linux puedes utilizar el comando time y te pondrá lo que ha tardado.
En línea

C' Est La Vie
plof

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: tiempo de ejecucion
« Respuesta #4 en: 26 Junio 2010, 00:19 am »

- Complejidad: clase P.
- Orden de eficiencia: O(n).
- Tiempo de procesador: clock().

Saludos.
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: tiempo de ejecucion
« Respuesta #5 en: 26 Junio 2010, 04:52 am »

y como lo puedo hallar a mano  porque eso es lo que me piden .............
En línea

cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: tiempo de ejecucion
« Respuesta #6 en: 26 Junio 2010, 05:21 am »

Si es a mano seguramente es el cálculo de complejidad. Leete un libro de algorítmica, aunque es más análisis matemático(cálculo) que otra cosa.
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: tiempo de ejecucion
« Respuesta #7 en: 26 Junio 2010, 06:31 am »

a ver pasame alguno de tus ejemplares porfavor necesito aprenderlo yaaaaaaa!!!
En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: tiempo de ejecucion
« Respuesta #8 en: 26 Junio 2010, 06:31 am »

Puedes usar interrupciones, creo.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: tiempo de ejecucion
« Respuesta #9 en: 26 Junio 2010, 06:33 am »

a ver pasame alguno de tus ejemplares porfavor necesito aprenderlo yaaaaaaa!!!


Consulta a Brassard o a Knuth, es de lo mejor que hay, aunque de lo más complejo.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines