Vous êtes sur la page 1sur 6

Introducción a la programación en ingeniería

S. Ivvan Valdez

Introducción, temas 1.1,1.2 y 1.3

1.1 Conceptos y definiciones: programa, lenguaje, algoritmo.

Dentro de las necesidades actuales de cualquier persona está la necesidad de aplicaciones de software. Se
requieren para el uso de teléfonos inteligentes, ya sea que se desee escuchar música, visualizar documentos,
realizar llamadas, enviar mensajes, usar las redes sociales, etc. todas estas aplicaciones son un programa de
cómputo. Estas aplicaciones son las más comunes para cualquier usuario, pero los programas de computadora
también se realizan para ayudar a los médicos, por ejemplo, a capturar, visualizar y procesar tomografías, a los
ingenieros civiles a calcular la resistencia de un puente o diseñar un edificio, e incluso a los ingenieros en sistemas o
computación hay programas que los asisten a diseñar, desarrollar, probar y entregar otros programas o aplicaciones.

Un programa es la implementación de un algoritmo. Entonces, necesitamos definir primero a este.


Un algoritmo es un conjunto ordenado de pasos para realizar una tarea. Por ejemplo, supongamos que queremos
sumar tres números: a+b+c. Y tenemos instrucciones directas para sumar dos números. A instrucciones directas nos
referimos a que el hardware que poseemos ya sabe como sumar dos números, y no debemos preocuparnos por
eso. Entonces, un posible algoritmo para sumar a+b+c es el siguiente:

Datos de entrada: Tres número a,b y c.


Datos de salida: El resultado de la suma a+b+c
Paso 1. Sumar a+b y almacenarlo en r1: r1=a+b
Paso 2. Sumar r1+c y almacenarlo en r2: r2=r1+c
Paso 3. Regresar r2 como el resultado.
Algoritmo 1. Pseudo-código del algoritmo para sumar de 3 números.

En el Algoritmo 1 se presenta el pseudo-código del algoritmo, este pseudo-código es un lenguaje de muy alto nivel
que es entendible solamente por humanos, pero que no puede ser traducido directamente a instrucciones que pueda
procesar la computadora. Para que las instrucciones puedan ser traducidas por la computadora se requiere utilizar
un lenguaje de programación para implementar el algoritmo.

Existen muchísimos lenguajes de programación, por ejemplo: C, C++, Java, Fortran, Ruby, Python, Pascal, Perl,
Ada, C#, Lisp, etc. Cada lenguaje tiene sus ventajas y desventajas, por ejemplo, pueden variar en eficiencia, en el
propósito de las aplicaciones que se implementan (que se implementen más rápido o que sean más eficientes), en
su portabilidad, es decir en qué sistemas operativos se pueden ejecutar las aplicaciones realizadas con ellos, etc.

En este curso nos concentramos en el lenguaje C. El lenguaje C es uno de los lenguajes más populares de
propósito general. Fue diseñado y desarrollado por investigadores y tecnólogos de los laboratorios Bell. Y fue
diseñado para implementar funciones y aplicaciones para sistemas operativos Unix, sin embargo, el lenguaje se
popularizó a otros sistemas y hoy es ampliamente usado en diferentes ámbitos.

Un programa es un conjunto de instrucciones usualmente escritas por un humano, que son escritas en un lenguaje
de programación, para realizar alguna tarea predeterminada. El programa es la implementación de un algoritmo. La
escritura de un programa debe de seguir ciertas reglas formales muy específicas, dadas por el lenguaje de
programación, al conjunto de archivos o archivo del programa escrito en el lenguaje de programación se le llama
código fuente. El código fuente no puede ser interpretado directamente por el sistema operativo, para esto debe de
ser compilado. Se compila por medio de otro programa llamado compilador, que traduce el código fuente en
código compilado que usualmente es denominado código objeto estos archivos de código objeto se ligan o vinculan
para finalmente tener un ejecutable. El cual es un tipo de archivo que ya puede ser interpretado por el sistema
operativo para que las instrucciones sean procesadas y se realice la tarea que requerimos.

De forma práctica el flujo de trabajo es el siguiente:

● Dado un problema definimos o planteamos un algoritmo que pueda resolverlo.


● Implementamos el algoritmo en un programa de cómputo utilizando un lenguaje (C) lo que resulta en el
código fuente del programa.
● Compilamos los archivos de la implementación y los compilamos utilizando un compilador (gcc), esto se
puede hacer en una sola instrucción como se verá más adelante, de esta acción resulta un programa
ejecutable.

1.2 Estructura de un programa en C y (1.3) compilación

Comenzaremos a desarrollar nuestro primer programa en C. Vemos un ejemplo de de este en la Figura 1. Este
programa de ejemplo, solo envía una impresión de la oración “Llamada a función”. Si lo ejecutamos veremos esta
oración en la salida estándar que es la terminal del sistema. Por el momento no nos interesa mucho analizar la tarea
que realiza el programa, sino familiarizarnos con la estructura del código fuente de este programa, ya que esta
misma estructura será utilizada en los siguiente programas que hagamos.

