40
UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN DEPARTAMENTO DE SISTEMAS CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES WWW.VIRTUAL.UTN.EDU.AR/FRT ING. JORGE BUABUD

Lingüística Matemática Clase 1

Embed Size (px)

DESCRIPTION

Alfabetos, palabras y lenguajes. Operaciones con cadenas y con lenguajes. Niveles de un lenguaje: léxico, sintáctico, semántico y pragmático.

Citation preview

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN

DEPARTAMENTO DE SISTEMAS

CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

WWW.VIRTUAL.UTN.EDU.AR/FRT

ING. JORGE BUABUD

LENGUAJES :

U.T.N. – F.R.T. S. y S. de los L. PRELIMINARES

Lenguaje, medio de comunicación entre los seres humanos a través de signos orales y escritos que poseen un significado.

En un sentido más amplio, es cualquier procedimiento que sirve para comunicarse.

ING. JORGE BUABUD

Algunas escuelas lingüísticas entienden el lenguaje como la capacidad humana que conforma al pensamiento.

Microsoft ® Encarta ® 2007. © 1993-2006 Microsoft Corporation.

LENGUAJES:

U.T.N. – F.R.T. S. y S. de los L. PRELIMINARES

LENGUAJES FORMALES

� de Programación

� de Música

� de Matemática

� de Química

NIVELES

� Léxico

� Sintáctico

ING. JORGE BUABUD

LENGUAJES NATURALES

� Español(Oral-Escrito-Señas)

� Inglés

� Árabe

� Semántico

� Pragmático

U.T.N. – F.R.T. S. y S. de los L.

ALFABETOS:

LINGÜÍSTICA MATEMÁTICA

ALFABETO : Conjunto finito no vacío de símbolos diferentes.

Notación: Nombre genérico de un alfabeto: ΣSímbolos abstractos de un alfabetoprimeras letras del abecedario en minúscula (a, b, c, …)

Ejemplos: Σ = { a, b, c , d }

ING. JORGE BUABUD

Ejemplos: Σ = { a, b, c , d }

Binario = { 0, 1 }

Letras = { a, b, c, d, e, ….., x, y, z }

Español = {el, la, … , casa, perro, …, es, come, … , linda,

alegremente, …}

U.T.N. – F.R.T. S. y S. de los L.

ALFABETOS:

LINGÜÍSTICA MATEMÁTICA

� Para describir un hecho o entidad se utilizan conjuntos de símbolos que en general llamamos DATOS.

� Por otro lado, una INFORMACIÓN es un conjunto de datos significativos: Reconocibles, Íntegros, Inequívocos, Relevantes.

� En el ámbito de la informática son de uso frecuente los alfabetos o códigos ASCII y EBCDIC.

ING. JORGE BUABUD

códigos ASCII y EBCDIC.

� No debemos confundir el “nombre” del símbolo con el propio símbolo.

Por ejemplo: al símbolo $ lo llamamos PESO, en otro contexto

podríamos llamarlo DÓLAR, pero sigue siendo el

mismo símbolo.

U.T.N. – F.R.T. S. y S. de los L.

PALABRAS o CADENAS:

LINGÜÍSTICA MATEMÁTICA

PALABRA : Secuencia finita de símbolos pertenecientes a un alfabeto.

Notación: últimas letras del abecedario en minúsculas (.. w, x, y, z)

Ejemplos: Σ: a, b, aa, ab, ba, bb, abcd, aadd

Binario: 011, 11011, 00, 11

ING. JORGE BUABUD

Binario: 011, 11011, 00, 11

Letras: casa, pieza, del, abc

Español: la_casa_es_linda

el_perro_come_alegremente

U.T.N. – F.R.T. S. y S. de los L.

PALABRAS o CADENAS:

LINGÜÍSTICA MATEMÁTICA

� La palabra vacía, que representamos con λ (lambda), es aquella

secuencia que no contiene símbolo alguno.

� Prefijo: secuencia de cero o más símbolos iniciales de una palabra.

� Sufijo: secuencia de cero o más símbolos finales de una palabra.

� Subcadena: secuencia de símbolos obtenida al eliminar un sufijo o un

ING. JORGE BUABUD

prefijo de una palabra.� Σ* representa al conjunto de todas las palabras w formadas por símbolos

de dicho alfabeto, es decir el Conjunto Universal de arreglos con repeticiones de símbolos sobre Σ.

� Σ+ representa al Conjunto Universal sin la palabra vacía.

o sea que: Σ+ = Σ* - { λ }

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

