Tema 1: ¿Qué es programar?

Published by admin on

¿Qué es programar? La Real Academia de la Lengua Española da la siguiente definición: programar. tr. Formar programas, previa declaración de lo que se piensa hacer y anuncio de las partes de que se ha de componer un acto o espectáculo o una serie de ellos. || 2. Idear y ordenar las acciones
necesarias para realizar un proyecto. U. t. c. prnl. || 3. Preparar ciertas máquinas por anticipado para que empiecen a funcionar en el momento previsto. || 4. Preparar los datos previos indispensables para obtener la solución de un problema mediante una calculadora electrónica. || 5. Inform.

Elaborar programas para la resolución de problemas mediante ordenadores.

Sin embargo, la primera acepción es interesante también:

“Formar programas, previa declaración de lo que se piensa hacer y anuncio de las partes de que se ha de componer un acto o espectáculo o una serie de ellos.” Aún cuando no haya una referencia directa a la Informática, la actividad de programación está directamente relacionada con muchos
aspectos de la vida corriente, no sólo con la Informática.


Si programar es “Elaborar programas …”, ¿qué es un programa? Nuevamente la Real Academia de la Lengua Española nos puede ayudar: programa. (Del lat. programma, y este del gr. πρόγραμμα). m. Edicto, bando o aviso público.

2. Previa declaración de lo que se piensa hacer en alguna materia u ocasión. 3. Tema que se da para un discurso, diseño, cuadro, etc.
4. Sistema y distribución de las materias de un curso o asignatura, que forman y publican los profesores encargados de explicarlas.

5. Anuncio o exposición de las partes de que se han de componer ciertos actos o espectáculos o de las condiciones a que han de sujetarse, reparto, etc.

6. Impreso que contiene este anuncio.

7. Proyecto ordenado de actividades.

8. Serie ordenada de operaciones necesarias para llevar a cabo un proyecto.

9. Serie de las distintas unidades temáticas que constituyen una emisión de radio o de televisión.

10. Cada una de dichas unidades temáticas. Va a comenzar el programa deportivo.

11. Cada una de las operaciones que, en un orden determinado, ejecutan ciertas máquinas.

12. Inform. Conjunto unitario de instrucciones que permite a un ordenador realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos, la resolución de problemas matemáticos, el manejo de bancos de datos, etc.

Si bien la acepción 12 es la que corresponde a Informática, otras acepciones pueden ser útiles para entender mejor qué es un programa. Véase, por ejemplo, las acepciones 7, 8, 11.

Entendemos fácilmente cuando alguien habla de programar un viaje, programar una fiesta, etc. Se hace un programa, se programa una serie de actividades y una lista de las cosas que serán necesarias para lograr un objetivo dado.

Así, si lo que se programa es una fiesta, será necesario “pensar” en las bebidas, en la comida, vajilla, etc. y en las actividades, acciones para obtener esas cosas, así como en las acciones a realizar con ellas.
En todos los casos hay un conjunto de elementos a tener en cuenta para llevar a buen puerto la actividad que se desea programar:

(a) Las acciones a realizar. Algunas veces en un orden determinado, una después de otra o inclusive algunas que pueden desarrollarse simultáneamente.

(b) Los objetos sobre los cuales se ejecutarán las acciones. Por ejemplo, en el caso de programar una fiesta acción será la de invitar a un grupo de personas (en este caso el objeto sobre el cual se ejecuta la acción es el conjunto de personas);


(c) Algo que es tan obvio que algunas veces se pasa por alto: el ejecutor, es decir, quien ejecutará, quien llevará a la práctica el programa.
Es de hacer notar que cualquiera sea la actividad que uno esté programando (por ejemplo, organizar un viaje, hacer una torta, etc.) lo primero que hacemos, o preparamos, es un programa de la misma antes de que el mismo sea puesto en ejecución. Hay también que pensar que hay programas y programas: algunos más complejos y/o largos que otros y que necesitan una mejor y más afinada preparación.

Es así como podemos distinguir dos etapas en cualquier actividad programable:

(1) el diseño, preparación, planificación, o creación del programa en sí mismo;

(2) la ejecución o puesta en práctica del programa. Muchas veces, cuando creamos un programa, lo hacemos sólo en nuestra mente, es decir sin necesidad de anotar nada. Esto ocurre, generalmente, en aquellos casos en que las tareas a llevar a cabo son pocas y sencillas, y en consecuencia no se corre el riesgo de olvidar ningún paso. Esto presupone, por supuesto, que quien va a llevar a la práctica el programa, es decir, lo va a ejecutar, es la misma persona que lo diseñó.

