Manual de C

manuales, tutoriales, programacion
programming tutorials, programming manuals
programacion
Documento sin título
manual de ada tutorial de ada curso de ada bajar manual descargar gratis RegistroNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 115.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
manual de ada tutorial de ada curso de ada bajar manual descargar gratis
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-Empleo

+busca en la web

+Newsletter
+InscribeteGratis..

Inserta tu manual

+Manuales
+Programacion
+DiseñoWeb
+Office/Ofimatica
+Bases de Datos
+S.O.
+Herr.Prefabricad
+Aplicaciones
+Manual propios
+Cursos-Masters

+AreaDiseño
+Manuales Diseño

+Trucos
+Ver secc.trucos

+Recursos
+ver recursos
+Iconos
+Cursores

+Noticias/RSS
+Ver noticias
+Ver canal RSS

+Codigo Fuente:
+Portada
+Todos los script
+ASP
+PHP
+Visual Basic
+JavaScript
+Perl
+Tips&Tricks

+Video Tutoriales
+Video tutoriales

+Comunidad
+Foros
+Ganar dinero
+Herramientas
+Libros

+Webmasters
+ZonaWebmaster

+Software
+ir a secc. Soft
+Prog. Linux
+Prog. MAc
+Prog.Windows

+AreasExclusivas
+Zona Flash
+Zona PHP
+Zona ASP
+Zona VB
+Zona Access
+Zona PERL
+Zona ADSL
+Zona V Fox Pro
+Zona Excel
+Zona Photoshop
+Zona MAC

+Agregador Blogs
+Tech-y
+Movilmania
+Mac+Webmasters
+Otros idiomas
+Mac Iphone ( EN)
+Mac iphone (FR)
+Mac iphone (DE)
+Technologie (FR)
+Webmasters(FR)

+Herramientas
+Herramientas
+Drivers

+Seguridad
+zona Virus

+Gana Dinero
+Como ganar

+SuperDiVX
+Area Divx

+Articulos
+Ver articulos
+Noticias

+Directorio [New]
+Ver directorio

+Blogs
+Nuestros blogs

+Noticias
+de Tecnologia

+SuperGames
+Juegos/ocio
+Juegos Online
+Videos y trailers
+Trucos - Juegos
+Zona Consolas
+Blog de PSP
+Blog de PS2
+Blog de PS3
+Blog de Wii
+Blog de XBOX
+Blog XBOX 360

+Word
+Towns-Villages (en)
+Cidades-Vilas(pt)

+Canal Compras
+Canal Compras

Manual de C

Nuestro agradecimineto a Hector Tejeda autor del mismo


19. Funciones para el tiempo

En este capítulo se revisará como se puede usar el reloj con llamadas al sistema UNIX.

Existen muchas funciones para el tiempo que las que serán consideradas aquí -- usar las páginas de man y los listados de la biblioteca estándar de funciones para más detalles.

El uso más común de las funciones de tiempo son:

  • conocer el tiempo,
  • tomar el tiempo a programas y funciones y
  • poner valores a semillas.

19.1 Funciones básicas para el tiempo

Algunas prototipos de las funciones básicas para el tiempo son las siguientes:

  • time_t time(time_t *t) -- devuelve el tiempo transcurrido, medido en segundos desde ``la época'' 0 horas, 0 minutos, 0 segundos, tiempo universal coordinado (GMT) del 1^o de enero de 1970. Esta medida se llama el ``tiempo de calendario''. Si t no es nulo, el valor devuelto también se guarda en la zona de memoria a la que apunta t. En caso de error, se devuelve ((time_t)-1) y se asigna a la variable errno un valor apropiado.

  • ftime(struct timeb *pt) -- devuelve la hora y la fecha actuales en pt, que esta declarada en <sys/timeb.h> como sigue:

    struct timeb
    {
    	time_t time;                /* Segundos desde epoca, igual que `time'.     */
    	unsigned short int millitm; /* millisegundos adicionales.                  */
    	short int timezone;         /* Tiempo local medido en minutos oeste de GMT.*/
    	short int dstflag;          /* No cero si se usa horario de verano         */
    };
            

    En caso de éxito, se devuelve el tiempo transcurrido en segundos desde la época. En caso de error, se devuelve ((time_t)-1) y se asigna a la variable errno un valor apropiado.

  • char *ctime(time_t *timep) -- toma un argumento de tipo time_t (long integer) que representa el tiempo de calendadrio y lo convierte a una cadena de 26 caracteres de la forma producida por la función asctime(). En primer lugar descompone los segundos a una estructura tm llamando a localtime(), y entonces llama a asctime() para convertir la estructura tm a una cadena.

  • char *asctime(const struct tm *timeptr) -- convierte un valor de tiempo contenido en una estructura tm a una cadena de 26 caracteres de la forma:

    ddd mmm dd hh:mm:ss aaaa

    La función asctime() regresa un apuntador a la cadena.

