Imparare a programmare in C++ – #2 – Commenti e Variabili

Imparare a programmare in C++ - #2 - Commenti e Variabili

Imparare a programmare in C++ – #2 – Commenti e Variabili: Commenti e variabili sono 2 elementi alla base di ogni linguaggio di programmazione, vediamo come usarli in C++.

Imparare a programmare in C++ – #2 – Commenti e Variabili

Proseguiamo con i tutorial per imparare a programmare in C++ con due elementi alla base della sintassi di ogni linguaggio di programmazione: Commenti e Variabili.

I Commenti in C++

I commenti spesso non ricevono l’importanza che meritano, vengono considerati superflui e non utilizzati.

L’utilizzo dei commenti all’interno del codice di un programma è fondamentale tanto quanto il codice stesso.

È importante quindi abituarsi a commentare il proprio codice, inizialmente anche più del necessario.

Prendiamo l’abitudine di commentare tutto quello che scriviamo, in questo modo rileggendo un’istruzione sappiamo anche il suo funzionamento.

Con il tempo possiamo poi ridurre i commenti ed utilizzarli quando necessario.

Casi di utilizzo dei commenti

I commenti servono per chiarire meglio una parte di codice o per creare una documentazione del nostro software.

Sono fondamentali quando si lavora in gruppo per indicare ad altri programmatori cosa fa una determinata istruzione o funzione, oppure perchè abbiamo scelto di eseguire un operazione in un determinato modo piuttosto che in un altro.

Sono anche molto importanti quando si lavora da soli, perchè permettono a distanza di tempo di ritrovare rapidamente le istruzioni che ci interessa modificare.

I commenti non vengono letti in fase di compilazione, quindi commentare un software non ne rallenta l’utilizzo.

La sintassi dei commenti in C++

I commenti in C++ possono essere inseriti in 2 modi:

  • Su riga singola
  • Su più righe

I commenti su riga singola si inseriscono scrivendo // prima del commento, ad esempio:

int main()
{
// Questo è un commento su riga singola
return 0;
}

Per convenzione si tende a lasciare uno spazio dopo // ed iniziare il commento con lettera maiuscola, questo non è obbligatorio ma è l’uso più comune.

I commenti su riga singola possono essere inseriti anche sulla stessa riga del codice, ad esempio:

int main()
{
return 0; // Questo è un commento su riga singola di fianco al codice
}

Questo tipo di utilizzo è utile se vogliamo evidenziare una riga in particolare.

Quando si commenta di fianco al codice sono importanti 2 regole:

  • Il commento non va mai prima del codice, altrimenti verrebbe commentato e non funzionerebbe più
  • Il commento va sempre dopo il punto e virgola (chiudiamo quindi l’istruzione e poi commentiamo)

I commenti su più righe ci permettono di scrivere il commento su più righe e sono molto utili in caso volessimo documentare una parte di codice.

Questo tipo di commento è utilizzato per descrizioni molto lunghe.

Per scrivere un commento su più righe dovremo inserire /* ad inizio riga, possiamo quindi poi andare a capo ogni volta che vogliamo perchè il compilatore andrà a considerare commento tutto il testo fino a quando non troverà il codice di chiusura che è */.

Quindi un commento su più righe lo andremo a scrivere così:

int main()
{
/*
Quando vogliamo scrivere un commento
su più righe,
lo andremo ad inserire tra slash ed asterisco
ed asterisco e slash
*/
return 0;
}

Per questo tipo di commento generalmente si inserisce /* e poi si comincia il commento sulla riga successiva, anche per la chiusura */ vengono inseriti su una nuova riga, ovviamente niente vieta di cominciare il commento sulla stessa riga e chiuderlo sull’ultima riga.

Le variabili in C++

Le variabili sono gli elementi alla base di ogni linguaggio di programmazione.

Permettono di immagazzinare informazioni per poterle poi richiamare quando ne abbiamo bisogno.

Le variabili possono essere considerate come delle scatole che contengono un solo oggetto.

Ogni variabile ha bisogno di 3 informazioni:

  • Tipo
  • Nome
  • Valore

Il tipo specifica quale contenuto troveremo nella variabile (quindi se un numero interno, un numero decimale, un testo, ecc)

Il nome è personalizzabile e serve per identificare univocamente quella variabile.

Il valore è l’informazione che andiamo ad immagazzinare nella variabile.

