UNIVERSIDAD LATINA UNILA I ESTUDIO DE LOS LENGUAJES
- Slides: 26
UNIVERSIDAD LATINA (UNILA) I. - ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN. LE, EI, Profesor Ramón Castro Liceaga
Alfabetos y lenguajes Autómatas y lenguajes formales. • Autómata generador de cadena del lenguaje. • Son mecanismos formales que realizan derivaciones en gramáticas formales, se realizan mediante la noción del reconocimiento. • Una palabra es generada en una gramática si y solo si la palabra hace transitar al autómata correspondiente a sus condiciones terminales. • Los lenguajes y las gramáticas computacionales se pueden ver como una jerarquía que va de lo más simple a lo más complejo.
Definición de alfabeto • Un alfabeto se puede definir como el conjunto no vacío y finito de todos los símbolos válidos o posibles para una aplicación. Por tanto, en el campo de los autómatas, un alfabeto está formado por todos los caracteres que utiliza para definir sus entradas, salidas y estados. • El abecedario español se compone de las siguientes 27 letras: a, b, c, d, e, f, g, h, i, j, k, l, m, n, ñ, o, p, q, r, s, t, u, v, w, x, y, z. • Los nombres de las letras ll, v y y son elle, uve y ye respectivamente. Cabe destacar que la ll no se considera parte del alfabeto, dado que surge de la combinación de dos letras.
Practica 01. - de alfabeto • Desarrolla un programa en C, C++ que escriba el abecedario con su mayúscula y minuscula en un fondo rojo.
Definición de palabra • Una secuencia finita de símbolos de un determinado alfabeto se conoce como palabra sobre dicho alfabeto. • Por ejemplo las palabras clave y reservadas y símbolos especiales del lenguaje C o C++.
Definición de palabra Palabra reservada: PALABRAS CLAVE void main int short int unsigned int long int unsigned long float double long double char NULL __abstract 2 __assume __cdecl __event __finally __hook 3 __if_not_exists __int 32 SIMBOLOS ESPECIALES • • n Nueva línea t Tabulación horizontal b Espacio atrás r Retorno de carro f Salto de página \ Barra invertida ' Comilla simple " Comilla doble
Definición de cadena vacía • Se dice que una cadena es vacía cuando la longitud del conjunto de caracteres que utiliza es igual a cero, es decir, es una cadena que no tiene caracteres asociados.
Definición de lenguaje • Se puede definir un lenguaje como un conjunto de cadenas que obedecen a un alfabeto fijado.
Gramáticas formales • Son estructuras que tienen la habilidad de generar las palabras que forman un lenguaje formal. • Una gramática formal es, básicamente, un conjunto de producciones, es decir: reglas de re-escritura que se aplican para obtener cada una de las palabras del lenguaje formal que la gramática formal en cuestión genera. Una gramática formal genera un determinado lenguaje formal y, obviamente, sus sub lenguajes. Pero lo importante es el lenguaje formal total que genera.
Definición de lenguaje formal • Un lenguaje formal, sea finito o infinito, es un conjunto de palabras con una connotación sintáctica, sin semántica (sigmatica).
Lenguajes regulares y expresiones regulares Sea S un alfabeto. El conjunto de los lenguajes regulares sobre S se define recursivamente como sigue: 1. es un lenguaje regular 2. {e} es un lenguaje regular 3. Para todo a Î S {a} es un lenguaje regular 4. Si A y B son lenguajes regulares, entonces A È B, A · B , A* son lenguajes regulares 5. Ningún otro lenguaje sobre S es regular.
ejemplo Por ejemplo. El lenguaje de todas las cadenas sobre {a, b, c} que no tienen ninguna subcadena ac es un lenguaje regular, y puede expresarse por A = {c}* ({a} È {b}{c}*)*
Simplificación Se puede simplificar la notación mediante el uso de expresiones regulares. Las equivalencias son: a È b denota {a} È {b} ab denota {ab} a* denota {a}* a+ denota {a}+ Ejemplo: A = {c}* ({a} È {b}{c}*)* = c* (a È bc*)*
Expresiones regulares Los operadores tienen precedencia (*, · , È). Entonces, una expresión regular sobre el alfabeto S, es 1. y e son expresiones regulares. 2. a es una expresión regular para todo a Î S. 3. Si r y s son expresiones regulares, entonces r È s, r · s , r* también lo son. 4. Ninguna otra secuencia de símbolos es una expresión regular.
Jerarquización de gramáticas • Las gramáticas pueden ser de distintos tipos de gramáticas, de acuerdo con las características que rigen la formulación de reglas de producción válidas, todos los cuales parten de las gramáticas arbitrarias que son aquellas que consideran la existencia infinita de cadenas formadas por los símbolos del lenguaje.
Jerarquización de gramáticas • Esta jerarquización puede ser: • - Gramáticas sensibles al contexto. Este tipo de gramáticas tiene la característica de que el lado derecho de la regla de producción siempre debe ser igual o mayor que el lado izquierdo. • - Gramáticas independientes del contexto. Es aquella que cumple con las propiedades de la gramática sensible al contexto y que, además, tiene la característica de que el lado izquierdo de la regla de producción sólo debe tener un elemento y éste no puede ser un elemento terminal. • - Gramáticas regulares. Es aquella que cumple con las características de la gramática independiente del contexto y, además, se restringe a través de las reglas de producción para generar sólo reglas de los dos tipos anteriores.
Lenguajes independientes del contexto
Lenguajes independientes del contexto. - Ejemplos
Modelo • Un modelo es una especificación, algunas veces en término de un lenguaje matemático, de los pasos necesarios para reproducir un subconjunto determinado de la realidad previamente descrita. Un modelo parte siempre de la descripción de lo que se representa.
Máquina de Turing Se puede ver como una colección de celdas de almacenamiento que se extienden infinitamente en ambas direcciones (derecha/izquierda) como una cinta infinita. • Cada celda es capaz de almacenar un único símbolo • Tiene capacidad de almacenamiento ilimitado • Los contenidos de las celdas se pueden acceder en cualquier orden • Tiene una cabeza de lectura/escritura que puede moverse sobre la cinta (leer y escribir un símbolo) La Maquina de Turing es un aceptador de lenguajes (Modelo clásico de una computadora)
• Alan Turing 1936. - Fue un matemático, informático teórico, inglés. Uno de los padres de la Ciencia de la computación siendo el precursor de la informática moderna. Proporcionó una influyente formalización de los conceptos de algoritmo y computación: la máquina de Turing. Formuló la Tesis de Church-Turing, la cual postula que cualquier modelo computacional existente tiene las mismas capacidades algorítmicas, o un subconjunto, de las que tiene una máquina de Turing (MT = algoritmos + modelo computacional)
MAQUINA DE TURING (MT) • Es modelo formal de un computador • Es un modelo computacional que realiza una lectura/escritura de manera automática sobre una entrada llamada cinta, generando una salida en esta misma. CINTA => L/E => CINTA • Con este aparato extremadamente sencillo es posible realizar cualquier cómputo que un equipo digital sea capaz de realizar
ELEMENTOS DE LA MAQUINA DE TURING (MT) Este modelo está conformado por: • un alfabeto (conjunto de letras) de entrada y uno de salida • un símbolo especial llamado blanco (normalmente b, Δ o 0) • un conjunto de estados finitos • un conjunto de transiciones entre dichos estados (inicio / fin).
DEFINICIÓN FORMAL
Resolubilidad • Los problemas de decisión si, no son resolubles si existe un algoritmo que sea capaz de responder si o no a cada uno de los casos. • Si el algoritmo no existe, se dice que el problema es irresoluble. • El problema irresoluble mas conocido es el problema de parada para una Máquina de Túring donde • Sea M una máquina de Turing arbitraria con un alfabeto de entrada Σ. Sea w Є Σ. Parará M con la cadena w como cadena de entrada ?
Complejidad computacional. • Se mide por la cantidad de espacio y tiempo que consume. La computación eficiente requiere cadenas de algún lenguaje y puede depender del tamaño o longitud de la cadena de entrada.
- Universidad latina
- Universidad latina
- "universidad latina"
- Universidad latina de panama sede david
- Universidad latina campus sur
- Makalah pkkmb unila
- Sigaa unila
- Fakultas kedokteran gigi unila
- Lenguajes expresivos en los niños
- Mapa conceptual lenguajes de programacion
- Generaciones de los lenguajes de programacion
- Estudio visual de movimientos
- Estudio de los signos
- Valores metafisicos
- Atributos morales y naturales de dios
- Los filisteos devuelven el arca
- Lenguajes libres de contexto
- Gramaticas independientes del contexto
- Ejemplos de lenguajes de bajo nivel
- Lenguajes de marcado
- Lenguajes de descripción de hardware (hdl)
- Tabla de simbolos lenguajes y automatas
- Gramática libre de contexto ejercicios resueltos
- Tipos de lenguajes culturales
- Idiomas en que fue escrita la biblia
- Lenguajes de bajo nivel
- Que es dcl