Aprendiendo a programar C en 7, 13 o 26 segundos (dependiendo de cuán rápido lea Ud.)

Estimados lectores, por fin ha llegado el momento de que aprendamos algo interesante en este Blog.

Hoy aprenderemos a programar.

Más aún, no sólo programaremos, si no que lo haremos en un lenguaje terrible de brígido para la gente que es mala para programar como yo.

Aprenderemos el lenguaje  C.

En realidad aprenderemos lo ultrabásico, pero con esto nos podemos quedar tranquilos.

Programaremos una versión más complicada del clásico HolaMundo.

Observación: los queridos lectores que ya empiecen a odiar este post pueden pasar directamente a la sección comentarios  o cambiar a una página más interesante :P .

Primero tenemos que recordar que los computadores son muy tontos. Esto quiere decir que debemos indicarle a nuestro querido computador cada una de las cosas que estamos haciendo. Esto lo hacemos con una lista de instrucciones que llamamos “código”.

Comencemos mirando el código del programa con el que vamos a jugar, que aparece  a continuación:

void main(){ 
int contador; 
for( contador=1; contador<=10;++contador){ 
printf("Hola Mundito\n");}  
}

Intentaremos entender que significa lo que acabamos de observar.

Lo más básico que  tenemos que decirle a nuestro computador es cuál es “Nuestro Programa”. Esto lo hacemos con la instrucción main():

void main(){
"Nuestro Programa"
}

Con esto, le estamos diciendo a nuestro computador que  todo lo que va entre los parentesis de llave ( {  y } ) es lo que corresponde a nuestro programa.

Poniéndonos un poco más técnicos, main se puede traducir como principal, es decir, es ahí es donde estarán las instrucciones más importantes de nuestro programa (en un programa más complicado puede haber instrucciones en varios lugares O_O). El apellido void le dice al PC que nuestro programa no tiene que retornar  ningún resultado (algunos programas más complicados podrían tener que retornar  como resultado un número, una palabra, etc).

Sigamos mirando el código que define a nuestro programa:

int contador;

Aquí le decimos al computador que necesitamos crear una variable y que además le ponemos de nombre contador. Una variable es un valor que ocupamos en nuestro programa y que tiene la propiedad  de que puede cambiar (por algo se llama variable :P). Para ser más precisos, como estamos escribiendo int contador, le decimos a nuestro computadorcillo que la variable tiene que ser un número entero (…,-2,-1,0,1,2,…). El apellido int, proviene de la gringa palabra integer, que significa entero.

El nombre de la variable podría ser cualquiera, por ejemplo, en el código podríamos cambiar cada aparición en el código de la palabra contador por la palabra supercalifragidisticoespialidoso, y el programa no cambiaría. Nosotros le pusimos contador pues la variable será efectivamente usada como un contador, es decir, en la variable guardaremos el número de veces que ocurre algo ( estamos usando la palabra “contador” que proviene de la palabra “contar”).

Ahora analizaremos quizás la parte más complicada de nuestro código:

for( contador=1; contador<=10;++contador){ 
printf("Hola Mundito\n");}

Veamos por partes.

Primero aprendamos someramente que cosa es un for. Un for es una de las armas favorita de los flojos. Me explico: a veces uno cuando programa necesita repetir muchas veces la misma instrucción y da una lata  ( y paja) enorme repetir las mismas líneas de código una y otra vez. Nuestro amigo for ahorra tamaño esfuerzo.

Seamos más precisos, para ocupar un for necesitamos varias cosas: una variable (ya la tenemos, la variable contador), una condición de parada  (por ejemplo, que la variable sea menor o igual a 10), una regla de evolución para la variable (por ejemplo, que la variable aumente en una unidad en cada paso, que en lenguaje computacional se escribe ++nombredelavariable) y una cantidad de intrucciones a gusto (las instrucciones que queremos repetir!!!).

Con todos estos ingredientes obtenemos algo del estilo:

for( contador=1; contador<=10;++contador){ 
Instrucciones a gusto del consumidor}

Lo que estamos diciendo en el for de arriba es que, partiendo de cuando la variable contador vale uno (por eso ponemos contador=1), si es que tenemos la suerte de que se cumpla la condición (contador<=10) entonces el computador tiene que ejecutar todas las instrucciones que aparecen entre paréntesis de corchete y luego  hacemos evolucionar la variable, que en este caso, aumenta en una unidad (++contador). Si la condición no se cumple entonces el computador no puede hacer ninguna tontera y debe pasar a las instrucciones que están debajo del for, si es que hay alguna :P.

En otras palabras cuando el PC llega a leer el famoso for, lo que hace es decir

“ya loquito, la variable contador vale 1, que es menor que 10, entonces ejecuto las instrucciones y hago evolucionar la variable. Ahora contador vale 2, que es menor que 10, entonces ejecuto las instrucciones  y hago evolucionar la variable. Ahora contador vale 3, que es menor que 10, etc, etc, etc”