LENGUAJES FORMALES:

LENGUAJE : Cualquier subconjunto L del Conjunto Universal de palabras sobre un alfabeto Σ.

Notación: L1, L2, ….

Ejemplos: Σ: L1 = {a, b, aa, ab, ba, bb, abcd, aadd}

Binario: L2 = {011, 11011, 00, 11}

ING. JORGE BUABUD

Binario: L2 = {011, 11011, 00, 11}

Letras: L3 = {casa, pieza, del, abc}

Español: L4 = {la_casa_es_linda,

el_perro_come_alegremente}

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

LENGUAJES FORMALES:

Podemos decir que: L ⊆⊆⊆⊆ Σ*

Los siguientes son casos particulares significativos:

� El Lenguaje Universal Σ*

ING. JORGE BUABUD

� El Lenguaje Universal Σ*

� El Lenguaje Vacío Ф

� El Lenguaje Lλ = { λ }

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON PALABRAS:

CONCATENACIÓN :

Función con dominio en Σ*x Σ* y rango en Σ* . Tal que dadas las palabras uy v, la concatenación de ucon vda como resultado otra palabra wformada por la secuencia de símbolos de useguida de la secuencia de símbolos de v.

Notación: w = u.v

Propiedades: dadas las palabras {u, v, w} se cumplen las leyes:

ING. JORGE BUABUD

Asociativa: (u.v).w = u.(v.w)

No conmutativa: En general u.v ≠ v.u

Elemento Neutro λ: λ.u = u.λ = u

Ejemplos: Dado el alfabeto Vocal = {a, e, i, o, u} entonces iui . λ = iui

ae . ou = aeou (ieu . aa) . u = ieu . (aa . u) = ieuaau

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON PALABRAS:

POTENCIACIÓN :

Función con dominio en Σ*x N y rango en Σ* . Tal que dada la palabra uy el número natural i, la potencia con base uy exponente ida como resultado otra palabra w formada por una sucesión de ipalabras u.

Notación: w = u

Propiedades:

i

ING. JORGE BUABUD

� Desde un punto de vista práctico la potencia es una forma reducida

de representar la concatenación de una palabra consigo misma.

� Por definición u = λ y u = u

Ejemplos: Dado el alfabeto Binario = {0, 1} entonces

00 = λ 101 = 101101 1 = 111 01 = 0101010101

0 1

0 2 3 5

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON PALABRAS:

LONGITUD :

Función con dominio en Σ* y rango en N. Tal que dada la palabra ula longitud de uda como resultado la cantidad de símbolos que forman la palabra.

Notación: w = | u | = long(u)

Propiedades:

ING. JORGE BUABUD

� La longitud de λ es cero

� | u | representa la cantidad de símbolos aque hay en u

Ejemplos: Dado el alfabeto Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }

long(λ) = 0 | 00110 | = 5 long(1011) = 4 | 01001 | = 3

a

0

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON PALABRAS:

INVERSA:

Función con dominio en Σ* y rango en Σ* . Tal que dada la palabra ula inversa de uda como resultado la imagen especular de u.

Notación: w = u

Propiedades:

� λ = λ

-1

-1

ING. JORGE BUABUD

� Involutiva: (u ) = u

� Si se cumple que: u = u entonces se dice que u es palíndromo

Ejemplos: Dado el alfabeto Letras = { a, b, c, ...., z} entonces: arroz = zorra

y haciendo caso omiso del espacio en blanco y la tilde, las siguientes palabras son palíndromos: “neuquén” ; “adán nada”; “dábale arroz a la zorra el abad” ; “satán sala las natas”

-1 -1

-1

-1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

NOTACIÓN CONJUNTO DE SUBCONJUNTOS:

Para representar el conjunto C2 formado por todos los subconjuntos que se

pueden construir con los elementos de un conjunto C1 se utiliza la siguiente

notación: C2 = 2

La misma se debe al hecho de que la cantidad de subconjuntos que se puede

formar con los elementos de C1 es igual a la potencia de base 2 y exponente

C1

ING. JORGE BUABUD

igual al módulo del conjunto C1. O sea que | C2 | = 2

Por ejemplo dado C1 = {a, b, c} el conjunto de todos los subconjuntos de C1, incluidos el vacío y el propio conjunto C1, es:

C2 = { Ф, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } y | C2 | = 2 = 8

| C1 |

3

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

UNIÓN:

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, la unión entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras de L1 y todas las palabras de L2 sin repeticiones.

