Anda di halaman 1dari 2

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.
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