Programacion

Ξ 51 comentarios

Cómo aprender a programar y no morir en el intento – Parte 7

por Xabadu
Cómo aprender a programar y no morir en el intento – Parte 7

En la última edición de esta saga, dimos por concluído el aprendizaje de Pseudo-código, un paso importante al momento de aprender a programar. Tan importante como el que prometimos que daríamos ahora, el ingreso al mundo de los lenguajes reales de programación.

Hoy, y en las próximas ediciones, nos adentraremos de lleno en la programación en C, donde intentaremos cubrir todo lo posible para que podamos convertirnos en unos aces de la programación.

Todo el detalle, como siempre, después del salto.

Cómo aprender a programar y no morir en el intento – Parte 7

Viendo que ahora ingresaremos a la programación propiamente tal, es bueno indicar los:

Implementos necesarios:

  1. Un entorno de programación en C (recomendamos Dev C/C++ de Bloodshed, un buen entorno de programación que además es gratuito. Ese es el que utilizaremos a través de los siguientes tutoriales. Pueden descargarlo en este enlace).

Con todo eso claro, vamos a los contenidos que cubriremos hoy:

Contenidos:

  1. Introducción al lenguaje C.
  2. Librerías.
  3. Variables en C.
  4. Funciones básicas.
  5. Primer programa en C.

1.- Introducción al Lenguaje C:

Nota: La instalación del entorno de programación, hemos decidido no cubrirla, ya que es bastante estándar en lo que a instalaciones de programas se refiere. Les recomendamos hacer la instalación de forma normal, dándole siguiente en las ventanas y dejando las opciones que vienen por defecto. Más adelante indicaremos si es necesario hacer cambios sobre esto.

Y bueno, llegamos al momento que tanto esperabamos: Empezar a trabajar con lenguajes reales de programación.

Para comenzar, hemos optado por el lenguaje C, debido a que por su forma y paradigma, es un buen y simple lenguaje para continuar el aprendizaje. Además, como iremos viendo a medida que nos adentremos en los siguientes capitulos, tiene mucha similitud con el Pseudo-código que hemos visto hasta ahora.

C es un lenguaje de programación que fue creado en 1972 en los laboratorios Bell. Utiliza un paradigma estructurado (también denominado como imperativo y/o procedural) y presenta una eficiencia notable en su código, además de características de bajo nivel que permiten controlar algunos aspectos de memoria y perifericos, por lo que se convierte en la elección favorita e idónea al momento de desarrollar aplicaciones e incluso desarrollos para Sistemas Operativos.

Los programas desarrollados en C, presentan una estructura bastante similar a la que habíamos visto hasta el momento en Pseudo-código, con algunas adiciones (como las librerías, que ya veremos) y uno que otro cambio, sobretodo en las palabras reservadas y algunas formas de definir cosas. Todo esto lo iremos viendo a su debido tiempo.

En resumen, algunos puntos a considerar para el futuro:

  • Los programas en lenguaje C, se escriben en entornos de programación, en realidad si queremos podemos escribirlos en block de notas, pero los entornos de programación presentan funcionalidades que nos hacen la vida mucho más fácil, desde la detección de errores hasta la orientación sobre algunas palabras reservadas y/o comandos.
  • En C, tal como en otros lenguajes, al momento de terminar nuestros programas, en el entorno de programación podemos “compilarlos”, lo que significa que el entorno hará una revisión del programa completo en busca de errores y nos advertirá sobre ellos para poder corregirlos.
  • Entre los tipos de errores que se pueden presentar al momento de compilar o terminar un programa, principalmente tenemos 2: los léxicos y los sintácticos. Los primeros se refieren a cuando tenemos algo dentro de nuestro programa que está mal escrito, por ejemplo si en vez de un ciclo while escribimos whlie. Por otro lado tenemos los errores sintácticos, que se refieren a cuando lo que hemos escrito no tiene sentido, por ejemplo el querer asignar un valor numérico a una variable de tipo carácter o algo por el estilo.

Iremos viendo más sobre estas y otras consideraciones y detalles a medida que vayamos avanzando en nuestro aprendizaje.

2.- Librerías:

Un punto muy importante dentro de la programación, en especial en el lenguaje C, son las famosas y nunca bien ponderadas librerías.

¿Qué es una librería?

Una librería es una plantilla que contiene una serie de funciones, las cuales pueden ser utilizadas por un programa que ha invocado esta librería al inicio. Las librerías normalmente representan una “categoría” de funciones (por ej. existe una librería donde están todas las funciones matemáticas más comunes) y de acuerdo a eso las invocamos.

