stringtranslate.com

Concatenación

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 un extremo a otro. Por ejemplo, la concatenación de "nieve" y "bola" 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 y en algunos se escribe sin operador. Esto se implementa de diferentes maneras:

Implementación

En programación, la concatenación de cadenas generalmente ocurre en tiempo de ejecución, ya que los valores de las cadenas generalmente no se conocen hasta el tiempo de ejecución. Sin embargo, en el caso de cadenas literales, 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 cadenas literales 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 S 1 y S 2 , la concatenación S 1 S 2 consta de todas las cadenas de la forma vw donde v es una cadena de S 1 y w es una cadena de S 2 , o formalmente S 1 S 2 = { vw  : vS 1 , wS 2 } . Muchos autores también utilizan la concatenación de un conjunto de cadenas y una sola cadena, y viceversa, que se definen de manera similar por S 1 w = { vw  : vS 1 } y vS 2 = { vw  : wS 2 } . En estas definiciones, la cadena vw es la concatenación ordinaria de las 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} , entonces FR denota el conjunto de todas las coordenadas del tablero de ajedrez en notación algebraica , mientras que e R denota el conjunto de todas las coordenadas de la columna de reyes .

En este contexto, los conjuntos de cadenas suelen denominarse lenguajes formales. El operador de concatenación suele expresarse como yuxtaposición simple (como ocurre con la multiplicación ).

Propiedades algebraicas

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

Conjuntos de cadenas con concatenación y alternancia forman un semianillo , con concatenación (*) distribuyéndose sobre alternancia (+); 0 es el conjunto vacío y 1 el conjunto que consta únicamente de la cadena nula.

Aplicaciones

Audio/telefonía

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

Las grabaciones en sí existen por separado, pero reproducirlas una tras otra proporciona al oyente una frase gramaticalmente correcta.

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

La programación para cualquier tipo de sistema de megafonía computarizado también puede emplear concatenación para anuncios públicos dinámicos (por ejemplo, vuelos en un aeropuerto). El sistema archivaría discursos grabados 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 característica única del tema de la tabla, lo que significa que no deben contener cadenas concatenadas. Cuando se desea concatenación en un informe, se debe proporcionar 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 de edificio, el nombre de la calle, el número de 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 utilizar 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 requiere mucha mano de obra. Ingresar por separado la ciudad, el estado, el código postal y la nación permite la validación del ingreso de datos (como detectar una abreviatura de estado no válida). Luego, esos elementos separados se pueden usar para ordenar o indexar los registros, como todos los que tienen "Boulder" como nombre de ciudad.

Matemáticas recreativas

En matemáticas recreativas , muchos problemas se refieren a las propiedades de los números bajo concatenación de sus numerales en alguna base . Los ejemplos incluyen los números primos locales (primos obtenidos factorizando repetidamente la concatenación creciente de factores primos de un número dado), los 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 números enteros positivos y primos, respectivamente).

Ver también

Referencias

  1. ^ "Operadores de concatenación en Visual Basic". Guía de .NET Visual Basic Características del lenguaje: Operadores y expresiones . Microsoft. 2015.
  2. ^ "SQL | Operador de concatenación". geeksforgeeks.org . Consultado el 11 de agosto de 2023 .
  3. ^ "Operador de concatenación". Documentación en línea de la base de datos Oracle, 10g versión 2 (10.2) / Administración: referencia de la base de datos SQL . Oráculo.