19.2 Ejemplos de aplicaciones de funciones del tiempo.

Como se menciono previamente, básicamente existen tres posibles usos de las funciones de tiempo.

19.2.1 Ejemplo 1: Tiempo (en segundos) para hacer algún cálculo.

Este es un ejemplo sencillo que ilustra las llamadas a la función tiempo en distintos momentos:

/* timer.c */
#include <stdio.h>
#include <sys/types.h>
#include <time.h>

main()
{
        int i,j;
        time_t t1,t2;

        (void) time(&t1);
        for (i=1; i<=300; ++i)
        {
                printf("%d %d %d\n",i, i*i, i*i*i );
                for(j=0; j<1000000; j++); /* Un pequeño retardo */
        }
        (void) time(&t2);
        printf("\n Tiempo para hacer 300 cuadrados y cubos = %d segundos\n",
                (int) t2-t1);
}
      

19.2.2 Ejemplo 2: Inicializar la semilla de un número aleatorio.

Se ha visto un ejemplo similar previamente, en esta ocasión se usa la función lrand48() para generar una secuencia de números:

/* random.c */
#include <stdio.h>
#include <sys/types.h>
#include <time.h>

main()
{
        int i;
        time_t t1;

        (void) time(&t1);
        srand48((long) t1);
        /* usar time en segundos para poner la semilla */
        printf("5 numeros aleatorios (semilla = %d):\n",(int) t1);
        for (i=0;i<5;++i)
                printf("%d ", lrand48());
        printf("\n\n");
}
      

La función lrand48() devuelve enteros largos no negativos distribuidos uniformememnte entre 0 y $2^{31}$.

Una función similar es la función drand48 que regresa números de doble precisión en el rango $[0.0, 1.0)$.

srand48() pone el valor de la semilla para estos generadores de números aleatorios. Es importante tener diferentes semillas cuando se llame a las funciones de otra forma el mismo conjunto números pseudo-aleatorios sera generados. La función time() siempre da una semilla única (siempre y cuando haya transcurrido por lo menos 1 segundo).

19.3 Ejercicios

  1. Escribir un programa en C que mida el tiempo de un fragmento de código en milisegundos.
  2. Escribir un programa en C para producir una serie de números aleatorios de punto flotante en los rangos a) 0.0 - 1.0, b) 0.0 - n, donde n es cualquier valor flotante. La semilla deberá estar puesta para que se garantice una secuencia única.
volver a pagina de inicio

 
Recomendar
Recomendar esta pagina a un amigo

Untitled Document

Servidores
+ Directorio Ofertas
ofertas ADSL
ofertas Tech
ofertas viajes
ofertas finanzas
formacion
OfertasCreditos
  otras ofertas
Canal Compras
+ Canal compras
+canal informatica
+imagen y sonido
+juegos y consolas
+ Directorio Ofertas
secc. empleo
cursos
ir a libros
+ Ganar Dinero
+ Webmasters
+ resto de gente
+ Software
+ ir a software
Lo + descargado
programas para
programas para bajar peliculas
bajar peliculas
programas para bajar musica
bajar musica
programas de seguridad para tu pc
programas google
programas para DJ - mezcladores
programas para webmasters
programas pre-fabricados
+ Tonos y Melodias
Melodias tonos
Juegos java
- Juegos de moviles
+
Busca Logos
+ Logos y Melodias
+ Libros
+ ir a ver los libros
+Recursos CGI
+ ir a seccion
+Ocio
Juegos Flash Online
+Cursos y Masters
cursos y masters
+ Ofertas
ofertas TecNo

+Agregador Blogs
+Otros idiomas
+Webmasters (FR)
+Software (FR)
+Tech (PT)
+Tecnologia (IT)
+Technologie (DE)
+Software (DE)
+Games(DE)
+Software(IT)

Agregador Blogs de:
Home
blogs Tecnologia
blogs Software
blogs Moviles
blogs Internet
blogs Geeks
blogs Informatica
blogs Gadchets
blogs Zona Messenger
blogs Diseño
blogs Recursos Blogs
blogs Webmasters
blogs Programacion
blogs 2.0
blogs Linux
+Nuetros Blogs
Ver Blogs
+Programas Gratis
Programas gratis
+RSS de noticias

RSS PR

 
Programacion:recursosIprogramacionITrucosTecnicosIservicios gratisITowns 2.0IcursosI pueblos españa 2.0 ILibrorama I hablandodemac I
noticias:SaludIcineIMovilesITechIMACINegociosIprog.net IDirectorio de WebsIvideos4you.tvI
Pueblos de: Andalucia-Aragon-Asturias-Baleares-Canarias-Cantabria-Castilla la mancha-Castilla Leon-extremadura-Galicia-la Rioja-Madrid-Murcia-Pais Vasco -
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales