Concatenación

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En la teoría del lenguaje formal y la programación informática, la concatenación de cadenas es la operación de unir cadenas de caracteres de extremo a extremo. Por ejemplo, la concatenación de "nieve" y "pelota" es "bola de nieve". En ciertas formalizaciones de la teoría de la concatenación, también llamada teoría de cuerdas, la concatenación de cuerdas es una noción primitiva.

Sintaxis

En muchos lenguajes de programación, la concatenación de cadenas es un operador infijo binario. El operador + (más) a menudo se sobrecarga para indicar la concatenación de argumentos de cadena: "Hola, " + "Mundo" tiene el valor "Hola, Mundo". En otros lenguajes hay un operador separado, particularmente para especificar la conversión de tipo implícito a cadena, a diferencia del comportamiento más complicado para el plus genérico. Los ejemplos incluyen . en Edinburgh IMP, Perl y PHP, .. en Lua y & en Ada, AppleScript y Visual Basic. Existe otra sintaxis, como || en PL/I y Oracle Database SQL.

En algunos lenguajes, especialmente C, C++ y Python, existe una concatenación de cadenas literales, lo que significa que las cadenas literales adyacentes se concatenan, sin ningún operador: "Hola, " "Mundo" tiene el valor "Hola, Mundo". En otros lenguajes, la concatenación de literales de cadena con un operador se evalúa en el momento de la compilación, a través del plegado constante, aunque esto suele ser un detalle de implementación del compilador, en lugar de una característica del lenguaje.

Implementación

En programación, la concatenación de cadenas generalmente ocurre en el tiempo de ejecución, ya que los valores de las cadenas normalmente no se conocen hasta el tiempo de ejecución. Sin embargo, en el caso de los literales de cadena, los valores se conocen en el momento de la compilación y, por lo tanto, la concatenación de cadenas se puede realizar en el momento de la compilación, ya sea mediante la concatenación de literales de cadena o mediante el plegado constante.

Concatenación de conjuntos de cadenas

En la teoría del lenguaje formal y la coincidencia de patrones (incluidas las expresiones regulares), la operación de concatenación en cadenas se generaliza a una operación en conjuntos de cadenas de la siguiente manera:

Para dos conjuntos de cadenas S1 y S2, la concatenación S1S2 consta de todas las cadenas de la forma vw donde < i>v es una cadena de S1 y w es una cadena de S2, o formalmente S1S2 = { vw: vS1, wS2 . Muchos autores también usan la concatenación de un conjunto de cadenas y una sola cadena, y viceversa, que se definen de manera similar por S1 w = { vw: vS1 } y vS2 = { vw: wS< sub>2 . En estas definiciones, la cadena vw es la concatenación ordinaria de cadenas v y w como se define en la sección introductoria.

Por ejemplo, si F = { a, b, c, d, e, f, g, h } y R = { 1, 2, 3, 4, 5, 6, 7, 8 }, luego FR denota el conjunto de todos coordenadas del tablero de ajedrez en notación algebraica, mientras que eR denota el conjunto de todas las coordenadas de los reyes' archivo.

En este contexto, los conjuntos de cadenas a menudo se denominan lenguajes formales. El operador de concatenación generalmente se expresa como una yuxtaposición simple (como con la multiplicación).

Propiedades algebraicas

Las cadenas sobre un alfabeto, con la operación de concatenación, forman una estructura algebraica asociativa con el elemento de identidad la cadena nula, un monoide libre.

Los conjuntos de cadenas con concatenación y alternancia forman un semicírculo, con la concatenación (*) distribuyéndose sobre la alternancia (+); 0 es el conjunto vacío y 1 el conjunto que consiste solo en la cadena nula.

Aplicaciones

Audio/telefonía

En la programación de telefonía, la concatenación se utiliza para proporcionar comentarios de audio dinámicos a un usuario. Por ejemplo, en una "hora del día" reloj parlante, la concatenación se usa para dar la hora correcta reproduciendo las grabaciones apropiadas concatenadas juntas. Por ejemplo:

  • "En el tono será el momento"
  • "Verdad"
  • "Treinta"
  • "Five"
  • "y"
  • "Twenty"
  • "Five"
  • "Seconds"

Las grabaciones en sí existen por separado, pero reproducirlas una tras otra proporciona una oración gramaticalmente correcta para el oyente.

Esta técnica también se usa en anuncios de cambio de número, sistemas de correo de voz o la mayoría de las aplicaciones de telefonía que brindan comentarios dinámicos a la persona que llama (por ejemplo, moviefone, tellme y otros).

La programación para cualquier tipo de sistema de megafonía computarizado también puede emplear la concatenación para anuncios públicos dinámicos (por ejemplo, vuelos en un aeropuerto). El sistema archivaría el habla grabada de números, rutas o aerolíneas, destinos, horarios, etc. y los reproduciría en una secuencia específica para producir una oración gramaticalmente correcta que se anuncia en toda la instalación.

Teoría de bases de datos

Uno de los principios del diseño de bases de datos relacionales es que los campos de las tablas de datos deben reflejar una sola característica del tema de la tabla, lo que significa que no deben contener cadenas concatenadas. Cuando se desea la concatenación en un informe, debe proporcionarse en el momento de ejecutar el informe. Por ejemplo, para mostrar la dirección física de un determinado cliente, los datos pueden incluir el número del edificio, el nombre de la calle, el número de la subunidad del edificio, el nombre de la ciudad, el nombre del estado/provincia, el código postal y el nombre del país, por ejemplo, " 123 Fake St Apt 4, Boulder, CO 80302, USA", que combina siete campos. Sin embargo, la tabla de datos de clientes no debe usar un campo para almacenar esa cadena concatenada; más bien, la concatenación de los siete campos debería ocurrir al ejecutar el informe. La razón de tales principios es que sin ellos, la entrada y actualización de grandes volúmenes de datos se vuelve propensa a errores y laboriosa. Ingresar por separado la ciudad, el estado, el código postal y la nación permite la validación de la entrada de datos (como detectar una abreviatura de estado no válida). Luego, esos elementos separados se pueden usar para clasificar o indexar los registros, como todos con "Boulder" como el nombre de la ciudad.

Matemáticas recreativas

En las matemáticas recreativas, muchos problemas se refieren a las propiedades de los números bajo la concatenación de sus numerales en alguna base. Los ejemplos incluyen números primos caseros (primos obtenidos al factorizar repetidamente la concatenación creciente de factores primos de un número dado), números de Smarandache-Wellin (las concatenaciones de los primeros números primos) y las constantes de Champernowne y Copeland-Erdős (los números reales formados por las representaciones decimales de los enteros positivos y los números primos, respectivamente).

Contenido relacionado

UCSD Pascual

UCSD Pascal es un sistema de lenguaje de programación Pascal que se ejecuta en el UCSD p-System, un sistema operativo portátil y altamente independiente de...

Protocolo de mensajes de control de Internet

El Protocolo de mensajes de control de Internet es un protocolo de soporte en el conjunto de protocolos de Internet. Los dispositivos de red, incluidos los...

Instituto de Ciencias de la Información

El Instituto de Ciencias de la Información de la USC es un componente de la Escuela de Ingeniería Viterbi de la Universidad del Sur de California y se...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save