salto, istruzione di
salto, istruzione di in un → programma, istruzione che determina l’interruzione dell’esecuzione linearmente ordinata della sequenza delle istruzioni e l’esecuzione di una istruzione diversa da quella successiva nell’ordinamento, omettendo così l’esecuzione del blocco intermedio tra le due. Questa interruzione, detta appunto salto, è formalmente indicata con goto (dall’inglese «vai a») seguito da una label, cioè da un numero o una stringa alfanumerica che fornisce l’indirizzo della riga di programma dove si trova l’istruzione da eseguire successivamente. Un salto può essere o meno soggetto a una condizione e, quindi, si distingue tra:
• salto condizionato, che si realizza a seconda del verificarsi di una determinata condizione (vedi anche → espressione condizionale); la sua sintassi è: se (condizione) goto label; se la condizione è vera, il programma passa a eseguire l’istruzione etichettata con label, altrimenti esegue le istruzioni indicate nell’ordinamento lineare del programma e che seguono l’istruzione di goto;
• salto incondizionato, che si effettua senza alcuna condizione; la sua sintassi è semplicemente goto label; il programma passa quindi a eseguire l’istruzione etichettata con label, non eseguendo quelle immediatamente successive nell’ordinamento lineare (→ espressione condizionale).
Nelle tecniche di programmazione, tuttavia, viene vivamente sconsigliato l’uso del salto, soprattutto quello incondizionato, perché la presenza di tale istruzione complica la logica dell’algoritmo e diminuisce l’efficienza del programma; inoltre il compilatore, nella traduzione dal codice sorgente al codice eseguibile, può riscontrare difficoltà nella generazione di un codice oggetto ottimale. I linguaggi di programmazione strutturata evitano il ricorso al salto.