algoritmos

Page 7

3.2

Tipos de lenguajes de programaci´ on: lenguajes imperativos

7

Con el paso del tiempo el BNF se ha ampliado dando lugar a un lenguaje m´as legible mediante la inclusi´on de indicadores de iteraci´ on y grupos: S´ımbolo [algo] { algo } (tal | cual)

Significado cero o una aparici´on de ese algo cero o m´as apariciones de ese algo grupo; o bien tal o bien cual

Por ejemplo, una definici´ on de un identificador en el lenguaje de programaci´on C, descrita en BNF ser´ıa: IDENT::=LETRA | IDENT LETRA | IDENT DIGITO con LETRA::= | [a..z] | [A..Z] y DIGITO::=[0..9] y usando EBNF: IDENT::=LETRA {LETRA | DIGITO} Algunas variantes de EBNF incluyen en forma de super´ındices y sub´ındices el m´ınimo y el m´aximo, respectivamente, de las posibles repeticiones. Por ejemplo {a}53 indica la posible repetici´on de la letra terminal a entre 3 y 5 inclu´ıdas veces. La notaci´ on EBNF evita la recursi´ on de BNF sustituy´endola por iteraci´on. 3.1.6.

Diagramas sint´ acticos

Otra forma de describir las reglas sint´aciticas de un lenguaje son los diagramas de Conway. Los s´ımbolos m´ as importantes se representan en la Figura 1.

Símbolo terminal

Símbolo NO terminal concatenación Figura 1: Significado de algunos s´ımbolos de los diagramas de Conway

3.2.

Tipos de lenguajes de programaci´ on: lenguajes imperativos

Cualquier notaci´ on que se d´e para la descripci´on de un algoritmo o una estructura de datos puede ser llamada lenguaje de programaci´on. Naturalmente, sin embargo, no todos los lenguajes de programaci´ on se plantean para ser implementados en los ordenadores. Se han desarrollado e implementado cientos de lenguajes de programaci´on diferentes. Ya en 1969 J. Sammet [Sam69] hace una lista de 120 lenguajes de programaci´on ampliamente utilizados; y desde entonces se han desarrollado un buen pu˜ nado de ellos m´as. La mayor´ıa de los programadores, sin embargo, no se aventuran a utilizar m´ as que unos pocos de ellos (mientras menos mejor), quiz´as uno o dos. En la pr´ actica, en cada lugar de trabajo se acuerda el utilizar un lenguaje u otro (C, Ada, FORTRAN, Matlab), como sistema de desarrollo, simplificando despu´es el intercambio de ideas y material entre los programadores. Sin embargo es interesante conocer las caracter´ısticas de los lenguajes de programaci´ on m´as importantes por distintas razones:


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.