Notación: L3 = L1 ∪∪∪∪ L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

ΣΣΣΣ*ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Asociativa: (L1 ∪∪∪∪ L2) ∪∪∪∪ L3 = L1 ∪∪∪∪ (L2 ∪∪∪∪ L3)

Conmutativa: L1 ∪∪∪∪ L2 = L2 ∪∪∪∪ L1

Elemento Neutro Ф: Ф ∪∪∪∪ L1 = L1 ∪∪∪∪ Ф = L1

Ejemplos: Dados L1 = { λ, ba }; L2 = { a, b, ab } y L3 = { aa, ab } entonces:

L1 ∪∪∪∪ L2 = { λ, a, b, ab, ba } L2 ∪∪∪∪ L3 = { a, b, aa, ab }

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

DIFERENCIA :

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, la diferencia entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras de L1 excepto aquellas que pertenezcan también a L2.

Notación: L3 = L1 - L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

ΣΣΣΣ*ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

No Asociativa: (L1 - L2) - L3 ≠ L1 - (L2 - L3)

No Conmutativa: en general L1 - L2 ≠ L2 - L1

Elemento Neutro Ф: L1 - Ф = L1

Ejemplos: Dados L1 = { λ, a, ab }; L2 = { a, b, ba } y L3 = { a, b, ab } entonces: L1 - L2 = { λ, ab } L2 - L3 = { ba } L1 - L3 = { λ }

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

INTERSECCIÓN :

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, la intersección entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras que pertenecen a L1 y que también pertenecen a L2.

Notación: L3 = L1 ∩ ∩ ∩ ∩ L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

ΣΣΣΣ*ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Asociativa: (L1 ∩∩∩∩ L2) ∩∩∩∩ L3 = L1 ∩∩∩∩ (L2 ∩∩∩∩ L3)

Conmutativa: L1 ∩∩∩∩ L2 = L2 ∩∩∩∩ L1

Elemento Neutro Σ*: Σ* ∩∩∩∩ L1 = L1 ∩∩∩∩ Σ* = L1

Ejemplos: Dados L1 = { λ, a, ab }; L2 = { a, b, bb } y L3 = { b, bb, aa }

entonces: L1 ∩∩∩∩ L2 = { a } L2 ∩∩∩∩ L3 = { b, bb } L1 ∩∩∩∩ L3 = Ф

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

COMPLEMENTO :

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, el complemento de L1 da como resultado otro lenguaje L3 formado por todas las palabras que pertenecen a Σ* y que no pertenecen a L1.

Notación: L3 = ∼∼∼∼L1 = L1Propiedades:

_

ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

� ∼∼∼∼L1 = Σ* - L1

� ∼∼∼∼Σ* = Ф y ∼∼∼∼Σ+ = Lλ

� Involutiva: ∼∼∼∼(∼∼∼∼L1) = L1

Ejemplos: Dado L1 = { λ, a, b } entonces: ∼∼∼∼L1 = {todas las secuencias de ay/o bexcepto la palabra

vacía y las palabras unisimbólicas ay b}

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

PRODUCTO O CONCATENACIÓN :

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, el producto o concatenación entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras que resultan de concatenar una palabra de L1 con una palabra de L2 y solo en ese orden.

Notación: L3 = L1 ....L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

ΣΣΣΣ*ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Asociativa: (L1 . L2) . L3 = L1 . (L2 . L3)

No Conmutativa: en general L1 . L2 ≠ L2 . L1

Elemento Neutro Lλ: Lλ . L1 = L1 . Lλ = L1

Ejemplos: Dados L1 = { λ, a }; L2 = { b, bb } y L3 = { aa } entonces:

L1 . L2 = { b, bb, ab, abb } L2 . L3 = { baa, bbaa } L2 . Ф = Ф

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

Notación: L3 = L1 Propiedades:

i

POTENCIACIÓN :

Función con dominio en 2 x N y rango en 2 . Tal que dado el lenguaje L1 y el número natural i mayor o igual que 2, la potencia con base L1 y exponente ida como resultado otro lenguaje L3 formado por el producto de L1 consigo mismo (i - 1) veces.

ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Propiedades: � Desde un punto de vista práctico la potencia es una forma reducida

de representar el producto de un lenguaje consigo mismo.� Por definición L1 = Lλ y L1 = L1

Ejemplos: Dados L1 = { a, b } L2 = { bab, bb, ab }

L1 = { aaa, aab, aba, abb, baa, bab, bba, bbb }

