Sei sulla pagina 1di 8

APPUNTI – Linguaggio C++ Prof.

ssa Tiziana Di Paolo


INFORMATICA Anno scolastico 2021/2022

STRUTTURA DI UN PROGRAMMA IN C++


Un programma in C++ si compone di 3 sezioni:
 INTESTAZIONE: inclusione di file di librerie e definizione del namespace;
 SEZIONE DICHIARATIVA: dichiarazione di variabili (globali), costanti e sottoprogrammi;
 SEZIONE ESECUTIVA: contiene le istruzioni da eseguire (programma principale – traduzione del
diagramma a blocchi).
Siccome ogni programma deve acquisire dati dall’esterno e comunicare i risultati dell’elaborazione,
nell’intestazione di un programma in C++ bisognerà SEMPRE includere la libreria IOSTREAM che
contiene i comandi C++ per leggere i dati da tastiera (CIN) e per stampare i risultati sul video (COUT).
Inoltre nell’intestazione va sempre referenziato il namespace cioè lo spazio contenente gli identificatori per i
dati predefiniti nel linguaggio o definiti dai programmatori.
In particolare gli identificatori standard del linguaggio C++ sono contenuti nel namespace std.

Esempio di intestazione di un programma C++


#include<iostream>
using namespace std;

Nella sezione dichiarativa vanno dichiarate tutte le variabili referenziate nella tabella delle variabili, a seguire
introdurremo la sintassi C++ per dichiarare una variabile.
La sezione esecutiva, cioè il programma vero e proprio, inizia con le parole int main() seguita da una
parentesi graffa aperta, che indica l’inizio della sequenza delle istruzioni da eseguire e che terminerà con una
parentesi graffa chiusa.
Esempio:
int main()
{
istruzione;
istruzione;
istruzione;
system(“PAUSE”);
return 0;
}
Il comando system(“PAUSE”) blocca l’esecuzione del programma per permettere all’utente di vedere sul
video i risultati dell’elaborazione.
L’ultima istruzione return 0, prima della chiusura della parentesi graffa, significa che durante
l’elaborazione non si sono verificati errori.
In C++ ogni istruzione termina con il separatore”punto e virgola” (;).
Le eventuali righe di commento devono iniziare con i caratteri //, mentre un commento che si protrae su più
righe inizia con /* e termina con */. I commenti non vengono letti dai compilatori, hanno una funzione
puramente documentativa.

1
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022

Per inserire le parentesi graffe si può digitare una tra le seguenti combinazioni di tasti:
{ Alt + 123 (tastierino numerico) Shift + AltGr + [
} Alt + 125 (tastierino numerico) Shift + AltGr + ]

I dati
La risoluzione di un problema comporta l’individuazione di tre elementi: i dati iniziali, la soluzione adottata
e i risultati finali.
I dati di input sono quelli che vengono forniti dall’esterno per poter risolvere il problema; i dati di output
sono quelli che vengono comunicati all’esterno, come risultato della soluzione del problema.
Ci possono essere poi altri dati, che non sono né di input né di output, ma che sono comunque necessari
all’elaborazione, che vengono chiamati variabili di lavoro (working).

DATI DI INPUT ALGORITMO DATI DI OUTPUT

In un problema i dati possono essere di tipo diverso:


 numerici (interi o reali);
 alfabetici;
 alfanumerici, detti comunemente anche stringhe, cioè dati che sono rappresentati con cifre e lettere.
Se un dato viene utilizzato in procedimenti di calcolo, allora è sicuramente di tipo numerico, altrimenti
è alfabetico o alfanumerico.
Le istruzioni da eseguire possono essere riconducibili ad operazioni:
 di tipo aritmetico, quali calcoli;
 di tipo logico, quali confronto tra due valori o il controllo del valore di verità di un enunciato.

I dati C++ - Sintassi per dichiarare una variabile


In C++ le variabili sono dichiarate come segue:
tipo nomevariabile;

