jueves, 5 de diciembre de 2013

Desmenuzando "Hola mundo"

Funciones y estructuración.



La programación estructurada parte de la idea de dividir un problema en problemas mas pequeños. Esto hace mas legible el código. Cuando uno escribe debe hacerlo con la idea de que eventualmente, alguien más lo leerá, ya sea para entenderlo, corregirlo o mejorarlo.
Con esto en mente, el lenguaje se diseñó para que el código estuviera dividido en "funciones" que son las soluciones de problemas mas pequeños. Una de las muchas funciones que incluye "C" es el "printf". Como ya viste "imprime" -por razones históricas se le quedó el nombrecito, aunque la pantalla no sea impresora- lo que tu le pones entre paréntesis. Eso que le pones entre paréntesis se llama parámetro. No te quiebres la cabeza tratando de recordar los nombres, practicando los manejarás con fluidez.

Bibliotecas.


Para poder usar la función "printf" es para lo que se escribe la primera línea: "#include <stdio.h>"  Las funciones que tiene "C" se agrupan en bibliotecas -traducidas equivocadamente como librerías-. El nombre de esta es algo críptico, pero stdio significa "standard input/output": es una biblioteca que tiene funciones para la entrada-salida: escritura en pantalla o archivo. Como esta, hay bibliotecas para tiempo (fecha y hora), manejo de directorios y muchas mas. Si esto no bastara, se pueden usar bibliotecas hechas por alguien mas o hacer las propias: lo haremos en algún momento. ¿Por que va al principio? porque  puede que usemos varias funciones de la misma biblioteca varias veces en el código; necesitamos que "el include" esté antes de usar una función de la biblioteca. Para no dejarlo regado por todos lados; se usa ponerlo al principio del archivo.

main: donde todo comienza.


Nota la palabra "main".  Esta es una función -como todos los bloques en C- con un significado especial, es el punto donde comenzará a ejecutarse el código. En este ejemplo tan sencillo, es cosa trivial, o hasta absurda que no sepa por donde empezar, pero el código puede tener muchas líneas e ir dividido en varios archivos cuando programas algo interesante -ya verás en que casos conviene que sea así-. El nombre de función "main" está seguida por un paréntesis vacío, es entonces una función sin parámetros, ya veremos mas adelante que puede tenerlos y como se manejan. Después viene una llave "{" que indica el inicio de la función "main" nuestra llamada a "printf"
y otra llave "}" que indica el final de la función. Esta es la estructura básica de construcción de bloques en "C"  función, paremetros, cuerpo.

Segundo programa.


Con esto en mente, vamos nuestro segundo programa:

#include <stdio.h>

saluda(){
    printf("Hola, Mundo\n");
}

main(){
    saluda();
    saluda();
}


Guarda, compila y antes de ejecutar ¿Que crees que haga?.

Explicado de forma rápida: tienes dos funciones: "saluda" y "main", ambas sin parámetros. La primera función "imprime" el saludo. La segunda, "main" llama dos veces a la función "saluda". Aunque la función saluda, se encuentra primero en el archivo, la que se ejecuta primero -siempre- es "main". ¿Lo ves?


Continuaremos ......









No hay comentarios:

Publicar un comentario