Il Tracing serve per seguire passo passo l'esecuzione di un programma e quindi per capire come funziona. Spesso รจ anche utile per capire se ci sono errori. Impariamolo!

	   
#include <iostream>

using namespace std;

int main(int argc, char** argv) {
    int i,f,g;
    
    /** Per tutti gli esempi precedenti
    Fai il tracing del seguente codice indicando sia il valore delle variabili che l'output
    Quindi riscrivi l'algoritmo dando:
    - alle variabili un nome significativo
    - un nome all'algoritmo
    - commentando l'algoritmo riga per riga
    
    Esempio risolto 
    (prima)                                   (dopo)
    cout << "Esempio 0";                      cout << "Inserisci un numero e te lo raddoppio"
                                              // Chiedo all'utente di inserire un numero
    cin >> i;                                 cin >> numero;
                                              // Stampo il numero
    cout << i*2;                              cout << numero * 2;
    
    */
    
    /*
    Esempio 1:
    */
    cout << "Esempio 1" << endl;
    f = 0;
    for (int i=3; i>0; i--) {
        f = f + i;
    }
    cout << f << endl;
    
    /*
    Esempio 2:
    Supponi che l'utente inserisca i valori 3, 10, 0, -7, -100
    */
    cout << "Esempio 2" << endl;
    f = 0;
    for (int i=0; i<5; i++) {
        cin >> g;
        if (g>f) {
            f = g;
        }
    }
    cout << f << endl;
    
    /*
    Esempio 3:
    Supponi che l'utente inserisca i valori 3, -1,  0, -7, -100, 4 ,10
    */
    cout << "Esempio 3" << endl;
    i=0;
    cin >> f;
    do {
        cin >> g;
        if (g<0) {
            f--;
            i+=g;
        }
    } while (f>0);
    cout << i << endl;
    
    /*
    Esempio 4
    Supponi che l'utente inserisca 1 e 5
    */
    cout << "Esempio 4" << endl;
    cin >> f;
    cin >> g;
    f = f + g;
    g = f - g;
    f = f - g;
    cout << f << " " << g;
    
    return 0;
}