dove tipo indica la tipologia del dato che quella variabile conterrà e può valere:
 int se il dato è un numero intero;

 float se il dato è un numero reale;

 string se il dato è alfanumerico cioè combinazione di lettere e numeri;

 char se il dato è un solo carattere alfanumerico (1 byte);

 bool se il dato può assumere valore true (vero) o false (falso).

I nomi delle variabili non possono contenere lettere accentate, in più è consigliabile che il nome sia
indicativo del tipo di dato che la variabile dovrà contenere e che non sia troppo lungo (così si
semplifica il lavoro di codifica).

2
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022
Le istruzioni di input/output in C++
Per acquisire dati da tastiera usiamo il comando cin seguito dall’operatore >> (dove cin sta per consolle
input = tastiera e >> sta per “leggi”), per comunicare con l’utente mediante il video usiamo il comando cout
seguito dall’operatore << (dove cout sta per consolle output = video e << sta per “scrivi”); entrambi i
comandi sono contenuti nella libreria iostream.
L’istruzione:
cout<<”Inserire il nome dello studente: “<<endl;

permette di visualizzare sul video la scritta racchiusa tra doppi apici “” e andare a capo ( endl sposta il
cursore nella nuova riga).
L’istruzione:
cin>>nomestud;

permette di prendere in input da tastiera la stringa di caratteri, digitati dall’utente, che verrà assegnata alla
variabile nomestud.
Se si volessero acquisire più dati potremmo scrivere:
cout<<”Inserire il nome, cognome e età dello studente: “<<endl;
cin>>nomestud>>cognstud>>eta;

Nell’istruzione cout è possibile visualizzare messaggi racchiusi tra doppi apici oppure valori di variabili:
cout<<”Lo studente “<<cognstud<<” “<<nomestud<<” ha “<<eta<<”anni!”<<endl;

nel caso in cui la variabile:


cognstud ha valore ANTONINI;
nomestud ha valore ANNA;
eta ha valore 23;
verrà visualizzato il seguente messaggio:
Lo studente ANTONINI RITA ha 23 anni!

Le costanti in C++
Dopo aver visto come trattare le variabili in C++, passiamo alle  costanti.
Le costanti vengono dichiarate tramite la parola chiave  const con questa sintassi:
const tipo nome=valore;
Dove tipo può assumere i valori che abbiamo specificato per le variabili.
Facciamo dunque un esempio:
const float PIGRECO=3.14;

Le costanti convenzionalmente vengono indicate con le  lettere maiuscole.

3
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022
ESERCIZIO. Realizzare l’algoritmo (diagramma a blocchi) e il programma C++ che risolve il
seguente problema: dato un tempo espresso in ore, minuti e secondi restituire i secondi totali
corrispondenti.
SVOLGIMENTO

TABELLA DELLE VARIABILI


Identificatore Descrizione Tipo I/O/Working
ore Ore Int I
min Minuti Int I
sec Secondi Int I
totsec Secondi corrispondenti al tempo Int O

DIAGRAMMA A BLOCCHI

INIZIO

ore, min, sec


I

totsec = (ore * 3600) + (min * 60) + sec

totsec
O

FINE

CODIFICA C++
//Programma che prende in input: ore, minuti e secondi e restituisce in output i secondi
corrispondenti

#include <iostream>
using namespace std;

//Dichiarazione delle variabili


int ore, min, sec, totsec;

int main()
{
cout<<"Inserire ore (da 0 a 23): "<<endl;
cin>>ore;

cout<<"Inserire minuti (da 0 a 59): "<<endl;


cin>>min;

cout<<"Inserire secondi (da 0 a 59): "<<endl;


cin>>sec;

totsec=(ore*3600)+(min*60)+sec;

cout<<"I secondi corrispondenti al tempo sono: "<<totsec<<endl;

system("pause");
return 0;
}

Mandando in esecuzione il programma si ottiene il seguente risultato.


4
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022

Le istruzioni di assegnazione in C++


5
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022
In questa sezione studieremo in dettaglio gli operatori di assegnazione in C++.
Per assegnare un valore ad una variabile si usa l’operatore di assegnazione: l’uguale (=)
Ad esempio: se lato è una variabile di tipo intero
int lato;