Figura 1. Ejemplo de programa en C

Un programa en C usualmente tiene:


● Directivas de precompilador. Generalmente son inclusión de librerias, mostradas en la línea que
comienza en verde en la Figura 1, en este caso índica que se incluye la libreria del sistema stdio.h. Las
librerías como esta, se denominan librerías estándar, definidas por el lenguaje y que vienen con el
compilador, en este caso stdio.h es la librería de entrada y salida estándar (standard input-outpu), que
provee funciones para, por ejemplo, leer y escribir datos desde y hacía una terminal o de un archivo.
● Una y solo una función main, como se muestra en la línea 2 de la figura 1. Las instrucciones dentro de
esta función son las que se ejecutan cuando se ejecuta el programa. Aunque después veremos la
estructura de las funciones en detalle, por el momento, debemos considerar que nuestro programa en C va
a ejecutar todas las instrucciones en la función main, que comienza con con la llave { en la línea 3 de la
Figura 1, y termina con el cierre de la llave, }, en la línea 7 de la misma figura.

Dentro de la función main en la FIgura 1, tenemos las siguientes instrucciones:


● Definición y declaracion de datos. Declarar un dato quiere decir que el compilador sabe que existe. Definir
en el caso de los datos consiste en reservar la memoria donde se almancena el dato, o especificar las
intrucciones que realiza la función. En este caso en la Figura 1, estamos declarando y definiendo en la
misma instrucción los datos o variables a y b en la línea 4.
● Una o mas llamadas a función. En la línea 5 de la Figura 1, se muestra la llamada a la función printf esta
función imprime un mensaje a la salida estándar como se verá en el ejercicio de esta clase.

Notas importantes:
● En C hay distinción entre mayusculas y minusculas, entonces el nombre de la

Recordatorio
● Código fuente. El programa está escrito en código fuente que es la forma en que un humano escribe
instrucciones para la computadora, este código es legible sólo para los humanos, pero la computadora
(sistema operativo) no sabe cómo interpretar directamente estas instrucciones, además de que no son la
forma natural en que la máquina procesa las instrucciones, por otro lado, el código fuente se escribe en
algún lenguaje (en este caso C), el cual está diseñado para que sea legible y entendible por humanos.
● Compilación. Este código fuente es compilado para transformarlo en instrucciones que puedan ser
procesadas por la computadora.
● Ligado. El código fuente para un programa puede estar escrito en varios archivos, usualmente con la
extensión .c, cuando se trata de un programa en lenguaje C.
Ejercicio 1.

En este ejercicio escribiremos y compilamos nuestro primer programa en C. Para esto instalaremos un editor o
ambiente de desarrollo (IDE en inglés, de Integrated Development Environment). Utilizaremos uno muy simple que
está disponible de forma gratuita para diferentes plataformas: Geany. Seguimos los siguientes pasos:
1. Descargar el instalador del IDE. Vamos a la página de Geany (pueden googlearlo), a la sección de
descargas (Downloads) de las versiones liberadas (Releases)1 de Geany:
https://www.geany.org/Download/Releases
2. Instalar el IDE. Dentro de esta sección encontramos la versión para nuestro sistema operativo,
supongamos que ustedes utilizan una versión de windows superior al 7, entonces: Descargamos el
instalador en el link azul de la sección mostrada en la Figura 2.

Figura 2. Vínculo de descarga del entorno de desarrollo que será utilizado en este curso.
3. Crear un nuevo archivo. Después de haber instalado Geany, lo abrimos y creamos un nuevo archivo
dando click en el ícono con el símbolo de + que se ve en la Figrua 3, o es equivalente a ir al menu File y
dentro de este menú a la opción New (está instrucción la escribiremos de forma corta como File->New).

Figura 3. Ícono para crear un nuevo archivo en Geany.


4. Guardamos el archivo como hello.c (File->Save, es decir vamos al menú File y damos click en la opción
Save) después de haberlo guardado, el código fuente se verá como en la Figura 4.

Figura 4. Primer programa en C utilizando Geany


5. Compilación y ligado para generar el ejecutable. Para compilar y ligar el archivo actual damos click en el
ícono del ladrillo en Geany, como se ve en la Figura 5, o en Build->Build. Como resultado de este paso en
la carpeta donde tenemos nuestro archivo fuente debió de haberse generado el archivo hello o hello.exe
(en windows) que es el ejecutable.
Figura 5. Compilación y linkeo (ligado o vinculación) de un programa en C.

Si la compilación fue exitosa, en la parte inferior debe mostrarse un mensaje como el de la Figura 6.

Figura 6. Mensaje de compilación exitosa: “Compilation finished successfully”

