Tabella di traccia

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

La tabella di traccia (o trace table), è uno strumento utilizzato dal programmatore per simulare il corretto funzionamento di un programma, riportando nelle colonne della tabella il cambiamento dei risultati dopo ogni istruzione eseguita. Attraverso questa tabella si controlla l'algoritmo esaminando il contenuto delle variabili durante il processo esecutivo, cioè dati alle variabili dei valori a piacere di input si controlla che i risultati ricevuti in output siano corretti. La tabella di traccia può essere eseguita manualmente sulla descrizione dell'algoritmo o sul programma costruendo la tabella, oppure può essere ottenuta in modo automatico dall'esecuzione del programma inserendone opportune istruzioni di output o eseguendo il programma in un ambiente di debug.

Architettura della tabella[modifica | modifica wikitesto]

La tabella è costituita dalle seguenti colonne:

  1. colonna che tiene conto del numero dell'istruzioni;
  2. colonna in cui vanno indicate le istruzioni da eseguire;
  3. colonna per ogni variabile presente nel programma;
  4. colonna in cui viene fornito l'output del programma.

Tabella ottenuta dall'esecuzione del programma[modifica | modifica wikitesto]

Per ottenere la tabella di traccia automaticamente durante l'esecuzione del programma basta inserire delle istruzioni di output per visualizzare il valore delle variabili che interessano oppure eseguire il debug del codice. In genere la tabella di traccia viene utilizzata per individuare alcuni errori di comportamento del programma e quindi conviene controllare:

  • le variabili che vengono modificate da operazioni di assegnazione per verificare se il risultato delle operazioni è quello atteso;
  • le variabili in cui viene inserito un valore con un'operazione di input per verificare se il valore introdotto viene accettato in modo corretto.

Bibliografia[modifica | modifica wikitesto]

  • F. Scorzoni; Giuseppe Costa, «Informatica: Programmazione in C++», Loescher;