Teoría de la Computación

3
Teoría de la Computación 30 de septiembre de 2009 Símbolo Un símbolo es la representación perceptible de una idea, con rasgos asociados por una convención socialmente aceptada. Es un signo sin semejanza ni contigüidad, que solamente posee un vínculo convencional entre su significante y su denotado, además de una clase intencional para su designado. El vínculo convencional nos permite distinguir al símbolo del icono como del índice y el carácter de intención para distinguirlo del nombre. Los símbolos son pictografías con significado propio. Muchos grupos tienen símbolos que los representan; existen símbolos referentes a diversas asociaciones culturales: artísticas, religiosas, políticas, comerciales, deportivas, etc. Cadena de caracteres En matemáticas o en programación, una cadena de caracteres, palabra, ristra de caracteres o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos). En matemáticas es habitual usar las letras w, x, y,... para referirnos a las cadenas. Por ejemplo, si tenemos un alfabeto Σ = a,b,c, una cadena podría ser x = aacbbcba. Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc). En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en inglés). Las cadenas se pueden almacenar físicamente: Ø Seguidas. Ø Enlazadas letras a letra. Generalmente son guardados un carácter a continuación de otro por una cuestión de eficiencia de acceso. Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía; en teoría de autómatas es común denotar a la misma por medio de la letra griega ε. Operaciones con cadenas

description

Uploaded from Google Docs

Transcript of Teoría de la Computación

Page 1: Teoría de la Computación

Teoría de la Computación 30 de septiembre de 2009

  Símbolo Un símbolo es la representación perceptible de una idea, con rasgos asociados por una convención socialmente aceptada. Es un signo sin semejanza ni contigüidad, que solamente posee un vínculo convencional entre su significante y su denotado, además de una clase intencional para su designado. El vínculo convencional nos permite distinguir al símbolo del icono como del índice y el carácter de intención para distinguirlo del nombre. Los símbolos son pictografías con significado propio. Muchos grupos tienen símbolos que los representan; existen símbolos referentes a diversas asociaciones culturales: artísticas, religiosas, políticas, comerciales, deportivas, etc. Cadena de caracteres   En matemáticas o en programación, una cadena de caracteres, palabra, ristra de caracteres o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).   En matemáticas es habitual usar las letras w, x, y,... para referirnos a las cadenas. Por ejemplo, si tenemos un alfabeto Σ = a,b,c, una cadena podría ser x = aacbbcba.   Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc). En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en inglés). Las cadenas se pueden almacenar físicamente:  

Ø       Seguidas. Ø       Enlazadas letras a letra.

  Generalmente son guardados un carácter a continuación de otro por una cuestión de eficiencia de acceso.   Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía; en teoría de autómatas es común denotar a la misma por medio de la letra griega ε. Operaciones con cadenas   Siguiendo en el ámbito de la informática, al considerar las cadenas como un tipo de datos, hay que definir (o conocer) cuales son las operaciones que podemos hacer con ellas, en principio éstas podrían ser muchas y llegar a ser muy sofisticadas, aquí se exponen algunas de ellas:  

Ø       Asignación: Consiste en asignarle una cadena a otra. Ø       Concatenación: Consiste en unir dos cadenas o más (o una cadena con un carácter) para formar una cadena de mayor tamaño. Ø       Búsqueda: Consiste en localizar dentro de una cadena una subcadena más pequeña o un carácter. Ø       Extracción: Se trata de sacar fuera de una cadena una porción de la misma según su posición dentro de ella. Ø       Comparación: Se utiliza para comparar dos cadenas.

  Lenguaje formal En matemáticas, lógica, y ciencias de la computación, un lenguaje formal es un conjunto de palabras (cadenas de caracteres) de longitud finita en los casos más simples o expresiones válidas (formuladas por palabras) formadas a partir de un alfabeto (conjunto de caracteres) finito. El nombre lenguaje se justifica porque las estructuras que con este se forman tienen reglas de buena formación (gramática) e interpretación semántica (significado) en una forma muy similar a los lenguajes hablados o naturales.

Page 2: Teoría de la Computación

Un posible alfabeto sería; y una cadena cualquiera sobre este alfabeto sería, por ejemplo, . Un lenguaje sobre este alfabeto, que incluyera esta cadena, sería: el conjunto de todas las

cadenas que contienen el mismo número de símbolos que . La palabra vacía (esto es, la cadena de longitud cero) se permite en este tipo de lenguajes, notándose frecuentemente mediante , ó . A diferencia de lo que ocurre con el alfabeto (que es un conjunto finito) y con cada palabra (que tiene una longitud también finita), un lenguaje puede estar compuesto por un número infinito de palabras.

Ejemplos de lenguajes formales

·        Un conjunto de todas las palabras sobre .

·        El conjunto es un número primo.

·        El conjunto de todos los programas sintácticamente válidos en un determinado lenguaje de programación.

·        El conjunto de sentencias bien formadas en lógica de predicados.

Especificación de lenguajes formales [editar] Los lenguajes formales se pueden especificar de una amplia variedad de formas, como por ejemplo:

·        Cadenas producidas por una gramática formal (véase Jerarquía de Chomsky).

·        Cadenas producidas por una expresión regular.

·        Cadenas aceptadas por un autómata, tal como una máquina de Turing.

    Página 1

      Antonio Acosta Murillo                            Ing. Sistemas Computacionales