L2 = { babbab, babbb, babab, bbbab, bbbb, bbab, abbab, abbb, abab }

0 1

2

3

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

Notación: L3 = L1 = L1 ∪∪∪∪ L1 ∪∪∪∪ L1 …… = ∪∪∪∪ L1 *

CLAUSURA, CIERRE O ESTRELLA DE KLEENE :

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la operación “L1 estrella” da como resultado otro lenguaje L3 formado por todas las potencias de base L1 y exponente i, desde iigual a cero hasta infinito.

0 21 ∞∞∞∞i = 0

i

ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Propiedades: � (L1 ) = L1 � Por definición Ф = Lλ y Lλ = Lλ

Ejemplos: Dado L1 = { aa, ab, ba, bb }

L1 = { todas las secuencias de ay/o bde long. par incluida la vacía }

* *

*

* * *

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

Notación: L3 = L1 = L1 ∪∪∪∪ L1 ∪∪∪∪ L1 …… = ∪∪∪∪ L1 +

CLAUSURA, CIERRE O ESTRELLA POSITIVA :

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la operación “L1 estrella positiva” da como resultado otro lenguaje L3 formado por todas las potencias de base L1 y exponente i, desde iigual a uno hasta infinito.

1 32 ∞∞∞∞i = 1

i

ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Propiedades: � (L1 ) = L1 � Por definición Ф = Ф y Lλ = Lλ

Ejemplos: Dado L1 = { aa, ab, ba, bb } L2 = { λ, aa, ab, ba, bb }

L1 = { todas las secuencias de ay/o bde long. par }

L2 = L2 = L1

+ +

+

+ + +

+ * *

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

Notación: L3 = L1 Propiedades:

-1

INVERSA:

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la inversa de L1 da como resultado otro lenguaje L3 formado por todas las inversas correspondientes a las palabras de L1.

ΣΣΣΣ*ΣΣΣΣ*

ING. JORGE BUABUD

Propiedades:Distributiva : (L1 . L2) = L2 . L1 (L1*) = (L1 )*Involutiva: (L1 ) = L1

Ejemplos: Dados L1 = { ab, bb } L2 = { aa, ba }

L1.L2 = { abaa, abba, bbaa, bbba}

L2 = { aa, ab } L1 = { ba, bb }

( L1 . L2 ) = { aaba, abba, aabb, abbb } = L2 . L1

-1

-1 -1 -1-1

-1 -1

-1

-1

-1

-1 -1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 1

Dado el alfabeto Letras = { a, b, c, .…, z }

� haciendo caso omiso de las tildes y los espacios en blanco, los siguientes son casos curiosos de palíndromos:ananá, oso, ojo, asa, ala, sus, allá, anilina, reconocer, somos, aérea, rasaratar a la rata, alábala a la bala, anita lava la tina, arroz a la zorra

� diversas palabras del español resultan de concatenar dos o más

ING. JORGE BUABUD

� diversas palabras del español resultan de concatenar dos o más palabras del mimo lenguaje:limpia.para.brisas = limpiaparabrisas bala . cera = balaceracasa . miento = casamiento agua . tero = aguaterorápida . mente = rápidamente villa . nada = villanada

� las siguientes palabras y sus inversas tienen distintos significados:odio, oído, osar, raso, orar, raro, lava, aval, raza, azar, acera, areca

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 2

Dado el alfabeto Sílabas = { ma, mon, mo, ca, co, li, ra, re, ro, ta, to, ja, bron }

� haciendo caso omiso de las tildes tenemos los siguientes palíndromos:

maroma, cólico, retaré, remaré, coco, caca, caraca

� las siguientes palabras y sus inversas tienen significados distintos:

jamón, monja, bronca, cabrón, mora, ramo, coca, caco,

ING. JORGE BUABUD

jamón, monja, bronca, cabrón, mora, ramo, coca, caco,

raco, cora, maca, cama, coma, maco, como, moco,

rata, tara, roca, caro, tomón, monto, rato, tora

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 3

Dado el alfabeto Σ = { a, b, c, …, z, 0, 1, … 9 , _ } se puede definir los siguientes lenguajes unisimbólicos :

Letras = { a, b, c, …. , z }

Dígitos = { 0, 1, 2, 3, …. , 9}

Guión = { _ }

ING. JORGE BUABUD

Guión = { _ }

Combinando convenientemente estos lenguajes se puede representar el conjunto de todos los identificadores de un lenguaje de programación:

Identificador = (Letras ∪∪∪∪ Guión) . (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)*

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 4