Por el contrario, si el programa es largo, complejo y/o quien o quienes deberán llevarlo a la práctica no son los mismos que quienes lo han diseñado, entonces habrá que tomar nota paso a paso de todas las actividades que deben ser llevadas a cabo, es decir, escribir un programa, no sólo para no olvidar ninguna acción a realizar, ni objeto con el que haya que trabajar, sino, sobre todo, por si resulta necesario darle a alguien las instrucciones para llevar a cabo la actividad para la cual se ha hecho el programa.

Al dar las instrucciones habrá que ser extremadamente cuidadoso. En efecto, si uno espera que su programa se lleve a cabo con éxito, debe asegurarse que quién o quiénes lo ejecuten entiendan perfectamente las instrucciones que se les dan.

En consecuencia, deberemos elegir el lenguaje en que daremos las órdenes, así como las palabras empleadas, evitando usar un lenguaje desconocido para quien ejecutará el programa, así como palabras o giros idiomáticos
incomprensibles para dichas personas. Es decir que estaremos obligados a usar un lenguaje que la o las personas, que ejecutarán nuestro programa, entiendan perfectamente.

Obviamente, el programa que hagamos no deberá tener ningún tipo de error si queremos que sea un éxito; ni errores en su redacción, que puedan causar que el mismo no sea comprendido por quienes deben ejecutarlo; ni
errores en su concepción, que impliquen que aún cuando el programa se ejecute correctamente, es decir de acuerdo con las instrucciones dadas, el resultado no sea el esperado sino otro muy distinto o incluso que debido a los errores no pueda ser llevado a la práctica.

En consecuencia hay dos aspectos importantes a tener en cuenta:

(1) El lenguaje que se empleará para escribir el programa.
(2) La corrección del programa.
Es importante no sólo elegir un lenguaje adecuado, que sea comprensible por quienes van a ejecutar el programa y que no permita ambigüedades, es decir, interpretaciones múltiples, sino también es importante el uso que hagamos de este lenguaje. Con esto queremos decir que, en nuestros programas, no deben existir errores de escritura (ortografía) ni de uso incorrecto de la gramática del lenguaje (sintaxis). Es decir, también es importante la corrección del programa. Esto significa, además, que el programa que hagamos, las actividades programadas, los objetos empleados, serán aquellos que nos llevarán al resultado esperado. Es decir que las acciones programadas y el orden en el cual las mismas deben ser llevadas a cabo son las correctas para lograr nuestro objetivo.

Más de una vez, una actividad planificada de antemano no resulta como se esperaba porque se comenten errores en la planificación de la misma, en la programación de ella ya que alguna actividad estaba de más, o faltaba una actividad o se hizo una actividad en lugar de otra, o no se usaron los objetos correctos y necesarios para la actividad programada, o se los emplearon de manera incorrecta, etc.

Por supuesto, los errores en los resultados, también pueden deberse a mala interpretación, o a una incorrecta ejecución de los encargados de llevar a la práctica (ejecutar) el programa.

Resumiendo, podemos decir que la actividad de programar tiene las siguientes características:

(1) Hay acciones a realizar, la mayor parte de las veces en un orden determinado.

(2) Hay objetos o cosas sobre los que las acciones se realizan.

(3) Existen uno o más ejecutores del programa.

(4) Hay dos etapas bien distinguidas en una actividad programable:
(a) La programación, que es la preparación o confección del programa. En esta etapa las acciones y los objetos se definen. Los objetos necesarios para realizar las acciones se representarán de alguna manera y a dicha representación abstracta le llamaremos datos.
(b) La ejecución del programa, que es la puesta en práctica del mismo. En esta etapa las acciones del programa se ejecutan.
(5) Es necesario un lenguaje para describir las acciones y los objetos del programa. Este lenguaje debe tener las siguientes características:
(a) Ser entendible, conocido, por el ejecutor del programa.
(b) No permitir, en lo posible, ambigüedades en su empleo.
(6) En la programación es necesario:
(a) Evitar errores de concepción o de la lógica del programa, es decir, errores que lleven a un resultado distinto del esperado, aún cuando el programa se ejecute correctamente.
(b) Evitar errores de sintaxis del programa, es decir, errores de uso incorrecto del lenguaje de programación, que impidan que el ejecutor del programa entienda el mismo.

Categories: