Diferencia entre revisiones de «Tupla»

Contenido eliminadoContenido añadido
Sin resumen de edición
Etiquetas:posible problemaEdición visual
Función de sugerencias de enlaces: 3 enlaces añadidos.
(No se muestran 16 ediciones intermedias de 12 usuarios)
Línea 1:
En [[matemáticas]], una '''tupla o upla '''es una lista (secuencia) ordenada y finita de elementos.
{{PA|referencias adicionales|estilo|estructura|enmarañado|matemáticas|informática|t=20200425092529}}
En [[matemáticas]], si ''n'' es un [[número natural]], entonces una '''n-upla''', también hola,te observo '''n-tupla''', es una [[Secuencia (matemáticas)|secuencia]] o lista ordenada [[Conjunto finito|finita]] de '''''n''''' objetos, y estos elementos se dice que son sus componentes. Si llamamos <math>a1</math> al primero de estos componentes, <math>a2</math> al segundo y así sucesivamente hasta <math>n</math> la n-ésima, se designa a la n-tupla correspondiente con la notación <math>(a1, a2,..., an)</math>. La única 0-tupla es la secuencia vacía. Una n-tupla se define inductivamente desde la construcción de un [[par ordenado]].<ref>{{Cita libro|título=Matemáticas para el análisis económico|url=https://books.google.com.ar/books?id=XlpLXmLrt20C&pg=PA304#v=onepage&q&f=false|editorial=Pearson Educación|fecha=1996|fechaacceso=25 de abril de 2020|isbn=978-0-13-240615-4|idioma=es|nombre=Knut|apellidos=Sydsaeter|nombre2=Peter|apellidos2=Hammond}}</ref><ref>{{Cita libro|título=Álgebra y geometría lineal|url=https://books.google.com.ar/books?id=WarMTHijc3IC&pg=PA49&lpg=PA49|editorial=Reverte|fecha=2007|fechaacceso=25 de abril de 2020|isbn=978-84-291-5038-4|idioma=es|nombre=Andrés|apellidos=Raya|nombre2=Rafael|apellidos2=Rubio}}</ref>
* Una ''n''-tupla es una secuencia (o lista ordenada) de ''n'' elementos, donde ''n'' es un [[Número natural|número entero no negativo]].
Las tuplas suelen anotarse listando sus elementos entre paréntesis «<math>(\text{ })</math>», separados por comas. Por ejemplo, <math>(2, 7, 4, 1, 7)</math> denota una 5-tupla. A veces se usan otros delimitadores diferentes a los paréntesis, como los corchetes «<math>[\text{ }]</math>» o los paréntesis angulares «<math>\langle \text{ } \rangle</math>». Se desestima el uso de las llaves «<math>\{ \text{ } \}</math>» en este sentido porque son la notación estándar de los [[Conjunto|conjuntos]].
* Una ''n''-tupla se define [[Definición recursiva|inductivamente]] mediante la construcción de un [[par ordenado]].
Las tuplas suelen emplearse para describir otros objetos matemáticos, como los [[vector|vectores]]. Esto es, una [[Lista (estructura de datos)|lista]] con un número limitado de objetos; una secuencia ''infinita'' se denomina en matemática como una [[Familia de conjuntos|familia]], aunque hay autores que consideran el término n-tupla para denominar no solo listas finitas.
* Sólo hay una tupla 0, denominada tupla vacía.
Los matemáticos suelen escribir tuplas enumerando los elementos entre [[paréntesis]] "()" y separados por [[Coma (puntuación)|comas]]; por ejemplo, (2, 7, 4, 1, 7) denota una tupla de 5.
Las tuplas se emplean para describir objetos matemáticos que tienen estructura, es decir, que son capaces de ser descompuestos en un cierto número de componentes. Por ejemplo, un [[grafo dirigido]] se puede definir como una tupla de <math>(V, E)</math>, donde <math>V</math> es el conjunto de [[Nodo_(informática)|nodo]]s y <math>E</math> es el [[subconjunto]] de <math>V \times V</math> que denota las [[aristas]] del [[grafo]].
A veces se utilizan otros símbolos para rodear los elementos, como [[Corchete|corchetes]] "[]" o [[Corchete angular|corchetes angulares]] "⟨⟩". Las [[Llave (signo gráfico)|llaves]] "{}" se utilizan para especificar [[Vector (informática)|matrices]] en algunos lenguajes de programación, pero no en expresiones matemáticas, ya que son la notación estándar para conjuntos.
El término tupla puede aparecer a menudo cuando se habla de otros objetos matemáticos, como los [[Vector|vectores]].
En informática, las tuplas se presentan de muchas formas; La mayoría de los lenguajes de programación funcional tipificados implementan tuplas directamente como tipos de productos, estrechamente asociados con [[Tipo de dato|tipos de datos]] algebraicos, coincidencia de patrones y asignación de des-estructuración.
Muchos lenguajes de programación ofrecen una alternativa a las tuplas, conocidas como tipos de registro, que presentan elementos desordenados a los que se accede por etiqueta; Algunos lenguajes de programación combinan tipos de productos de tuplas ordenadas y tipos de registros desordenados en una única construcción, como en las estructuras [[C (lenguaje de programación)|C]] y los registros [[Haskell]].
Las bases de datos relacionales pueden identificar formalmente sus [[Registro (base de datos)|filas (registros)]] como tuplas.
Las tuplas también ocurren en [[álgebra relacional]], al programar la web semántica con [[Resource Description Framework|Resource Description Framework (RDF)]], en lingüística y en filosofía.
== Origen del concepto ==
El término ''tupla'' se generó sencillamente de una generalización de la secuencia siguiente: ''dupla'', ''tripla'', ''cuádrupla'', ''quíntupla'',... ''n-tupla''.

*Una tupla de longitud ''n'' se describe generalmente como una '''''n''-tupla'''.

*Una 2-tupla, por ejemplo, se denomina un ''par'' o ''dupla'';

*una 3-tupla una ''tripla'' o ''tripleta'' (en Hispanoamérica también se usa ''terna'' o ''triadatríada'').

El prefijo ''n'' puede ser por generalización cualquier número entero positivo; se puede, por ejemplo, denominar un [[cuaternión]] mediante la representación de una 4-tupla, y continuar generando nombres sucesivamente, tales como una ''octupla'', pero muchos matemáticos prefieren la denominación rápida y sencilla de escribir una "8-tupla" incluso si se pronunciara como "octupla".
Aunque es un término utilizado habitualmente dentro de la matemática y la programación,la palabra «tupla» no está en el diccionario de la Real Academia Española, ni como sufijo ni como término independiente.<ref>{{Citaweb|urlname=https://dle.rae.es/|título=Diccionariode"TuplaslaUSMlenguaChile "española>{{!}}EdiciónCitadel Tricentenario|fechaacceso=25 de abril de 2020|apellido=ASALE|nombre=RAE-|sitioweb=«Diccionario de la lengua española» - Edición del Tricentenario|idioma=es}}</ref>web
| url = http://progra.usm.cl/apunte/materia/tuplas.html
| título = Tuplas
| fechaacceso = 6 de julio de 2022
| sitioweb = [[Universidad Técnica Federico Santa María]]
| cita = Una tupla es una secuencia de valores agrupados. Una tupla sirve para agrupar, como si fueran un único valor, varios valores que, por su naturaleza, deben ir juntos.
| formato = html
| urlarchivo = https://web.archive.org/web/20120827010233/http://progra.usm.cl/apunte/materia/tuplas.html
| fechaarchivo = 27 de agosto de 2012
}} </ref> la palabra «tupla» no está en el diccionario de la Real Academia Española, ni como sufijo ni como término independiente.<ref>{{Cita web|url=https://dle.rae.es/|título=Diccionario de la lengua española {{!}} Edición del Tricentenario|fechaacceso=25 de abril de 2020|apellido=ASALE|nombre=RAE-|sitioweb=«Diccionario de la lengua española» - Edición del Tricentenario|idioma=es}}</ref>
== Definiciones formales ==
Línea 26 ⟶ 55:
:<math>(a_1, a_2, \ldots, a_n) = (a_1, (a_2, (\ldots, (a_n))))</math>
Empleando la definición más corriente dentro de la teoría de conjuntos para un [[par ordenado]] y dejando que el[[conjunto vacío]]represente la tupla vacía, se puede obtener un resultado correcto empleando una definición por [[Inducción matemática|inductiva]]:
# La 0-tupla (por ejemplo la tupla vacía) se representa por <math>\varnothing</math>.
# Si ''x'' es una ''n''-tupla entonces <math>\,\{\{a\}, \{a, x\}\}</math> es una (''n'' + 1)-tupla.
Línea 38 ⟶ 67:
Existe una similitud importante aquí con la forma en que se describen objetos en algunos lenguajes informáticos, tales como [[lenguaje de programación Lisp|Lisp]] en los que generalmente se emplea un par ordenado, y se emplea esta abstracción para iterar todos los elementos de la estructura del ''n''-tupla, para ello se procede de la siguiente forma:
# Un símbolo especial, tal y como ''NIL'' representa a una lista vacía
# Si ''X'' es una lista y ''A'' es un valor arbitrario, entonces el par (''A'', ''X'')respresentarepresentauna lista con la ''cabecera'' (es decir el primer elemento) ''A'' y la ''cola'' (es decir el resto de la estructura) ''X''.
== Usos ==
=== Ciencias de la computación ===
En las [[ciencias de la computación]] una ''tupla'' puede tener dos significados distintos.;Generalmente en los lenguajes de [[programación funcional]] y en otros [[lenguaje de programación|lenguajes de programación]], una tupla es un objeto que bien puede tener datos o diversos objetos, de forma similar a una tupla definida matemáticamente.Un objeto de este tipo es conocido también como '''registro''' (o ''record'' en inglés).
Una definición más formal del anterior párrafo sería:''<u>Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria</u>''.
En algunos lenguajes y especialmente en la teoría de [[bases de datos]], una tupla se define como una función finita que ''mapea'' (asocia unívocamente) los nombres con algunos valores.;Su propósito es el mismo que se definió en las matemáticas.<blockquote>Un pequeño ejemplo puede ilustrar esto:
Una definición más formal del anterior párrafo sería: Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria.
:*( jugador:"Luis", puntuación:25 )
En algunos lenguajes y especialmente en la teoría de [[bases de datos]], una tupla se define como una función finita que ''mapea'' (asocia unívocamente) los nombres con algunos valores. Su propósito es el mismo que se definió en las matemáticas.
En este caso se trata de una función que mapea el campo "jugador" con la cadena "Luis" y el campo "puntuación" al número entero 25.
Un pequeño ejemplo puede ilustrar esto:
:( jugador: "Luis", puntuación: 25 )
En este caso se trata de una función que mapea el campo "jugador" con la cadena "Luis" y el campo "puntuación" al número entero 25.Es de notar que el orden de los componentes no es relevante, de esta forma la misma tupla puede serre-escritareescritacomo:( puntuación: 25, jugador: "Luis" ). En un modelo relacional tal y como se define en las tuplas, se suele representar una proposición simple, en este caso existe un jugador con el nombre "Luis" y que posee una puntuación de 25.
* ( puntuación: 25, jugador: "Luis" ).
En los lenguajes de programación las tuplas se suelen usar para formar estructuras de datos. Por ejemplo, lo siguiente podría ser una definición de una estructura de datos para una [[Lista (estructura de datos)|lista enlazada]]:
</blockquote>En un modelo relacional tal y como se define en las tuplas, se suele representar una proposición simple, en este caso existe un jugador con el nombre "Luis" y que posee una puntuación de 25.
En los lenguajes de programación las tuplas se suelen usar para formar estructuras de datos.;Por ejemplo, lo siguiente podría ser una definición de una[[estructura de datos]]para una [[Lista (estructura de datos)|lista enlazada]]:<blockquote>( value: 16, previous-node: 1174782, next-node: 1174791 )</blockquote>
:( value: 16, previous-node: 1174782, next-node: 1174791 )
=== Lenguajes de marcado ===
Línea 77 ⟶ 108:
[[Categoría:Bases de datos]]
[[Categoría:Sistemas de coordenadas]]
[[Categoría:Notación matemática]]