así hasta que la variable contador vale 11, que es mayor que 10. Cuando eso ocurre el PC sabe que no puede seguir ejecutando las intrucciones entre los corchetes y que por lo tanto debe comenza a mirar todo lo que esté debajo del for.

Ahora veamos qué significa la instrucción que tenemos es el for de nuestro programa:

printf("Hola Mundito\n");

Bueno, print es una palabra inglesa que significa en español algo como imprimir. Pero no nos referimos a imprimir en hojitas de papel, si no que a imprimir, a mostrar en la pantalla de computador.

Entonces en esa línea le estamos diciendo al computador que imprima en pantalla la frase “Hola Mundito“. El símbolo “\n” que aparece representa un salto de línea, cada vez que aparece ese símbolo es como si apretáramos la tecla enter del teclado.

Con todo lo anterior, podemos interpretar a

for( contador=1; contador<=10;++contador){ 
printf("Hola Mundito\n");}

como la parte del código que le dice al computador que repita muchas veces el escribir la frase “Hola Mundito“(recuerde que estamos dentro de un for).

En resumen,  nuestro programa es una lista de instrucciones que le dice al computador que muestre como salida (output) una frase simpática, escrita varias veces.

Listo! ya entendemos el código a la perfección, con lo que podríamos decir que sabemos ya el escribir un programa no tan sencillo en el famosísimo lenguaje de programación C.

Escribir un programa en otro lenguaje no es tan diferente, de hecho casi todos los lenguajes modernos de computación se parecen entre sí, la única diferencia es la sintáxis, es decir, las palabras que usamos para hacernos entender con el computador (por ejemplo algunos lenguajes usan system.out.println en vez de printf).

Bueno, como lo que hemos  aprendido hasta ahora no es suficiente como para quebrarnos con nuestros amigos en el próximo carrete daremos el próximo paso: ejecutaremos nuestro programa!!! Para esto no necesitamos instalar ningún elemento extraño en nuestro computador, si no que nos aprovecharemos del ocio de algunas personas y usaremos la página:

http://codepad.org/

que nos permitirá ver funcionando nuestro programa.

Entonces, los lectores interesados pueden copiar el código del programa, que repetimos a continuación:

void main(){ 
int contador; 
for( contador=1; contador<=10;++contador){ 
printf("Hola Mundito\n");}  
}

Luego vamos a la página de codepad y pegamos en la ventanita que aparece todo nuestro código. Tenemos que tener cuidado de que el lenguaje seleccionado sea C (mire la columna de la izquierda), para que la gente copuchenta  no intrusee seleccionamos Private (que aparece en parte inferior derecha de la pantalla) y luego presionamos el botón submit. Así de fácil. Como dicen los gringos “As easy as pie de limón”.

Si hicimos todo bien, codepad nos debe mostrar otra página, donde se muestra la ejecución del código en la sección que dice Output. Deberíamos ver 10 veces escrita la frase “Hola Mundito”.

Pero eso no es todo, podemos seguir disfrutando con la entretención total que significa modificar el código y ver qué cosas ocurren. Por ejemplo, podemos modificar la condición del  for (¿Qué ocurre si cambiamos 10 por 100?). O podemos escribir otra frase (“I love you” , “Me gustan las sopaipillas”, “Soy el mejor”, “Tengo piojos”, “Me gusta comer narices”, “C vale callampa”, etc). O tal vez, experimentar qué ocurre si no usamos el símbolo “\n” o usamos varios de ellos. Incluso le pueden pedir ayuda a google y buscar otro tipo de comandos.

Bueno, como todos saben, la imaginación es el límite xD.

La morajela de este post es que programar no es tan difícil como parece. En realidad es sólo un poco foooooomeeee, al menos para los que no tenemos espíritu computín.

De todas maneras no pueden negar que emociona ver cómo los programas funcionan :D.

Hasta el día de hoy me parece un poco de magia, pues basta escribir unas pocas líneas para que el computador ejecute en pocos segundos una tarea que a nosotros nos puede tomar muchas horas de trabajo o de cut&paste (que a veces son sinónimos).

5 Respuestas a Aprendiendo a programar C en 7, 13 o 26 segundos (dependiendo de cuán rápido lea Ud.)

  1. Camila Isabel dice:

    Debo reconocer que igual fue entretenido leer como programar, eso no significa que lo haré, al menos no en C. (C de Camila of course, por si no lo sabían)

  2. Secu dice:

    Aprendí a programar en C.

    Que pro.

    Te quedó bueno el post, es un openmind para aquellos que nunca han programado y le tienen un poco de miedo.

  3. RoD dice:

    jamas me demoraré 26 segundos…

  4. rene dice:

    quedé impactado O_o

    no sabía de la existencia de esa página…

    muy buen dato.

    faltó explicar una matriz no más…
    for + matriz = resuelve hasta problemas NP :P

    :D saludos

  5. xiomara dice:

    en verdad que bien explica , jajajajaja yo estudio analisis de sistemas y en verdad que bien seria super llevarlo un dia ami universidad

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.