Figure: Lenguajes. Generaciones de lenguajes de programación.
Lenguajes
-
Upload
universidad-nacional-de-la-matanza -
Category
Education
-
view
3.420 -
download
1
Transcript of Lenguajes
Prof.Lic.Teresa Fernández
LENGUAJES
Prof.Lic.Teresa Fernández
SÍMBOLO:
La idea de símbolo es un concepto primario y por tanto indefinible (como el
concepto de punto o recta en Geometría). Diremos que es cualquier tipo de
carácter escrito.
Ejemplos:
a,*, 2, α, ta, son 5 símbolos.
ALFABETO o VOCABULARIO
Un alfabeto es un conjunto finito de símbolos. Lo nombramos con la letra V
Ejemplos:
V1={ z ,ʎ , b , a,c,d}
V2={1 ,0, 2 }
V3={da , ca , ba , la }
V4={a}
Prof.Lic.Teresa Fernández
PALABRA o HILERA
Dado un alfabeto V una palabra sobre dicho alfabeto es la yuxtaposición
finita de símbolos del alfabeto. Representamos una palabra genérica con la
letra griega ω
Ejemplos:
zaza, zzzzzzz, baz, cada son palabras de V1
1010101,12121, 00021, son hileras formadas por V2
cada, bacada, dada, pertenecen al V3
a,aa,aaaa,aaaaa son palabras de V4
calo no es hilera formada por ninguno de los vocabularios anteriores
Prof.Lic.Teresa Fernández
LONGITUD DE UNA PALABRA.
Número de símbolos de la hilera. Se escribe |ω |=long w
Ejemplos:
“Camisa” tiene longitud 6
“Cada” tiene longitud 4 si la consideramos en V 1, pero tiene longitud 2 si la
consideramos en el vocabulario V3
PALABRA VACÍA
Por convenio se acepta que sobre cualquier alfabeto existe una palabra que
llamamos palabra vacía, cuya longitud es 0 y que denotamos por λ .
λ no es un espacio en blanco, es sólo un concepto.
• La palabra vacía pertenece a todos los lenguajes universales de todos los
alfabetos posibles.
Prof.Lic.Teresa Fernández
UNIVERSO DE UN ALFABETO
El conjunto de todas las palabras sobre un alfabeto V , incluida la palabra
vacía, recibe el nombre de universo del alfabeto y se representa por V*
Si no contiene a la palabra vacía será V+
Es decir:
LENGUAJE.
• Dado un alfabeto V, un lenguaje sobre V , L, es un conjunto de palabras sobre
dicho alfabeto, es decir un subconjunto de V* .
Es decir L V*
En particular el conjunto de todas las palabras de V* es un lenguaje.
*V
V
Prof.Lic.Teresa Fernández
LENGUAJE VACÍO
El conjunto vacío Ǿ es un lenguaje, que por propiedad está incluido en todos los
lenguajes. Su cardinal es 0
LENGUAJE NULO
Es el conjunto {λ} = L cuya única palabra es la palabra vacía .
Su cardinal es 1
Todo lo anterior es válido para cualquier alfabeto V
Prof.Lic.Teresa Fernández
Operaciones con Palabras
• CONCATENACIÓN:
¨Si x e y son palabras, la concatenación, x.y es una palabra formada por los
símbolos de x seguidos por los símbolos de y.
Ejemplo:
Sea V = {0,1} alfabeto binario, sean v, w e y palabras de V*
Sea v=0111
Sea w=1110
Sea y=vw léase y = v contatenado con w, por lo que resulta y = 01111110
Prof.Lic.Teresa Fernández
• INVERSIÓN
Sea ω una palabra sobre cierto alfabeto V. Llamamos inversa (o reflejada) de la palabra ω,
y la representamos por wR a la palabra obtenida al escribir los símbolos que
constituyen la palabra ω en orden inverso.
Ejemplo:
Sea w = abc entonces wR = cba
POTENCIACIÓN:
Si concatenamos n veces una cadena x, es decir xxxxxx.... x n veces,obtendremos x.n
Ejemplos:
si concatenamos 2 veces la cadena x, obtendremos x².
si concatenamos 3 veces la cadena x, obtendremos x³.
Ejemplo
V={9,2,%,&}
w= 9&%2
w3=9&%29&%29&%2
Prof.Lic.Teresa Fernández
PROPIEDADES DE LA CONCATENACIÓN DE PALABRAS.
i) No es conmutativa, en general no es lo mismo uv que vu.
ii) Es asociativa, es decir cualesquiera que sean las palabras u, v y w sobre el
mismo
alfabeto, se tiene que (uv)w = u(vw).
Esta propiedad nos permite concatenar cualquier número finito de palabras sin
tener que poner los paréntesis. Escribiremos uvw.
iii) |uv|=|u|+|v| es decir la longitud de la palabra formada por la concatenación de
dos
palabras, es la suma de las longitudes de cada una de ellas.
iv) La palabra vacía es el elemento neutro de la concatenación. En efecto
uλ=λu =u.
Prof.Lic.Teresa Fernández
• PROPIEDADES DE LA INVERSIÓN Y LA POTENCIACIÓN
i) La palabra inversa de la concatenación de dos palabras es la concatenación de
las palabras inversas en orden contrario
Es decir:
(w.x)R=xR.wR
ii) long w = long wR
es decir, la longitud de una palabra y su inversa coinciden siempre.
iii) long wn=n. long w
iv) Si la palabra es un palíndromo: wR=w
Ejemplo:
w= neuquen
wR= neuquen
Prof.Lic.Teresa Fernández
Operaciones con Lenguajes
• CONCATENACIÓN:
Dados dos lenguajes L1 y L2, su concatenación,
L1 . L2 contendrá todas las palabras que se puedan formar por la
concatenación de una Palabra de L1 y otra de L2.
Ejemplo: Dados L1 = { nana, napa, lana} y
L2 = { ʎ , nana, napa, pana, palabra, papa, pala}
L1 . L2 = { nana, napa, lana, nananana, napanana, ...........}
Prof.Lic.Teresa Fernández
POTENCIACIÓN:
Corresponde a la concatenación i veces del lenguaje en él mismo;
L = L . L . L ..... L i veces
Ejemplo: Dado L1 = { 0, 1} entonces
L² = { 00, 01, 10, 11 }
INVERSIÓN
está formada por la aplicación de la inversión a cada una de las palabras del
lenguaje; L R = { x R tal que x ε L }
Ejemplo: Dado L = { 30, 001 , 00, 10 }, entonces
L R = { 03, 100, 00, 01 }
Prof.Lic.Teresa Fernández
• UNIÓN
Dados dos lenguajes L1 y L2, su unión L1 U L2 contendrá todas las palabras que
pertenezcan a cualquiera de los dos lenguajes,
L1 U L2 = { x tal que x ε L1 ó x ε L2 }
Ejemplo: Dados L1 = { corre ,lento, nene} y L2 = { ʎ, corre,pana, pala}
L1 U L2 = { ʎ, corre,lento,nene, pana,pala}
• INTERSECCIÓN
Dados dos lenguajes L1 y L2, su intersección L1 ∩ L2 contendrá todas las palabras que
pertenezcan a los dos lenguajes;
L1 ∩ L2 = { x tal que x ε L1 y x ε L2 }
Ejemplo: Dados L1 = { corre ,lento, nene} y L2 = { ʎ, corre,lento,nene, pana,pala}
• L1 ∩ L2 = { corre }
•
Prof.Lic.Teresa Fernández
DIFERENCIA ( RESTA)
Si L1 y L2 son lenguajes L1 - L2, contendrá todas las palabras que pertenezcan a
L1 y no pertenezcan a L2 ,
L1 - L2 = { x tal que x L1 y x L2 }
Ejemplo: Dados L1 = { corre ,lento, nene} y
• L2 = { ʎ, corre,pana,pala}
• L1 - L2 = { lento, nene}
• L2 - L1 = { ʎ , pana,pala}
Prof.Lic.Teresa Fernández
CLAUSURA DE KLEENE
Sea V un alfabeto, sea N el conjunto de los números naturales, sea n
ε N U {0} y sea L un lenguaje de V* entonces:
L* = Lº U L¹ U L² U L³ U....U L es la clausura de Kleene del
lenguaje L.
CLAUSURA POSITIVA
Sea V un alfabeto, sea N el conjunto de los números naturales, sea n ε N y
sea L un lenguaje de V* entonces:
L = L¹ U L² U L³ U....U L es la clausura de positiva del lenguaje L.
*
0
iL Li
1
iL Li
Prof.Lic.Teresa Fernández
OBSERVACIONES:
Si bien un alfabeto V es un conjunto finito, V* es siempre un conjunto infinito
(enumerable).
En el caso más simple, V contiene solo un símbolo, por ejemplo:
V= {a} y V*= {λ,a,aa,aaa,aaaa,aaaaa,...}
Hay que distinguir entre los siguientes objetos, que son todos diferentes entre sí:
ϕ: lenguaje vacío
λ hilera vacía
{ϕ} conjunto formado por el lenguaje vacío
{λ}: lenguaje nulo
Y las siguientes potencias:
. w0= λ V0={λ} L0={λ}