3 de febrero de 2010

Hola Mundo

Una vez tengamos preparados nuestros programas (compilador y editor de texto), solo tenemos que tomar un café y pensar un poco para empezar a programar.

Como en todos los lenguajes que empeceis a programar, lo mejor es comenzar con el "Hola Mundo". Este es un programa muy sencillo en cualquier idioma que lo unico que va a hacer es mostrarnos en la pantalla un texto en el que ponga "Hola Mundo". Fácil,  ¿no? Además nos servirá para conocer la estructura básica de un programa en C y empezar a conocer los comandos más fundamentales.

Aunque aun falta un par de conceptos importantes que debemos conocer antes de programar: las funciones y las librerías. Una librería (del inglés library aunque en español tendría más sentido "biblioteca"...) es una recopilación de funciones que podemos utilizar. Una función es un conjunto de instrucciones que se ejecutan cada vez que "llamamos" a esa función, es decir, cada vez que aparece en nuestro programa.
Ahora bien, cuando nosotros programamos normalmente utilizaremos instrucciones (realmente son funciones) que ya las ha definido (creado) alguien y están todas recogidas en un documento. Este documento debe estar en nuestro ordenador ya que el compilador tiene que utilizarlo para compilar el programa. Más adelante crearemos nuestras propias funciones para facilitarnos los programas.

Estructura de un programa
C es un lenguaje estructurado, y como su nombre indica tiene estructura. Esta estructura será común a cualquier cosa que programemos. Aunque aun no vamos a utilizar funciones (ya las explicaré más adelante) hay una parte que se refiere a ellas en la estructura. 
  •  Includes: aquí aparecen todas las librerias que vamos a utilizar en nuestro programa. Por norma general solo utilizaremos una: stdio.h (que ya va incorporada con el compilador MinGW y el Dev-C++).
  • Declaración de funciones: en este apartado deberiamos "nombrar" todas las funciones que vamos a querer utilizar de nuestra propia cosecha.
  • Función principal: la parte importante del programa se recoge en una función de stdio.h llamada main. Esta parte es la que realizara todas las intrucciones que queramos.
  • Definición de funciones: todas esas variables propias que antes hemos nombrado debemos definirlas (escribir el código que ejecuta cada una) ahora.
Esto lo veremos más claro con nuestro "Hola Mundo".

Hola Mundo
¡Y al fin vamos a programar! Os pongo el codigo a continuación y debajo os explico paso a paso cada linea.

1-      //includes
2-      #include
3-   //declaracion de funciones
4-
5-      //funcion principal
6-   int main(){
7-           printf("Hola Mundo\n");
8-     system("pause");
9-          return 0;}
10- //definicion de funciones
1: Cualquier linea que empiece por // nos indica que lo que hay a continuación es un comentario. Es decir, es una linea de programa que no se compila (y obviamente no se ejecuta) y que nos permite poner aclaraciones en el programa.
2: #include indica al compilador que lo que se encuentra entre < y > es el nombre de la librería que necesita.
4: Para este programa no necesitamos funciones propias, por lo que tanto la declaración de funciones como su definición estan "vacias".
6: La funcion principal del programa empieza aquí. int indica el tipo de función que es. Los iremos viendo todos poco a poco; en este caso los int son tipo entero (numeros). El tipo en una función indica que devuelve un valor del tipo de función, en este caso que devuelve un número. Entre los() se ponen los parámetros que necesita la funcion para ejecutarse, pero para la función principal se deja en blanco. Y entre llaves{} se situán las instrucciones de nuestro programa.
7: printf es una instrucción que permite mostrar (del verbo print en inglés) un texto por pantalla. El texto que queramos mostrar deberá aparece entrecomillado y entre paréntesis: ("Hola Mundo"). Además, tras cada instrucción debemos poner un punto y coma.
El \n indica un salto de linea que nos permite en este caso que el texto "Hola Mundo" y la linea de pausa no nos queden pegadas, sino que aparezcan en distintas lineas.
8: sytem() es otra funcion que realiza acciones en el sistema. En este caso, con "pause", indicamos  que debe hacer una pausa en la ejecución del programa mostrando un texto que indique que debemos pulsar una tecla para continuar. Esto nos asegura que veremos el programa en ejecución antes de que se cierre la ventana si no lo estamos ejecutando mediante el simbolo del sistema (cmd).
9: Antes comentabamos que la funcion int main() devuelve un valor, ¿verdad? Pues ese valor es este, 0. Se indica mediante return (devolver en inlés) y lleva punto y coma al final.

Con esto ya tenemos nuestro primer programa. A partir de ahora solo comentare aquellas instrucciones que no se conozcan, o partes del programa nuevas.