El mensaje anterior es un warning (advertencia), que no es propiamente un error, sino una práctica o
acción que el compilador detecta como rara o sospechosa y que puede deberse a un error de lógica en
nuestro programa, en este caso,, e warning dice: hello.c:5:8: warning. unused variable ‘a’ [-Wunused-
variable]. Lo que significa es, en el archivo hello.c aproximadamente en la línea 5 del archivo en la
columna 8, te advierte (warning) que tienes un dato o variable llamada a que no se está usando, al
compilador le parece raro que tu programa diga que necesita una dato o variable a y que no se utilice para
nada, esto no es un error, así que en caso de que el programa esté correcto y esta forma de escribirlo es lo
que pretende el desarrollador o programador, el compilador te sugiere que utilices la opción -Wunused-
variable, para que no te siga apareciendo la advertencia cada que compiles. Veremos como usar estas
opciones más adelante, por el momento está bien que el compilador nos advierta de todos los posibles
errores o situaciones sospechosas.
6. Ejecución. Para ejecutar el programa se da click en el ícono de engrane, como se muestra en la Figura 7.

Figura 7. Ícono de ejecución de un programa ya compilado en Geany.

Coloquialmente cuando se ejecuta un programa también le llamamos correr el programa (que como se
puede ver viene de la traducción literal del término utilizado en inglés). El resultado de la ejcución se
muestra en la Figura 8. Que es una terminal con la frase “Hola mundo!”.

Figura 8. Resultado de la ejecución del primer programa en C.

En esta clase vimos algunos conceptos básicos como: algoritmo, programa, lenguaje de programación, código
fuente, código objeto y ejecutable. Y comenzamos a familiarizarnos con algunos temas de programación como:
declaración y definición de variables (datos), librerías estándar incluidas en un como archivos de cabecera (stdio.h) y
la función main. También vimos algunas herramientas que nos serán útiles durante todo el curso como un ambiente
de desarrollo (IDE) y un compilador (gcc2). Estos conceptos deben de ser manejados con fluidez por el alumno para
que su aprendizaje sea exitoso. Siempre es recomendable buscar ayuda, la comunidad de programadores en el
mundo es muy solidaria y casi para cualquier pregunta o duda que tengan habrá alguien que ya la ha tenido y cuya
respuesta está en internet o alguien que se las pueda resolver. El profesor puede resolver las dudas en clase o en
horas de asesoría pero para el día a día del desarrollo de programas de cómputo, seguramente, la mayoría de los
desarrolladores recurren a la información en línea, para lo anterior se dejan los siguientes links. El primero es un
tutorial de programación muy completo (tutorialspoint) y el segundo es un blog de programadores, probablemente el
más popular del mundo, donde la comunidad de programadores pregunta y responde dudas relacionadas con
programación.

https://www.tutorialspoint.com/cprogramming/index.htm
https://stackoverflow.com/questions/446589/getting-started-in-c-programming
1Una versión liberada es cuando una aplicación o programa ha sido probado exitosamente con las nuevas
funcionalidades y los desarrolladores consideran que está listo para su uso por el usuario final, las versiones
anteriores a la liberada usualmente se denominan alfa o beta o de forma genérica se les de dice versión debug que
son versiones de programas que en las cuales aún se están realizando pruebas en busca de posibles errores (bugs)
que surjan en tiempo de ejecución.
2gcc es el gnu C compiler, es un compilador gratuito, pero además es libre, quiere decir que se desarrolló con el fin

de que fuera compartido sin costo, y que cualquiera tiene acceso al él, no solo al ejecutable que utilizamos, sino al
código fuente, para que cualquier pueda ver como se hizo, lo desarrolla una comunidad de programadores adheridos
al movimiento GNU (buscar en internet para saber más). El compilador ya viene junto con el instalador de Geany.

Actividad 1. Conteste las siguientes preguntas


1. Supongamos que necesita un programa para calcular el promedio de un conjunto de número ¿qué es lo
primero que necesita definir?
Respuesta. El algoritmo.
2. Supongamos que le dan el código fuente de un programa para cambiar de formato archivos de música, el
cual es un programa en C, ¿que necesita hacer para utilizar este código en su computadora?
Respuesta. Compilarlo.
Actividad 2. Los proyectos de desarrollo de software usualmente se organizan en diferentes carpetas. Una forma
común de hacerlo es usar las carpetas: debug, release, src, y doc, todas dentro de una carpeta principal del
proyecto. Organice su programa como sigue:
1. Crear las 4 carpetas mencionadas arriba.
2. En la carpeta src van los codigos fuentes (sources) de su programa.
3. En la carpeta debug van los ejecutables que se están probando y aún no han sido liberados hacia el
usuario.
4. En la carpeta release van los ejecutables cuando ya han sido liberados para el usuario y se consideran
libres de errores.
5. En la carpeta doc va la documentación del proyecto donde se describe el programa, sus funcionalidades,
datos, etc.
6. Todas las carpetas anteriores van en una carpeta principal con el nombre del proyecto, y dentro de esta
carpeta se debe encontrar un readme.txt este archivo da una descripción básica del proyecto y es la guía
de entrada para saber cómo compilar, modificar o instalar el programa. Muchas veces esta información es
demasiada para ponerla en un solo archivo, entonces el readme dirige al lector hacía la información
pertinente (una página web, la documentación, etc.)

Vous aimerez peut-être aussi