Aprendiendo funciones de fecha y hora (Programación en C)

in #spanish7 years ago
Saludos a toda la comunidad de Steemit!!!

Me alegra estar una vez más con ustedes e impartiendo conocimiento del mundo informático, primero que todo quiero agradecer todo el apoyo que me han brindado a lo largo de mi pequeña trayectoria en la página, el hecho de que vean mi contenido y les guste es muy grato es por ello que este 2018 venimos más productivos que nunca, en esta oportunidad voy a explicar un poco acerca de las funciones de fecha y hora implementadas en el lenguaje de programación C, cortesía de nuestro queridísimo libro "Programación en C, metodología, algoritmos y estructuras de datos, iremos paso a paso para que la explicación sea clara y concisa, además de que siempre pueden hacerme una pregunta y yo con mucho gusto trataré de resolver sus dudas lo más que pueda. Sin más nada que introducir, comencemos."


Fuente: Propia (ilustración de @greylml)

¿Qué son funciones y para que se utilizan?

Podríamos definir una función como un conglomerado de líneas de código que pueden ejecutar una tarea y que además puede retornar un valor. Y que además de esto poseen parámetros que podemos modificar para cambiar el funcionamiento del programa. Por ende podemos utilizar las funciones para la resolución de grandes problemas de manera que, descomponemos y fraccionamos para así alcanzar el éxito, o en este caso un programilla bien definido.


¿Cómo son las funciones en C?

El lenguaje de programación C fue diseñado de manera estructurada o también conocido como lenguaje de programación modular, es por esto que un programa es escrito o dividido por módulos (o rutinas pequeñas llamadas funciones) que al final de cuentas nos traen ventajas que más adelante podremos apreciar. Les pondré un pequeño ejemplo de como se puede ver de una manera más organizada nuestro código.

Estructura de un programa que obtenga una lista de caracteres del teclado.

int main() {

/* Código para obtener una lista de caracteres*/

...

/* Código para alfabetizar los caracteres*/

...

/* Código para visualizar la lista por orden alfabetico*/

... return 0

}

Esto podría ser una manera de estructurar el programa al momento de programar en C sin embargo existe otra manera mucho más organizada de hacerlo y este método consiste en utilizar funciones independientes para cada tarea, lo veríamos mejor con otro ejemplo así que vamos a ello.



¿Cómo es la estructura de una función?

Figura1: Estructura de una función


Funciones de fecha y hora

En cuanto a las funciones de time y clock tenemos _strdate y _strtime respectivamente...¿Qué hacemos con ellas? simple, nos permiten devolver la hora actual así como también el número de segundos transcurridos desde la media noche del 1 de enero de 1970 (que corresponde a la hora universal GTM). Además del tiempo de cpu empleado por el proceso invocante.



Creando nuestro proyecto en Dev y su explicación



Nuestro proyecto pide el año, mes y día, escribe el día de la semana y además los días anteriores desde el 1 de enero del año leído. Como pueden ver en la primera variable es utilizado un array de cadena de caracteres, en mi próximo post haré un post dedicado solo a ese tema, fundamental en la programación en C.



Aca podemos ver como creamos la entrada de datos, haciendo el llamado a cada variable para almacenar valores en ellas.


Como podemos ver la función time obtiene la hora actual, devuelve el número de segundos transcurridos desde la medianoche del 1 de enero de 1970, por ende el valor de tiempo se almacena en la posición apuntada por el argumento hora.


Cuando hacemos uso de la función mktime(t) estamos convirtiendo la fecha en formato de calendario, se toma la información del argumento y determina los valores del día de la semana que en este caso seria (tm-wday) y del día respecto al inicio del año que es también conocido como fecha juliana (dato curioso jeje).

Ahora!!! hagamos la prueba

Cabe destacar que la función clock (void) determina lo que vendría siendo el tiempo del procesador, en unidades de click por así decirlo, que vendría siendo transcurrido desde el principio de la ejecución del programa. En caso de que no se pudiera devolver el tiempo de procesador se devuelve -1, EN HORA BUENA... el programa nos ha dicho en el día de la semana en que nos encontramos haciendo uso de las funciones que nos aporta la librería time.h



Bueno chicos eso ha sido todo por el momento, recuerden que siempre pueden hacer pruebas con el código y jugar con el, además de que este tema es muy amplio y hay mucha tela que cortar, yo por el momento los dejo con esto y próximamente iremos con los arreglos de nuestra sección "Programación en C". No se olviden de regalarme un voto y compartan el contenido que puede ser útil para algún estudiante... los dejaré con la fuente de este post y bueno... nos vemos en una próxima oportunidad.


Fuente

Libro: Programación en C: Metodología, algoritmos y estructura de datos

Autor: Luis Joyanes Aguilar

Con este ejemplo podemos ver mejor la manera de estructurar modularmente las funciones que realizan una determinada tarea, además cuando se ejecuta el return se retorna al punto en que fue llamada por el programa o función principal. Las funciones le permiten al programador un grado de abstracción en la resolución de un problema, un detalle del lenguaje de programación C es que las funciones no se pueden anidar, esto quiere decir que una función no se puede declarar dentro de otra función, la razón de ello es para permitir un acceso muy eficiente a los datos, es importante resaltar que las funciones en C son externas o globales, esto quiere decir que pueden ser llamadas desde cualquier punto del programa.
Sort:  

Buen post bro. Yo domino varios lenguajes pero C siempre lo tuve pendiente jeje. Saludos!

Que genial amigo @dbucci24 quédate cerca y podrás ver mis futuros tutoriales en C. Siempre es bueno tener programadores en mi cuenta de steemit

Te sigo! mas contenido como este por favor.

Sin duda alguna te esmeras en tus publicaciones. Este tipo de contenidos ayudan mucho a personas que quieren aprender programación de forma independiente, asi como tambien a los estudiantes universitarios. ¡Muy buenas noches y mucho exito! Sigue asi.

Gracias amigo @johnchester hago lo mejor que puedo para que a la gente le guste, saludos :)

Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Greylml from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

This post has received a 0.76 % upvote from @booster thanks to: @greylml.

Fino hermano saludos,
PD: yo programo un poco en python(junior aun )