Per fare un paragone con un oggetto reale, prendiamo una bottiglia d’olio, avremo:

  • Tipo: Bottiglia d’olio (questo ci indica che al suo interno troveremo olio)
  • Nome: OlioMonini (In questo caso ho utilizzato una marca per identificare univocamente l’olio)
  • Valore: 1L (In questo caso sappiamo che la bottiglia d’olio ha 1 litro d’olio al suo interno.

Avendo quindi dichiarato l’oggetto come una bottiglia d’olio, ovviamente ci aspettiamo di trovare olio al suo interno, trovare qualcosa di diverso sarebbe un errore.

In programmazione è uguale, se dichiariamo la variabile come numerica, il compilatore si aspetta di trovare un numero, se dovesse trovare altro non saprebbe come gestirlo e riporterebbe un errore.

Dichiarazione ed Assegnazione delle variabili

Prima di poter essere utilizzate le variabili richiedono 2 operazioni:

  • Dichiarazione
  • Assegnazione

La dichiarazione è la fase di registrazione della variabile, cioè quando ne indichiamo tipo e nome.

L’assegnazione invece è la fase in cui assegniamo un valore alla variabile.

Le due fasi possono anche avvenire contemporaneamente, possiamo quindi dichiarare ed assegnare un valore alla variabile.

Ovviamente non è possibile assegnare un valore ad una variabile non dichiarata.

int main()
{
// Dichiarare una variabile senza assegnare un valore
int VariabileSenzaValore;
// Dichiarare una variabile e assegnarle un valore
int VariabileConValore = 10;
// Dichiarare più variabili dello stesso tipo
int Variabile1, Variabile2, Variabile3;
}

Quando dichiariamo una variabile dobbiamo inserire prima il tipo e poi il nome.

Se vogliamo assegnare anche un valore, inseriremo = e poi il valore di quella variabile.

Possiamo dichiarare più variabili dello stesso tipo su una singola riga, in questo caso le andremo a separare con una virgola.

Nomi delle variabili

Ci sono delle regole da rispettare quando si assegna un nome ad una variabile, e sono:

  • Evitare di utilizzare nomi uguali alla sintassi (es: int int = 0;)
  • Le variabili non possono iniziare con un numero (es: int 0variabile;)
  • Le variabili non possono contenere simboli, l’unico accettato è _ (int Variabile_Numerica;)
  • Generalmente è consigliato scrivere in maiuscolo la prima lettera di ogni parola (es. int VariabileDiTipoNumerico)
  • Evitare nomi generici, il nome deve permettere di identificare già il contenuto della variabile (es. Variabile1, a, x, variabile, xciuvmo)
  • Le variabili non possono avere lettere accentate

Tipi primitivi di variabili

Le variabili di base del C++ sono:

  • bool (booleana, con valori true o false: permette di sapere se un valore è vero o falso)
  • int (integer, variabile con numeri interi)
  • float (variabili con numeri decimali con precisione fino a 7 decimali)
  • double (variabili con numeri decimali con precisione fino a 14 decimali)
  • char (singolo carattere racchiuso tra apici singoli)
  • string (in realtà non è considerato uno dei tipi primitivi, ma string permette di immagazzinare testi di varia lunghezza, racchiusi tra doppi apici
int main()
{
bool Iscritto = true; // i valori accettati sono true o false
int Eta = 30; // Solo numeri interi
float MediaVoto = 8.5f; // Generalmente si utilizza la f finale per differenziarlo da double
double PiGreco = 3.14159265358979; // Gestisce numeri ad alta precisione
char Iniziale = 'c'; // Un singolo carattere inserito tra apici singoli
string Testo = "Questo testo contiene piu' caratteri"; // Diversi tipi di caratteri racchiusi tra doppi apici
}

Variabili locali e Variabili globali

Le variabili possono essere dichiarate in 2 modi:

  • locale
  • globale

Dichiarando una variabile in modo locale, la rendiamo disponibile solo all’interno della funzione in cui è stata dichiarata, non sarà quindi visibile all’esterno.

Dichiarandola in modo globale invece sarà accessibile da tutte le funzioni.

Esempio variabile locale (creata all’interno di main)

#include <iostream>
using namespace std;

int main()
{
int VariabileLocale = 10;
}

int secondario()
{
// Da qui non è possibile accedere alla variabile VariabileLocale
}

Esempio di variabile globale, creata all’esterno di qualsiasi funzione:

#include <iostream>
using namespace std;

int VariabileGlobale = 10;

int main()
{
// Main può accedere a VariabileGlobale perchè è una variabile globale
}

int secondario()
{
// Secondario può accedere a VariabileGlobale perchè è una variabile globale
}

ESERCIZIO: Calcolare l’età

Andiamo ora a svolgere un esercizio utilizzando le informazioni di questo tutorial e del precedente.

Creiamo un programma che prendendo in input l’anno attuale e l’anno di nascita ci riporta la nostra età.

Per poterlo fare abbiamo bisogno di 3 variabili:

  • AnnoNascita
  • AnnoAttuale
  • Eta

Dovremo quindi effetuare una sottrazione (AnnoAttuale – AnnoNascita) per avere la nostra età.

Il programma non potrà essere preciso perchè non tiene conto dei mesi e dei giorni, quindi se il giorno del compleanno non è ancora arrivato, l’età sarà sbagliata.

Il programma dovrà quindi chiedere all’utente di inserire il proprio anno di nascita, l’anno attuale, verrà eseguita l’operazione e riporterà l’età.

Se volete provare a svolgere l’esercizio da soli non guardate il codice in basso, provate e poi verificate il codice.

Soluzione

Mostra soluzione

#include <iostream>
using namespace std;

int main() 
{
	int Anno Nascita, AnnoAttuale, Eta;
	cout << "In che anno sei nato?" << endl;
	cin >> AnnoNascita;
	cout << "In che anno siamo?" << endl;
	cin >> AnnoAttuale;
	Eta = AnnoAttuale - AnnoNascita;
	cout << "Hai " << Eta << " anni." << endl;
	return 0;
}

Video

author avatar
Claudio Masci
Sono innanzitutto un appassionato di informatica e tecnologia in generale. Lavoro in ambito informatico da circa 16 anni, spaziando in diversi campi, andando dalla programmazione web, allo sviluppo di software, dalla grafica alla modellazione 3d ed al video editing, ho sempre voluto approfondire ogni aspetto e questo mi ha permesso di lavorare in diversi ambiti informatici.