En un lenguaje de programación concreto (C++, Delphi, Visual Basic, Java, etc.), los identificadores válidos tienen una longitud máxima. Supongamos que en el ejemplo anterior queremos acotar la longitud en 40. Esto traerá como consecuencia que el lenguaje dejará de ser infinito.

Una solución satisfactoria pero no muy eficiente sería:

Identificador = (Letras ∪∪∪∪ Guión) . ( { λ } ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

ING. JORGE BUABUD

Identificador = (Letras ∪∪∪∪ Guión) . ( { λ } ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión) ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión) ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

∪∪∪∪ ….... ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión) )

32

4 5

39

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

¿Cuántos palabras tiene este lenguaje ? Sigamos el siguiente razonamiento por inducción en el largo de la palabra, suponiendo 26 letras:

Longitud Cantidad

1 27

2 27 37 = 999

ING. JORGE BUABUD

2 27x 37 = 999

3 27x 37 = 36963

k 27x 37

40 27x 37 ≅≅≅≅ 1,445 E+61

2

(k-1)

39

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

Si ahora sumamos todas estas cantidades obtenemos el total de identificadores válidos de longitud menor o igual 40:

Este resultado se puede obtener del producto de 27 por la serie de potencias:

≅≅≅≅ 4,009 E+62

ING. JORGE BUABUD

Este resultado se puede obtener del producto de 27 por la serie de potencias:

X+X + X + ….. + X para n = 39

¿Existe una fórmula para calcular este resultado?

2 3 n

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

¡NO! Porque la potencia no es distributiva con respecto a la suma.Pero se puede hacer el siguiente desarrollo para simplificar el cálculo:

x + x2 + x3 + x4 + x5 = x ( 1 + x + x2 + x3 + x4 ) =

x ( 1 + x ( 1 + x + x2 + x3 ) ) = x ( 1 + x ( 1 + x ( 1 + x + x2 ) ) ) =

ING. JORGE BUABUD

x ( 1 + x ( 1 + x + x2 + x3 ) ) = x ( 1 + x ( 1 + x ( 1 + x + x2 ) ) ) =

x ( 1 + x ( 1 + x ( 1 + x ( 1 + x ) ) ) )

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

Por último veamos como se puede obtener una solución más eficiente para representar este lenguaje:

� En primer lugar consideremos el siguiente caso sencillo:

Dado el alfabeto Σ = { a, b } definimos los lenguajes:

L1 = { a, b } y L2 = { λ, a, b }2

ING. JORGE BUABUD

entonces: L1 = { aa, ab, ba, bb }

L2 = { λ, a, b, aa, ab, ba, bb }

vemos que: L2 = L1 ∪∪∪∪ L1 ∪∪∪∪ L1 podemos concluir que al agregar la palabra vacía a un lenguaje L, logramos que:

(L ∪∪∪∪ Lλ) = L ∪∪∪∪ L ∪∪∪∪ L ∪∪∪∪ …… ∪∪∪∪ L

222 0 1 2

n 0 1 2 n

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

�Aplicando esta propiedad al lenguaje de los identificadores obtenemos una forma simple de acotar la longitud del mismo a 40 símbolos:

Identificador = (Letras ∪∪∪∪ Guión) . (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión ∪∪∪∪ Lλ)39

ING. JORGE BUABUD

Esta misma estrategia se puede utilizar para representar diversos lenguajesque contienen secuencias de caracteres que deben acotarse en su longitud.Por ejemplo cuando queremos definir un campo de datos en un formulariode cualquier índole (nombres, número de legajo, dirección de e-mail, etc.).

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 5

Consideremos un caso similar al anterior pero más complejo.

Supongamos que se debe representar el lenguaje de todas las denominaciones de asignaturas de una carrera, con las siguientes características:

a) Cada componente de la denominación debe comenzar con una letra seguida o no de letras minúsculas y puede terminar o no en un punto.

ING. JORGE BUABUD

b) El primer componente debe comenzar con mayúscula.

c) Debe contener al menos un componente.

d) Si tiene varios componentes deben separarse con un espacio en blanco.

e) La longitud total incluidos puntos y espacios debe ser 45

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación del ejemplo 5

Algunas denominaciones válidas serían:

“Sintaxis y Semántica de los Lenguajes”

“Paradigmas de Prog.”

“Mat. Aplicada I I”

Como vemos, cada componente puede tener una longitud variable y el total

ING. JORGE BUABUD