El lenguaje C nos proporciona múltiples librerías para nuestras necesidades, por lo que cada vez que necesitemos realizar una determinada acción, podemos hacer una búsqueda de la función y por ende librería correspondiente. Adicionalmente, podemos crear nuestras propias librerías y utilizarlas libremente (así como otras que han sido creadas por otros usuarios y puestas a disposición en Internet).

Podemos reconocer las librerías por su extensión que es la letra “h”. Por ejemplo, si tuviéramos la librería comolohago, la encontraríamos como comolohago.h. Estas librerías se encuentran en el directorio include de nuestra instalación correspondiente al entorno de programación.

Tal como indicabamos en la definición, las librerías deben ser invocadas o en estricto rigor “incluidas” en el programa donde las vayamos a utilizar. Para esto, al inicio, en las primeras líneas de nuestro programa, debemos utilizar la sentencia #INCLUDE y el nombre de la librería entre < y >. Por ejemplo, si quisiéramos incluir la librería “ejemplo.h”, pondríamos al inicio de nuestro programa:

#INCLUDE <ejemplo.h>

Podemos incluir las librerías que queramos (siempre que existan). Sin embargo, no es recomendable incluir librerías que no vayamos a utilizar, ya que es un gasto extra sobre el programa. En caso de que alguna de las funciones, o sentencias de nuestro programa necesite de una librería que no hayamos incluido, al momento de compilar nos lanzará un error avisándonos del hecho.

Antes de concluir con el capítulo sobre las librerías, es bueno añadir que las más comunes que se usan en prácticamente el 100% de los programas en C son las librerias stdlib.h y stdio.h, por lo que siempre es bueno añadirlas. Otra de las comunes es la conio.h, pero no es utilizada todo el tiempo y probablemente no la requeriremos hasta que vayamos mucho más adelante.

3.- Variables en C:

Al igual que en Pseudo-código, en lenguaje C, así como en otros lenguajes, contamos con variables para almacenar, operar y mostrar datos.

No entraremos en detalles sobre definiciones de que es una variable, porque esos temas ya los hemos cubierto en números anteriores. Nos dedicaremos de lleno a cubrir las variables en C, las cuales son muy similares a las que utilizabamos en Pseudo-lenguaje. Entre las más comunes que utilizaremos:

  1. int: Se utilizan para almacenar y operar con números enteros (correspondiente al conjunto Z de las matemáticas). Pueden almacenar tanto enteros positivos como negativos hasta un cierto rango (-32768 a 32767). Existen 2 variaciones que son el short int y el long int, los cuales varían en el rango permitido.
  2. char: Se utilizan para almacenar caracteres, tal como el tipo Letra de Pseudo-código.
  3. float: Se utilizan para almacenar y operar con números decimales (correspondiente al conjunto Q de las matemáticas). Adicionalmente se pueden utilizar para almacenar números enteros, pero no es lo recomendable. Su rango va entre 3,4 *E-38 (elevado a) hasta 3,4 * E+38 (elevado a).
  4. boolean: Almacenan datos de tipo booleano. Pueden tener 2 valores: true o false.

Esas son las variables principales que utilizaremos al programar. Iremos conociendo otras y viendo variaciones de estas mismas a medida que vayamos adentrándonos más y viendo más ejemplos.

4.- Funciones básicas:

En nuestros primeros programas de Pseudo-código, utilizamos una serie de funciones básicas para leer datos desde teclado o mostrarselos al usuario, así como operaciones matemáticas y otras cosas similares que nos ayudaron a llevar a cabo nuestros programas más simples.

En C tenemos estos mismos operadores y funciones, con unas leves diferencias como veremos a continuación:

a) La Función Principal: En Pseudo-código utilizabamos la función principal ( ) que era donde escribíamos el cuerpo del programa. En C también tenemos una función principal, pero la diferencia es que aqui tiene un tipo (tipo int) y su nombre es main. Entonces, para declarar la función principal decimos:

int main( )
{
    código del programa
}

Adicionalmente, podemos decir que la función main de C, cuenta con 2 parámetros como argc (de tipo int) y argv (de tipo char, es un vector). Estos parámetros corresponden a argumentos que nosotros le podemos dar a un programa particular, siendo el primero un entero que indica el número de argumentos, y el segundo un vector de tipo char que contiene en cada posición los argumentos que enviamos. Esto es un poco avanzado, así que no lo veremos aún, pero podremos apreciar que es bastante útil.

