Il concetto
Avanzare nelle istruzioni e distinguere le chiamate di funzione.
L’esecuzione passo passo permette di seguire una piccola porzione di programma senza lasciarlo proseguire fino alla fine. Un passo sulla riga può eseguire un’istruzione e fermarsi alla successiva. Le righe del sorgente non corrispondono sempre una a una alle operazioni della macchina.
Per una chiamata di funzione distingue due intenzioni: eseguire la chiamata come un’unica operazione oppure entrare nel suo corpo. Usa i comandi di passo disponibili nella tua versione e leggi le descrizioni nel menu o nelle barre del debugger. Non seguire ogni funzione interna della libreria standard per capire una semplice media.
Procedi con una previsione: prima del passo annota quale variabile dovrebbe cambiare; dopo il passo confronta. Se il programma attende input nella console, completa la lettura prima di aspettarti un nuovo arresto. Il debugger e la console sono due finestre dello stesso esperimento.
Procedura passo passo
Una sequenza da eseguire sul proprio computer.
- Ferma il programma sul calcolo della media.
- Prevedi quale variabile verrà assegnata.
- Avanza di una istruzione con il comando di passo del debugger.
- Osserva il cambiamento del valore.
- Nel progetto multi-file, prova a entrare nella funzione saluta e poi a eseguire la chiamata senza entrarvi.
- Concludi la sessione quando hai risposto alla domanda iniziale.
Codice e risultato
Il codice va aperto e compilato in Dev-C++; il riquadro mostra il risultato previsto.
Sorgente C++
#include <iostream>
int main() {
int primo = 7;
int secondo = 8;
double media = (primo + secondo) / 2;
std::cout << "Media: " << media << "\n";
return 0;
}
Risultato atteso
Media: 7 Il risultato richiesto e invece 7.5: esempio volutamente errato.
Questo riquadro è una previsione didattica, non una console che esegue il C++ nel browser.
Controllare il risultato
Confronta ciò che accade con una previsione formulata prima della prova.
| Controllo | Risultato o criterio |
|---|---|
| Operandi | 7 e 8: somma 15 |
| Divisione per 2 | Il calcolo intero produce 7 |
| Divisione per 2.0 | Il calcolo produce 7.5 |
Errori da evitare
Le cause da controllare prima di ripetere l’operazione.
- Entrare nelle funzioni di libreria senza necessità.
- Aspettare un arresto mentre la console attende input.
- Avanzare rapidamente senza osservare i valori.
Riferimenti: Debugger: documentazione ufficiale.