Hoppa till innehållet

Tupel

Från Wikipedia
(Omdirigerad från N-tippel)

Inom matematiken är en tupel en ändlig objektsekvens, vars komponenter har var för sig en bestämd typ. En tupel bestående av n objekt kallas "n-tupel". Till exempel kan 4-tupeln vars komponenter är PERSON, ÅR, MÅNAD, DAG användas för att registrera att en person är född på en viss dag i en viss månad i ett visst år.

Tupler används för att beskriva matematiska objekt som består av komponenter. Till exempel kan en graf definieras som en tupel (V, E) där V är en mängd noder och E en delmängd av V × V som betecknar grafens kanter.

De huvudsakliga egenskaper som skiljer en tupel från till exempel en mängd är

  1. tupler kan innehålla ett objekt fler än en gång
  2. objekten har en specificerad ordning inom tupeln.

Inom datalogi

[redigera | redigera wikitext]

I datalogiska sammanhang har tupel (även kallad array) flera betydelser. I funktionella språk och i några andra programspråk är en tupel ett dataobjekt som innehåller ett flertal objekt, mycket likt en matematisk tupel. Ett sådant objekt kallas även för post.

Eiffel har tupelbegreppet inbyggt i språket. Typen

TUPLE [X, Y, Z]

har, som värden, 3-tupler, där det första elementet har typen X, andra elementet typen Y, och tredje elementet typen Z.

I några programspråk, och särskilt inom databasteorin, definieras en tupel som en finit funktion som avbildar fältnamn till ett särskilt värde. Avsikten är densamma som i matematiken, nämligen att visa att ett visst (möjligtvis abstrakt) objekt består av vissa komponenter och/eller har vissa egenskaper (attribut). Komponenterna eller attributen identifieras med hjälp av fältens namn, inte position, vilket ofta leder till ett användarvänligare utseende.

Ett exempel på en tupel kan vara:

(namn: "Lisa", ålder: 21)

som är en funktion som avbildar fältnamnet "namn" till texten "Lisa", som representeras av en sträng, och fältnamnet "ålder" till heltalet 21. Notera att komponenternas ordning inte är relevant; samma tupel kan skrivas

(ålder: 21, namn: "Lisa")