b) Mostrando información por pantalla: Cuando queríamos mostrar algún tipo de información en pseudo-código, utilizabamos la sentencia mostrar. En C, utilizaremos printf, la cual se utiliza de la misma forma que la veníamos utilizando hasta ahora, es decir:

printf("mensaje");
o bien
printf("%tipo de variable",nombre de la variable);

Se puede utilizar una combinatoria de ambas. En la parte de %tipo de variable, utilizamos los tipos definidos en el lenguaje C, como por ejemplo:

%d: Si la variable es un entero (int).
%f: Si la variable es un decimal o punto flotante (float).
%c: Si la variable es un caracter (char).

c) Leyendo información desde teclado: Tal como debemos recordar, en pseudo-código utilizabamos la sentencia leer. En lenguaje C, utilizaremos scanf, que funciona de la misma forma que la hemos utilizado hasta ahora, es decir:

scanf("%tipo de variable",&nombre de la variable);

Como podemos apreciar, hay una diferencia con el caso de printf, y es que acá al momento de hacer un scanf, al lado del nombre de la variable añadimos un &. Esto es necesario, ya que así le decimos al programa que guarde la información en el área de memoria que asignamos para esa variable cuando la declaramos. A esa área de memoria accedemos con &.

Cuando incluimos una sentencia de tipo scanf, el programa se detiene hasta que el usuario ingresa datos y presiona enter, por lo que tenemos la seguridad que el resto del programa no se ejecutará hasta que se cumpla esa acción.

d) Operadores matemáticos y lógicos: Son bastante similares a los que utilizabamos en pseudolenguaje, o sea:

  • +: Suma.
  • -: Resta.
  • *: Multiplicación.
  • /: División.
  • <: Menor que.
  • >: Mayor que.
  • ==: Igual a. (un solo igual es asignación de valor, no comparación).
  • !=: Distinto que.
  • %: Módulo, o resto de la división.
  • ++: Incremento en uno.
  • –: Decremento en uno.

Existen otros que iremos viendo a medida que los vayamos necesitando.

5.- Primer programa en C:

Para terminar con el capitulo de hoy, nos tomaremos un pequeño descanso de tanta teoría, y realizaremos nuestro primer programa en C. Para eso, crearemos un archivo fuente donde estará nuestro código en nuestro entorno de programación (Si instalaron Dev-C++ vamos al menú Archivo > Nuevo > Archivo Fuente o bien presionamos CTRL + N) con lo que se abrirá una plantilla en blanco. Ahí es donde escribiremos el código.

Entonces bien, tal como fue clásico en pseudo-código, aquí lo seguirá siendo, así que haremos nuestro nunca bien ponderado Hola Mundo, pero ahora en C. El código a continuación, y los comentarios como siempre, en negrita, cursiva y entre /* y */:

#include <stdlib.h>
#include <stdio.h>
/* Partimos por incluir las librerías stdlib.h y stdio.h mediante #include */

int main() /* Declaramos la función principal */
{
    printf("Hola Mundo"); /* Mostramos el mensaje */
}

Con el código escrito, no nos queda más que probar nuestro programa. Así que primero vamos al menú Ejecutar > Compilar o bien presionamos CTRL + F9 en nuestro teclado. Esto nos pedirá guardar el programa y se abrirá una ventana, ahí colocamos como nombre holamundo.c (o bien el que uds quieran pero con la extensión .c) y en tipo seleccionamos C source files (*.c).

Guardamos y el entorno de programación compilará (o sea revisará el programa que escribimos en busca de errores). Si encuentra algún error, nos indicará abajo donde está la falla. De lo contrario nos dirá que está listo y sin errores, por lo que presionamos Cerrar en la ventana de aviso.

Luego, vamos al menú Ejecutar > Ejecutar o bien CTRL + F10 en nuestro teclado, y nuestro programa correrá (no saldrá corriendo, sino que se ejecutará).

¿Funcionó?, ¿Se ejecutó y desapareció?, no se asusten. No hay nada malo con el programa. Es el entorno de programación que por defecto cuando un programa termina, cierra la ventana de ejecución. Por ahora haremos un pequeño truco para poder visualizar nuestro programa de forma correcta.

Añadiremos luego del mensaje, una función básica de C llamada getch();, la cual cumple la función de dejar el programa en espera hasta que el usuario presione una tecla, así podremos ver el resultado. Así que nuestro nuevo código quedaría de la siguiente forma:

#include <stdlib.h>
#include <stdio.h>

int main()
{
    printf("Hola mundo");
    getch();
}

