Concatenamento - Wikipedia

In linguaggio formale e programmazione software il concatenamento (o concatenazione) indica un procedimento in cui parole o numeri vengono legati insieme a formare, rispettivamente, una sola parola o numero.[1][2]

Ad esempio, concatenando "piano" e "forte" si ottiene "pianoforte", oppure concatenando i numeri 5 e 12 si ottiene il numero 512.

Quest'operazione è spesso utilizzata nei linguaggi di programmazione per l'unione di stringhe.

Definizione modifica

Siano   due linguaggi costruiti su un dato un alfabeto  . Il concatenamento   rappresenta tutte le stringhe della forma  , dove   appartiene a   e   a  . Formalmente:

 

Lo stesso procedimento può essere fatto con una stringa e un linguaggio o viceversa. Il risultato del concatenamento di un linguaggio   e una stringa   è  

Per esempio, se su un alfabeto   sono costruiti due linguaggi   e  , il loro concatenamento   corrisponde a  

Esempio modifica

Dati due insiemi   e   il loro concatenamento   è l'insieme che contiene tutte le coordinate di una scacchiera nella notazione algebrica. Il risultato del concatenamento di una qualsiasi lettera di   e   è l'insieme contenente tutte le coordinate della colonna corrispondente alla lettera. Per esempio, si consideri la lettera d in  , il concatenamento   indica la colonna della regina.

Nei linguaggi di programmazione modifica

Nella maggior parte dei linguaggi di programmazione, l'operatore per il concatenamento delle stringhe è "+".

La sintassi è:

'stringa a' + 'stringa b'

Java modifica

In Java è possibile concatenare più stringhe semplicemente in questo modo[3]:

  String a = "Ciao, ";
  String b = "Mondo!";
  
  String c = a + b;//concateno a e b

  System.out.println(c);//OUTPUT: Ciao, Mondo!

Concatenamento di numeri interi modifica

Concatenare numeri interi è più complesso:

  int a = 46;
  int b = 128;

  int c = Integer.parseInt(Integer.toString(a) + Integer.toString(b));
  
  System.out.println(c); //OUTPUT: 46128

Qui, usufruendo della classe java.lang.Integer, i due numeri vengono prima trasformati in stringhe, poi concatenati e infine ritrasformati nel numero intero risultante assegnato alla variabile c.[4]

C++, C, Python modifica

In C++, C e Python, come in Java, si può usare l'operatore " + ":

"Stringa 1" + "Stringa 2"

Inoltre, in C++, è possibile eseguire il concatenamento di stringhe e/o variabili nei comandi cout e cerr della libreria iostream utilizzando l'operatore " << ".

In matematica modifica

In matematica concatenare vuol dire fondere due o più numeri per formarne uno nuovo.[2]

Per esempio:

 

Il simbolo   è stato usato qui per indicare l'operazione concatenamento.

L'operazione NON gode della proprietà commutativa, quindi:

 

Una semplice funzione matematica che esegue questa operazione tra due numeri   e   con   e   è:

 

Dove   indica la funzione parte intera superiore.

Questa formula si ricava facilmente in questa maniera: Il primo numero m, deve essere spostato di tante cifre quante sono quelle di n, per lasciargli spazio. Dunque per avere il numero di cifre di n basterebbe la parte intera superiore del logaritmo (nel caso della numerazione decimale in base 10) di n sommato al più ad 1. Adesso, possiamo spostare m delle cifre di n verso sinistra moltiplicandolo per   dove   è il numero di cifre, uguale a:  . A questo punto, spostato m delle cifre di n, possiamo sommare n. Il risultato è la concatenazione dei due numeri.

Ovviamente è possibile generalizzare la formula per una qualsiasi base, sostituendo le basi dell'esponenziale e del logaritmo:

 

Dove   è la base del nostro sistema di numerazione.

Le Costanti di Champernowne e la Costante di Copeland-Erdős sono ottenute attraverso concatenamento.

Note modifica

Voci correlate modifica