Elementos de PROGRAMACION
Elementos de PROGRAMACION
Elementos de PROGRAMACION
programación
En este tema se presenta un conjunto mínimo de elementos de un lenguaje
de programación imperativo. Este mnjunto se particulariza para el lenguaje
C±. Con los elementos presentados se podrán construir programas completos
aunque con una estructura muy simple, ya que sólo pueden e:.tar formados por
una secuencia de sentencias. Para que estos primeros programas produzcan
resu lt.ados, se introducen también varios mecanismos de escritura simple .
El objetivo que trata de alcanzar este tema es permitir el desarrollo de progra-
mas completos desde el principio. Estos programas se podrán realizar como
práct icas con el computador de manera inmediata y directa utilizando un
compilador de CjC++.
2.1 Lenguaje C±
E1 lenguaje de pro¡"'TamUCIOn C± (léase e-más-menos), que se utilizará a lo
lacgo de todo este libro para introducir los diferentes conceptos de programa-
ción, está constituido por un subconjlrnto del vocabulario de los lenguajes C
y C++. Por lo tanto, cualquier programa escrito en el lenguaje C± se podrá
editar, compilar y ejecutar en un entorno de desarrollo para C++ que inclu-
ya como subconjunto al lenguaje C. Conviene señalar que los ficheros fuente
que contengan los programas C± deberán tener extensión . cpp COllO si fueran
programas en C++ .
•
26
Fundamentos de programación
El objetivo fundamental de utilizar el lenguaje C± es la in troducción de los con-
ceptos fundamentales de programación de una mallcra progresiva, sistemática
y sin ambigüedades eOIl el fi n de que se adquiera una buena metodología de
programación. Lamentablemente e o C++ no fueron diseñados para la forma
-
ción de programadores y disponen de ciertas estructuras que conceptualmente
son poco rigurosas y que por ello no forman parte de C±.
El lenguaje C± se irá presentando de manera simultánea a la introducción de
los conceptos seb'lÍn se avance en el curso. La presentación de cada nuevo
elemento de C± se realizará formalmente mediante la notación BNF (ver si
-
gui ente epígrafe de este tema). En el apéndice A de este libro se recopila la
descripción formal en DNF de la sintaxis completa del lenguaje C±.
En cada tema sólo se utilizarán aquellos elementos del lenguaje C± que ya
hayan sido presentados. Dado el erúoque metodológico de la asignatura, cllal~
quier programa o práctica que no se realice en el leUh'1laje C± y sigui endo
las pautas marcadas a lo largo del libro se considerará im:orrecto. Aunque
el exigir restricciones como ést as pueda parecer de carácter solo format ivo o
estrict.amente académico, el poner ciertas restricciones para la codificación en
determinados lenguajes de programación resulta una práctica bastant.e h abi~
t ual en el desarrollo de software a nivel industrial.
Siguiendo las pautas de buenas prácticas de ingeniería de software, cualquier
empresa o equipo de desarrollo de software debe disponer antes del inicio de
cada desllTrollo de un Manual de Estilo. Para lograr la adecuada claridad,
homoge neidad y mantenibilidad de los programas, en el Manual de Estilo, se
establecen prohibiciones expresa.<¡ de uso de algunas estructuras del lenguaje de
programación empleado, el formato de escritura de cada sentencia, r ecome n ~
daciones de uso de los distintos elementos del lenguaje (constantes, variables,
tipos y subprogran18s) y otros muchos aspectos. Para garantizar que todo el
desarrollo sigue estas pautas establecidas, una o varia.'i personas del dep arta ~
mento de calidad son las encargadas del garantizar la calidad requerida de
todos los programas y para ello tienen la potestad de exigir las correcciones o
modificaciones que consideren necesarias a los programadores.
2.2 N otación B NF
Un lenguaje de programación sigue unas reglas gramaticales similares a las de
cualquier idioma humano, aunque más estrictas. Para la definición formal de
dichas reglas sintácticas utilizarema.<; la notación BNF (Backus-Naur Form)
basada en la descripción de cada elemento gramatical en función de otros más
Elementos básicos de programación
27
sencillos, según determinados esquemas o construcciones. Cada \illO de estos
esquemas se define mediante una regla de producción.
Estas reglas sobre cómo han de escribirse los elementos del lenguaje en forma
de símbolos utilizan a su vez otros símbolos, que se denominan metasímbolos.
Son los siguientes:
: : = Metasímbolo de definición. Indica que el elemento a su izquierda puede
desarrollarse según el esquema de la derecha.
MetasÍmbolo de alternativa. Indica que puede elegirse uno y sólo uno de
los elementos separados por este metasímbolo.
{ } MetasÍmbolos de repetición. Indican que los elementos incluidos dentro
de ellos se pueden repetir cero o más veces.
[ ] MetasÍmbolos de opción. Indican que los elementos incluidos dentro de
ellos pueden ser utilizados o no.
( ) MetasÍmbolos de agrupación. Agrupan los elementos incluidos en su
interior.
Estos meta.<;Ímbolos se escriben con el tipo de letra especial indicado para dis-
tinguirlos de los paréntesis, corchetes, etc. que forman parte del lenguaje C±.
También se emplearán distintos estilos de letra para distinguir los elementos
5mbólicos siguientes:
Elemento_na_terminal Este estilo se emplea para escribir el nombre de un
elemento gramatical que habrá de ser definido por alguna regla. Cual-
quier elemento a la izquierda del metasÍmbolo :: = será no terminal y
aparecerá con este estilo.
Element o_terminal Este estilo se emplea para representar los elementos que
forman parte del lenguaje C±, es decir, que constituyen el texto de un
programa. Si aparecen en una regla deberán escribirse exactamente como
se indica.