Compilamos y ejecutamos de nuevo y veremos la ventana con el resultado de nuestro programa, o sea, el mensaje “Hola Mundo”. Para cerrar solo presionamos una tecla.

Y con eso terminamos por hoy, donde hemos dado nuestros primeros pasos en el lenguaje C e incluso hemos realizado nuestro primer programa.

En la próxima edición:

  1. Leyendo datos de teclado.
  2. Iteraciones condicionales.
  3. Ciclos o búcles.

Por ahora, recuerden que como siempre, este tutorial ha sido:

Cualquier duda o comentario, pueden dejarnos unas líneas en el área habilitada a continuación.

Esperamos que este tutorial haya sido de utilidad para Uds.

Muchas gracias por leer y será hasta una próxima oportunidad.

Comparte este tutorial

El culpable de todo esto

Las tardes gloriosas de domingo y las grandes ovaciones a estadio lleno, no son algo extraño para Xabadu. Luego de ser descubierto a los 4 años en un partido de barrio por los ojeadores del gran Aviación F.C., sacudió el mercado nacional al ser traspasado en $500 pesos chilenos (1 USD) y 3 coca colas al renombrado Estrella Blanca de Lolol. Luego de una impresionante carrera por equipos como Lozapenco, Santa Cruz, Deportivo Lago Chungará y una incursión en la 3a división del futbol de Kazajstan, su record imbatible hasta la fecha de 1257 goles en 20 partidos lo llevo a ser elegido como uno de los arqueros más recordados en la historia pelotera nacional. Una lesión en el colmillo superior derecho lo llevó al retiro el año 2003, pero está de vuelta y sin duda que su jerarquía y experiencia internacional será un gran aporte.

En los barrios marginales se le conoce como: Xabadu

Comentarios en Facebook

51 Comentarios

  • u perdon es que no se editar como deveria poner ?
     

  • @lucas: Ese Hola Mundo debes encerrarlo en comillas, así: “Hola Mundo”

  • bueno antes que nada agradecer por los tutoriales, ya que son de mucha ayuda… y tengo un problema que pude solucionar gracias a un amigo que posteo mas arriba…

    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
     
    int main()
    {
    printf(“Hola mundo”);
    getch();
    }

    bueno la
    funcion   getch();
    no funciona si no llamamos a la libreria
    #include <conio.h>
    …. es que en el ejemplo que nos dan no sale escrita esa libreria y en Dec-C++ no funciona sin incluirlos….gracias

  • hola me encanto este sitio xd
    esta super bien explicado
    yo hace algunos años tube un ramo en la universidad de computacion y ocupabamos el pseint como pseudo interprete y es super bueno para empesar, ademas de estar en español XD
    sobre getch() me di cuenta que si guardas el programa en formato .c++ nesesariamete se va a nesesitar agregar #include <conio.h>
    no obstante si se guarda el archivo en formato .c no sera nesesario incluir la libreria conio.h
    ademas tengan en cuenta al guardar el archivo que no basta con poner en tipo la extencion .c sino que tambien tendran que especificar el .c al final del nombre del archivo, si nolo hacen de esta forma el archivo automaticamente se guardara en formato c++ y por eso pasa esto que hay que agregar la libreria conio.h
     
    saludos y felicidades por este blog

  • esta mal el codigo es asi:
    #include <stdio.h>
    #include <conio.h>

    int main()
    {
    printf(“Hola Mundo”);
    getch();
    }

  • hola.. tngo un problema, no me puedo hacer funcionar el programa.. descargue le Dev-C++ y lo hago gal cual lo dicen pero me aparece una ventana q se va enseguida y no alcanso a leer lo q dice… use el getch pero no.. tiene algo q ver si tngo windows 7??
    gracias y muy bueno el tutorial
     

  • @PATO: Recuerda hacer un include a conio.h al inicio para poder utilizar getch( );

    Saludos!

  • sabes lo q pasa…. q yo descargue el dev-c++ y parece q no hay q poneer las librerias… por eso es q no me andaba!!
    gracias igual por contestar

  • Hey muchisimas gracias, no sabes cuanto me sera de ayuda esto, que bueno que hay personas como ustedes, espero que saquen otras cosas como aprender calculo que para mi es otro dolor de cabeza,pero gracias loco con esto por ahora es suficiente..

  • voy bien hasta aqui pero yo decidi poner linux en mi pc existe un entorno para programar en c++ o debo reinstalar el windows

1 2 3 4 5 6

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Gente linda que nos quiere

Donde mas estamos