con l’espressione lato=5; stiamo assegnando il valore 5 alla variabile lato.


Ma attenzione! L’assegnazione in C++ ha sempre questa formula:
variabile=espressione;

Dove espressione può essere un singolo valore oppure anche un calcolo, come ad esempio:
area=base*altezza;

Dunque scrivere ad esempio:


base*altezza=area

Non ha senso, è dunque errata!

O pe r a t or e di a s s e gna z i o ne c om pos t i i n C+ +
Oltre all’operatore di assegnazione semplice esistono anche gli operatori di assegnazione composti, che
consentono di modificare il valore di una variabile con una sola operazione.
+= //aggiunge e assegna
a=a+b si può scrivere a+=b
-= //sottrae e assegna
a=a-b si può scrivere a-=b
*= //moltiplica e assegna
a=a*b si può scrivere a*=b
/= //divide e assegna
a=a/b si può scrivere a/=b
%= //calcola il resto della divisione e assegna
a=a%b si può scrivere a%=b

6
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022
Libreria cmath
La libreria cmath è la libreria standard del C++ che contiene tante funzioni matematiche.
La libreria si include semplicemente come segue:
#include <cmath>

Elenchiamo dunque alcune funzioni della libreria cmath:


 min – serve a trovare il valore minimo.
 max – serve a trovare il valore massimo.
 abs – serve a trovare il valore assoluto di un numero.
 pow – serve a calcolare l’elevamento a potenza.
 sqrt – serve a calcolare la radice quadrata di un numero.
 log – serve a calcolare un logaritmo naturale di un numero.
 floor – serve ad arrotondare un numero per difetto.
 ceil – serve ad arrotondare un numero per eccesso.

Primo esempio sulle funzioni matematiche della libreria cmath


In questo semplicissimo esempio prendiamo in input le misure dei due cateti di un triangolo rettangolo per
calcolare la misura del perimetro. Bisognerà calcolare la lunghezza dell’ipotenusa applicando Pitagora che
richiederà di effettuare un’estrazione di radice ossia l’utilizzo della funzione sqrt.
TABELLA DELLE VARIABILI
Identificatore Descrizione Tipo Input/Output/Working
Cateto1 Cateto del triangolo Float I
Cateto2 Cateto del triangolo Float I
Ipotenusa Ipotenusa del triangolo Float Working
Perimetro Perimetro del rettangolo Float O
L’algoritmo che risolve il problema è il seguente:
PSEUDOCODIFICA DIAGRAMMI A BLOCCHI
INIZIO
INIZIO
Chiedi(Cateto1, Cateto2)
Leggi(Cateto1, Cateto2) Chiedi(cateto1, cateto2)

Ipotenusa
Leggi(cateto1, cateto2)
Perimetro cateto1 + cateto2 + ipotenusa
Scrivi(Perimetro)
Ipotenusa =
FINE
perimetro = cateto1 + cateto2 + ipotenusa

Scrivi(perimetro)

FINE

7
APPUNTI – Linguaggio C++ Prof.ssa Tiziana Di Paolo
INFORMATICA Anno scolastico 2021/2022
PROGRAMMA C++
//calcolo del perimetro di un triangolo rettangolo di cui si conosce la
misura //dei due cateti.
#include <iostream>
#include <cmath>
using namespace std;

//Dichiarazione delle variabili (input, output, di lavoro)


float cateto1, cateto2, ipotenusa, perimetro;
//Fine dichiarazione delle variabili (input, output, di lavoro)

//sezione esecutiva
int main()
{
cout<<"Inserire la misura dei due cateti del triangolo rettangolo: "<<endl;
cin>>cateto1>>cateto2;
ipotenusa = sqrt((cateto1 * cateto1) + (cateto2 * cateto2));
perimetro = (cateto1 + cateto2 + ipotenusa);
cout<<"Il perimetro del triangolo e': "<<perimetro<<endl;
system("pause");
return 0;
}

Potrebbero piacerti anche