Compilar y ejecutar con MinGW
 Para compilar este programa con Notepad++ y MinGW deberemos seguir los siguietes pasos:
  1. Crear un documento que se llame hola.c en Notepad++ (el nombre en sí da igual, lo que necesitamos realmente es que la extensión del archivo sea .c).
  2. Escribir el código en el editor.






  3. En ejecutar escribir cmd y darle a enter.






  4. Escribir cd ruta_donde_este_el_archivo.
  5. Escribir gcc nombre_del_documento.c -o nombre_para_el_programa.
  6. Ahora ya solo queda ejecutar el programa. Este sera un .exe que se encontrará en la carpeta donde este el archivo del código fuente (en mi caso el escritorio). Con escribir el nombre (sin el .exe) se ejecutara y veremos el resultado.






¡Eso es todo por ahora!

2 de febrero de 2010

Introducción


Hola a todos.

Hoy voy a iniciar las entradas de C (lenguaje de programación). Primero voy a explicar que es C y para que se utiliza. Después ya veremos como programar en C y que software se necesita.

¿Qué es C?
C es un lenguaje de programación que permite realizar desde sencillos programas que nos hagan una suma hasta complejos programas de software como puede ser un SS.OO. o un juego. Aunque ya muchos los sabreís, la mayoria de los juegos se programan en C, y por ejemplo las distribuciones Linux están programadas en C.
Nos puede resultar complejo al principio, pero poco a poco y con algo de práctica se puede lograr crear lo que nos propongamos. Por ejemplo, ahora tengo entre manos un 3 en raya, que casi esta terminado. Cuando lo acabe os lo enseñaré.

¿Cómo programo en C?
Para progamar en C sólo necesitas 2 cosas: un editor de texto (el mismo notepad sirve, aunque usaremos otro que mejora un poco el aspecto gráfico) y un compilador.
  1. Editor de texto:
    Necesitamos un editor de texto para escribir el código fuente (el contenido del programa en lenguaje C en este caso) para después compilarlo y poder ejecutarlo. No es necesario un editor de texto muy avanzado o complejo, ya que por mucho que lo "adornemos" el código fuente va a ser el mismo y el programa realizara las mismas funciones.
    Pero de cara a entender un programa y ver adecuadamente el contenido del código fuente recomiendo usar el Notepad++. Es un software gratuito de editor de texto que nos permite seleccionar en que lenguaje escribimos marcando de distintos colores los comandos (palabras que indican al ordenador lo que tiene que hacer) según su función y que nos organiza el contenido con tabulaciones.
    Reitero que podeis usar el que querais. Yo uso el Notepad++ y si hago capturas serán de ese programa.
    Para el que lo quiera, lo puede descargar de aquí.

  2. Compilador:
    El compilador es un programa que nos permite convertir el lenguaje de programación (en este caso C) a lenguaje máquina (10011101...). Nadie quiere aprenderse una retaila de unos y ceros para decirle al ordenador que sume, ¿no? Por eso es imprescindible el compilador.
    Hay muchos compiladores diferentes, pero todos hacen lo mismo así que podeís usar el que queraís.
    Hasta ahora he utilizado dos: Dev-C++ y MinGW. El Dev-C++ incluye editor de texto para C integrado y es de fácil uso.El MinGW por su parte es sólo compilador y requiere una instalación "más compleja". Sin embargo se implementa en MS-DOS (en la consola de comandos de los SS.OO. modernos) lo cual nos permite ejecutar el programa tras compilarlo desde la misma consola de comandos y además no sólo compila C sino que tambíen puede compilar otros lenguajes. Os dejo los enlaces de descarga de los dos programas:




    Solo deciros que yo uso el MinGW por recomendación del profesor y porque me he acostumbrado a hacerlo, resultandome más sencillo probar los programas después.
    No obstante os dejo un manual de Dev-C++ .
    Para usar el MinGW la única complicación que tiene es establecer la ruta donde se instale el programa en la variable path del sistema. Esto es muy sencillo: vais a Mi PC (Equipo a partir del Vista) y accedeis a las propiedades del sistema. En la pestaña de opciones avanzadas le dais al botón "Variables de entorno" y editais la variable path. Sin borrar lo que ya contenga, al final del todo poneís un punto y coma y acontinuación escribís la ruta donde se ha instalado el programa (por ejemplo: ;C:\Archivos de Programa\MinGW;). Con eso estais listos para usarlo.

En otra entrada os explicare como es un programa en C y como crear vuestros programas usando MinGW.

PD: todo lo que aquí se explique será para el MinGW implementado en Windows. Para programar en Linux no es necesario ningún programa, pero eso no lo explicaré aquí.

1 de febrero de 2010

Bienvenida

¡Bienvenidos a mi blog! Y gracias por hacerte seguidor :P

Ante todo, calma, mucha calma. Por ahora quiero dejarlo todo personalizado y luego ya empezaré a subir entradas, que es lo que todos estamos deseando, ¿no?

¡¡Espero que pronto este esto lleno de entradas y seguidores dejando sus comentarios!!

Salu2