Saltar al contenido principal
LibreTexts Español

1.1: Introducción

  • Page ID
    83188
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    El objetivo principal de este ejercicio de programación inicial es familiarizarse con el uso de las herramientas del lenguaje de programación. Los programas en este ejercicio serán bastante triviales, pero servirán de trampolín para trabajar posteriormente. Estaremos utilizando programas similares a los examinados en conferencia.

    El paquete de lenguaje C preciso en uso no es de extrema importancia. Diversas empresas crearán diferentes herramientas de programación y aunque las características y los puntos finos pueden diferir, los conceptos básicos siguen siendo los mismos. Todas las herramientas del lenguaje C necesitan compilar código C y ensamblarlo. Además, necesitan vincular este código ensamblado con otros módulos ensamblados y bibliotecas para crear un programa ejecutable terminado. En el caso más simple, estas herramientas estarán en forma de utilidades de línea de comandos, es decir; se ejecutan desde un prompt de DOS o shell. Normalmente, las herramientas son parte de un entorno de desarrollo gráfico integrado, o IDE. Los IDE normalmente incluyen un editor de texto. Los compiladores de C esperan trabajar en texto sin procesar. No intente “alimentarles” la salida de un procesador de textos, como un archivo.doc. Si está utilizando herramientas simples de línea de comandos en lugar de un IDE, creará sus archivos fuente con un editor de texto básico como el Bloc de notas.

    Los archivos de código fuente C utilizan una extensión “.c”. La salida del compilador se llama un archivo objeto. Normalmente tendrá una extensión “.o” o “.obj”. En el mundo Windows, los ejecutables terminados suelen tener una extensión “.exe”. Muchos IDE requieren que crees un proyecto antes de comenzar a ingresar tu código. El proyecto incluye muchos atributos como los nombres de archivo utilizados para el código fuente (puede haber varios en proyectos más grandes), las bibliotecas apropiadas para vincular, el nombre del ejecutable terminado, etc. Para tareas de programación simples que involucran pequeñas cantidades de código fuente, esto puede ser un poco doloroso, sin embargo, es maravilloso para esfuerzos más grandes. Todo el código fuente C de todos nuestros ejercicios durante este curso puede caber fácilmente en un solo tamaño muy modesta (¡64 MB!) Unidad USB. Esto incluye los archivos de proyecto que pueden llegar a ser mucho más grandes (muchos megabytes) que la fuente C. En los laboratorios en red del campus, los archivos del proyecto y los archivos fuente se pueden guardar en el área de almacenamiento en red del estudiante. Para aquellos que realizan laboratorios fuera del campus, probablemente será más fácil simplemente crear nuevos proyectos en su disco duro según sea necesario.

    Este laboratorio utilizará la aplicación Pelles C. Sin embargo, no hay nada mágico en Pelles C y otros sistemas son perfectamente aceptables. De todos modos, solo usaremos Pelles C para los ejercicios introductorios. Una vez que nos pongamos en marcha, cambiaremos nuestro énfasis a la placa de desarrollo Arduino.

    Nuestro primer ejercicio se centra en crear un proyecto, editar código fuente, compilarlo y vincularlo, y probarlo. Luego lo editaremos y repetimos el proceso. También veremos el reporte de errores. Si está utilizando utilidades de línea de comandos, consulte la nota al final de este ejercicio antes de continuar.

    Para comenzar, abra el IDE de lenguaje C. En Pelles C seleccione “Iniciar un nuevo proyecto” desde el panel de inicio. El nuevo proyecto puede ser una de muchas cosas. No estaremos creando programas Windows-GUI, sino utilidades de shell DOS, así que selecciona Win32 o Win64 Console Application (dependiendo de tu sistema operativo) y dale un nombre al proyecto. Para crear el código fuente C, necesitará crear un nuevo archivo de texto. Seleccione Nuevo>>Código fuente en el menú Archivo. Se abrirá una ventana de edición de texto en blanco.

    Escriba el siguiente código en el editor:

    #include <stdio.h>
    
    /* It all begins here */
    
    int main( void )
    {
          printf(“Hello world!\n”);
    }
    

    Guarde esto como hola.c. usando Archivo>>Guardar como. Aparecerá un cuadro de diálogo preguntándole si desea agregar este archivo al proyecto actual. Seleccione “Sí”. Tenga en cuenta que en algunos IDE deberá insertar manualmente el archivo en el proyecto (busque el elemento de menú apropiado en tal caso).

    Si bien es posible compilar y vincular módulos por separado, la mayoría de los desarrolladores utilizan el acceso directo Build. Esto compilará y vinculará todos los archivos según sea necesario. En Pelles C puede seleccionar Construir desde el menú Proyecto o desde la barra de herramientas. A medida que se construye el proyecto, notarás mensajes en el área de estado en la parte inferior. Si todo sale bien, dirá Building Done<name of project>. Ya puedes consultar el programa. Seleccione el botón Ejecutar de la barra de herramientas o Proyecto>>Ejecutar en la barra de menús. Un pequeño shell DOS debería abrirse con el mensaje “¡Hola Mundo!”. Presione cualquier tecla para borrar esta ventana de shell y volver al IDE. ¡Has completado con éxito tu primer programa!

    Dependiendo de la configuración de tu IDE, es posible que notes diferentes colores en el texto. En muchos IDE puede especificar diferentes colores para diferentes elementos como palabras clave, constantes, operadores matemáticos, comentarios, etc. Esto facilita un poco la lectura del código.

    Editemos el código fuente y hagamos que haga otra cosa. Alterar el texto para que se vea así:

    #include <stdio.h>
    
    /* Program two */
    
    int main( void )
    {
          int x, y;
    
          x = 10;
          y = x + 20;
          printf(“The result is %d\n”,y);
    }
    

    Reconstruir y probar el código resultante. Deberías recibir un mensaje que diga “El resultado es 30”. La mayoría de los editores IDE tienen la funcionalidad habitual de cortar/copiar/pegar junto con buscar y reemplazar. Algunos también tienen sangría automática, creación de corsé coincidente y otras características avanzadas.

    Bien, ¿qué pasa si cometes un error en tu código? Insertaremos algunos a propósito y veremos qué pasa. Alterar el programa anterior para que se vea así:

    #include <stdio.h>
    
    /* Program three, with errors */
    
    int main( void )
    {
          int x, y;
    
          x = 10
          y = x + 20;
          printf(The result is %d\n”,y);
    }
    

    Tenga en cuenta que hemos dejado el punto y coma final en x=10; así como la cita inicial en la función printf (). Reconstruir el proyecto. Esta vez recibirás un montón de errores y advertencias. Pueden diferir en la redacción del sistema de desarrollo al sistema de desarrollo, pero deberías ver algo sobre un punto y coma que falta antes de la y. Probablemente también verá un error relativo a que “The” es un identificador no declarado. Es posible que también veas muchas advertencias. Por lo general, al hacer doble clic en el mensaje de error se resaltará la línea correspondiente en el código. A veces una sola omisión puede hacer que el compilador emita docenas de mensajes de error. Esto se debe a que el compilador especie de “pierde la pista” de dónde está y comienza a marcar código perfectamente bueno como que tiene errores. Por esta razón, si obtienes errores (y lo harás), siempre mira el primer error reportado y arréglalo. No mires el último error reportado ya que puede llevarte a una persecución de ganso salvaje.

    Por último, es posible que desee guardar su código para copia de seguridad. Simplemente seleccione Archivo>>Guardar como y elija un nombre apropiado. Nuevamente, los archivos fuente C deben usar una extensión “.c”. Tenga en cuenta que puede crear, leer o editar archivos fuente C sin el IDE. Todo lo que necesitas es un sencillo editor de texto. No podrás compilarlo o construirlo, pero al menos puedes hacer algo de trabajo en una tarea sin un compilador a mano.

    Para aquellos que utilizan un sistema de línea de comandos (sin IDE), el proceso es similar a lo que se ha descrito, aunque menos automático. Tendrás que crear tu archivo fuente en un editor de texto. Luego invoca el compilador desde una ventana de shell de DOS, generalmente con un comando algo así como:

    cc hello.c
    

    Esto creará el archivo objeto. Luego invoca el enlazador, generalmente con un comando como:

    ln hello.exe hello.obj stdio.lib
    

    Tendrás que consultar tu documentación desde los comandos y sintaxis adecuados. Una vez creado el ejecutable, lo pruebas desde el shell escribiendo su nombre:

    hello.exe
    

    La salida apropiada se enviará a la ventana de shell. Para editar el programa, vuelva a abrir el archivo fuente C en el editor de texto, realice los cambios, guarde el archivo y luego repita los comandos de compilación/enlace. Si se producen errores, los mensajes de error se imprimirán en la ventana shell.


    This page titled 1.1: Introducción is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.