Tipi di Dato

Articolo approfondimento del di

Guida ai Tipi di Dato

Nei linguaggi di programmazione, quando si parla di "tipo di dato", ci si riferisce ad un insieme di valori aventi dei tratti in comune. sui quali è possibile svolgere operazioni tra loro.

 

 

Poniamo il caso di avere 3 variabili ognuna con dei valori differenti:

  • = 12
  • = 21
  • = "ciao"

Le variabili X ed Y sono dello stesso tipo, perché identificano due Interi, mentre la variabile Z è un tipo di dato differente in quanto si riferisce ad un valore di tipo Stringa.

Un altro esempio:

  • = 2
  • = "2"

In questo caso, A e B sono due tipi di dato diversi perché la variabile A identifica un intero mentre la variabile B una stringa.

Non tutti i linguaggi permettono di dire ad una variabile il tipo di dato chi sta "maneggiando". Ad esempio, i linguaggi macchina gestiscono solo sequenze di bit e non sono in grado di identificarli, deve essere quindi il programmatore a far eseguire alla macchina determinate operazioni in base al tipo di dato.

Nei linguaggi di programmazione recenti il compilatore è perfettamente in grado di capire che tipo di dato si sta trattando e se si cercherà di fare una somma fra un intero ed una stringa restituirà un errore e bloccherà il programma. Il linguaggio macchina non è in grado di fare questa differenziazione e sommerà sequenze binarie che identificano un numero con sequenze binarie che identificano una lettera senza restituire nessun messaggio di errore.

Quando si parla di tipo di dato bisogna prestare molta attenzione. Il valore 2 inteso come numero viene tradotto dalla macchina in un modo, mentre il valore "2" inteso come carattere è scritto in un modo differente.

Mentre noi leggiamo "2" nello stesso modo indipendentemente se stiamo parlando di un numero o di un carattere, la macchina lo traduce in binario nei seguenti modi:

2 (inteso come numero): 0000 0010

2 (inteso come carattere): 0011 0010

Tipi di dato più Usati

I Tipi di dato possono essere di due tipi:

  • Primitivi. I dati primitivi rappresentano tutti quei dati che non sono composti da altri, come ad esempio gli interi i i char.

  • Derivati. I derivati invece possono essere composti i tipi di dati più semplice, ad un esempio il valore contenuto in una variabile stringa, è composto da tanti valori di tipo primitivo di tipo "char". Stesso discorso è valido per gli array che sono considerati tipi di dato derivato.

Un dato può essere primitivo in un linguaggio e derivato in un altro.

Numeri

Nei linguaggi di programmazione esistono diversi tipi di numeri come ad esempio quelli interi (Int) o razionali (Float). Nonostante vengono differenziati con diversi nomi, è possibili eseguire operazioni fra di loro. Quindi un Intero può essere sommato con un Float senza nessun problema.

Booleani

I tipi di dato Booleani, sono dei dati speciali che posso acquisire solamente due valori "falso" o "vero" che in linguaggio macchina si traducono rispettivamente con "0" e "1".

Caratteri

I tipi di dato Caratteri (char), racchiudono tutti quei caratteri presenti nel codice Ascii. Negli ultimi anni però ci si è reso conto che i caratteri presenti nel codice Ascii non erano più sufficienti, in quanto numerosi linguaggi utilizzano altri simboli e lettere, come la lingua italiana che fa uso delle lettere accentate (à,è, ì,ò,ù), la codifa ASCII si sta abbandonando per dare posto ad altre codice che utilizzano più bit di memoria ma garantiscono un'accuratezza maggiore e un vocabolario più ampio.

Stringhe

Quando si parla di una stringa ci riferisce ad una sequenza di caratteri finita. Le stringhe sono abbondantemente usate in tutti i linguaggi e vengono utilizzate il più delle volte per stampare a video (leggibili all'utente) delle frasi o parole.

Array(vettori)

Gli array sono tipi di dato composti da una sequenza di elementi. Tecnicamente anche le Stringhe sono degli Array, ma vengono considerate un tipo di dato a parte per alcune speciale peculiarità e per il largo uso che se ne fa. A questo link trovi una guida completa sugli Array.

Puntatori

Per puntatori si intendono tutti quei tipi di dati che hanno come valore l'indirizzo specifico dove è contenuto il valore nella macchina. I puntatori identificano l'indirizzo di memoria dove è situato un dato.

Astratti

Un esempio di dato astratto è la "classe" che serve a rappresentare un concetto. Una guida approfondita sul significato di classe e sulla sua utilità la trovi qui: Cos'è una classe?

Immagini correlate


Link utili