venerdì 22 gennaio 2021

I tipi primitivi di Visual Basic

Ogni computer, per mezzo di un programma, non fa altro che manipolare dei dati trasformando l'informazione in ingresso in una informazione in uscita. Detto così sembra tutto molto facile, ma quale tipo d'informazione manipola? Il linguaggio mette a disposizione dei tipi di dati primitivi che definiscono la dimensione della memoria da allocare per contenere quel tipo di informazione affinché possa essere oggetto di manipolazione all'interno del programma. Questi dati, memorizzati all'interno di aree di memoria, sono richiamabili tramite nomi simbolici di nostra scelta. Queste sono le variabili. Mamma mia come diventa complicato.

Supponiamo di avere delle scatoline su cui scriviamo dei nomi. Una scatolina si chiama A, un'altra scatolina si chiama B ed una terza R. Ma cosa possono contenere queste scatoline? Quando si scrive un programma non si è liberi di mettere qualunque cosa in una scatolina ma bisogna attenersi al tipo di dato che si è dichiarato per ogni scatolina. Supponiamo che le tre scatoline possano contenere numeri. Quindi in A mettiamo 10, in B 20 e in R mettiamo A+B.

Cosa fa il computer quando il programma dichiara di voler utilizzare delle variabili A, C e R che contengono un numero ciascuna? Riserva un porzione di memoria per ogni variabile che possa contenere quel valore, in modo tale che quando il nostro programma utilizza la variabile A, il computer preleva il valore contenuto nella locazione di memoria allocata per A, e quando vogliamo mettere un valore nella variabile A il computer scrive tale valore nella locazione di memoria allocata per la variabile A. Iniziamo a vedere i tipi di dati primitivi o semplici che possiamo utilizzare in Visual Basic.

I tipi numerici interi
  • Byte - Tipo intero positivo rappresentato con 8 bit
  • Short - Tipo intero a 16 bit
  • Integer - Tipo intero a 32 bit
  • Long - Tipo intero a 64 bit
Tipi numerici in virgola mobile
  • Single - Numero in virgola mobile a 32 bit
  • Double - Numero in virgola mobile a 64 bit
Tipo decimale
  • Decimal - Numero 128 bit in cui 96 sono la parte numerica e un fattore di scala in base 10 è un tipo di dato con virgola molto preciso ma anche manipolato con maggiore difficoltà dal computer e richiede maggior tempo di calcolo rispetto agli altri tipi
Tipi specifici
  • Boolean - Memorizza valore Ture o False
  • Char - Memorizza un carattere sotto forma di valore numerico in formato UTF-16
  • Date - Memorizza una data
Tipi riferimento di base, di cui parleremo in altri post
  • String - Può contenere una stringa di al massimo poco meno di 2 miliardi di caratteri
  • Object - Classe base per tutti le classi che non ereditano da altre classi

Prima limitazione: siamo abituati a pensare ai numeri come insiemi composti da infiniti valori. Preso un intero positivo diverso da zero, è sempre possibile scrivere un intero maggiore di quello dato, semplicemente aggiungendo una cifra alla fine del numero precedente. Ad esempio 1, possiamo scrive 10>1 quindi 102>10 1024>102 e così via. Nei computer però lo spazio è limitato e la memoria allocata ha una dimensione finita. Nel tipo Byte avremo 8 bit per rappresentare il numero. Ciò significa che potremo memorizzare un valore compreso fra 0, rappresentato in memoria come 0000 0000, e 255, rappresentato come 1111 1111.

Esistono anche altri tipi primitivi ma è opportuno limitarsi a quelli indicati al fine di rimanere nei confini della Common Language Specification o CLS e nella Common Type System o CTS.

Ora che abbiamo una idea di cosa sia un tipo di dato primitivo e cosa voglia dire dichiarare una variabile di tipo primitivo vedremo nel prossimo post come dichiarare le variabili in un programma.