Como vemos, cada componente puede tener una longitud variable y el total de una denominación no debe superar los 45 símbolos. Esta complicación hace que no sea posible utilizar la estrategia del ejemplo 5.

En este caso se puede recurrir a otro artificio, que consiste en plantear un lenguaje de denominaciones sin límite de longitud e intersectarlo con el lenguaje de todas las secuencias posibles sobre el alfabeto base con longitud no superior a 45.

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación del ejemplo 5

Consideremos el alfabeto base:Σ = { a, … , z, A, … , Z, . ,€€€€} donde €€€€equivale a un espacio en blanco

definamos los siguientes lenguajes unisimbólicos:

L1 = { A, … , Z } L2 = { a, … , z } L3 = { . } L4 = { €€€€}

Entonces el primer lenguaje a intersectar se puede representar así:

ING. JORGE BUABUD

Entonces el primer lenguaje a intersectar se puede representar así:

L5 = L1 . L2* . ( L3 ∪∪∪∪ Lλ ) . ( L4 . (L1 ∪∪∪∪ L2) . L2* . ( L3 ∪∪∪∪ Lλ ) )*el segundo lenguaje, es decir el de todas las secuencias con un máximo de 45:L6 = ( L1 ∪∪∪∪ L2 ∪∪∪∪ L3 ∪∪∪∪ L4 ∪∪∪∪ Lλ )

De tal modo que el lenguaje resultante para solucionar el problema queda:

L7 = L5 ∩∩∩∩ L6

45

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Con el objetivo de estudiar una frase o sentencia, se puede considerar 4 niveles de lenguajes. Esto facilita la tarea de análisis, ya que la divide en fases o etapas que permiten un procesamiento escalonado del lenguaje; desde un menor nivel de complejidad a un mayor nivel de complejidad.

Estos niveles son:

� LEXICOGRÁFICO

ING. JORGE BUABUD

Niveles de un Lenguaje

� LEXICOGRÁFICO

� SINTÁCTICO

� SEMÁNTICO

� PRAGMÁTICO

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Por ejemplo:

Diccionario del Lenguaje de programación C++:

Nivel Lexicográfico: Se refiere al reconocimiento del léxico de un lenguaje o sea la identificación de los símbolos del alfabeto del lenguaje, llamados componentes léxicos. Es lo que normalmente llamamos diccionario. También incluye la clasificación en tipos de componentes léxicos. Cabe destacar que este nivel no depende del contexto.

ING. JORGE BUABUD

Diccionario del Lenguaje de programación C++:

Tipos de componentes léxicos de C++:

palabras claves, delimitadores, operadores, identificadores, números, etc.

main if while switch ( ) + - * num id … … … …

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Sintáctico: Se trata de la forma en la que los componentes léxicos se organizan dentro de una frase o sentencia, es decir la estructura de dicha secuencia de símbolos. Este nivel es independiente o libre del contexto.

Por ejemplo:

Lenguaje de programación C++:

Estructura de una sentencia selectiva

ING. JORGE BUABUD

if ( exp.lógica) sentenciaelse sentencia

Estructura de una sentencia de asignación:

identificador = expresión;

if (N>>>>=0) S1 = S1 + N; else S2 = S2 + N;

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Semántico: Se refiere al significado o connotación de una palabra de un lenguaje. Tiene en cuenta la coherencia de una frase o sentencia. Este nivel es dependiente del contexto.

Por ejemplo:

Lenguaje de programación C++:

Comprobación de Tipos: verificación de la correspondencia entre las

ING. JORGE BUABUD

declaraciones de identificadores y el uso de dichos identificadores.

Observación:En este caso la sentencia es incorrecta semánticamente, ya que se utiliza una variable I de tipo float como índice del arreglo V.

float I , V[100]; void main (void) { I = 12.3 ; V[ I ] = 23.45 ; }

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Pragmático: Tiene que ver con los hechos o acciones que evocan las frases o sentencias de un lenguaje y su utilización por parte de un procesador humano o computacional. Este nivel es dependiente del contexto.

Por ejemplo:

Lenguaje de programación C++:

Una sentencia de entrada implica la espera del dato que ingresa por el

ING. JORGE BUABUD

periférico correspondiente, la toma desde el buffer de dicho periférico, la verificación del formato y de la coherencia del mismo; y almacenamiento en la posición de memoria RAM correspondiente al identificador de la variable.

Observación:Para que no se produzca un error pragmático, en tiempo de ejecución, el operador debe introducir un dato de tipo numérico.

float N1; void main(void) { scanf ( “ % f ”, &N1 ); }