Due variabili contengono dei valori e abbiamo la necessità di scambiarli tra loro.

Prima versione
Difettosa?

Prima versione (difettosa?)
Program Scambia_Difettosa;
Uses
Crt;
Var
var1, (* dichiarazione delle variabili *)
var2: Integer;
Begin
var1:=5; (* inizializzazione delle variabili *)
var2:=100;
Clrscr; (* Pulisce lo schermo *)
Writeln('1: ', var1); (* visualizzazione delle variabili *)
Writeln('2: ', var2);
var1:=var2; (* ELABORAZIONE DEI DATI *)
var2:=var1;
Writeln('1: ', var1); (* visualizzazione del risultato *)
Writeln('2: ', var2);
Readln;
End.
Seconda versione
Corretta!

Utilizza una variabile temporanea, di appoggio.
Program Scambia_Corretta;
Uses (* Utilizzo delle librerie *)
Crt; (* Libreria per schermo e tastiera *)
Var
var1, (* dichiarazione delle variabili *)
var2: Integer;
temp: Integer; (* variabile di lavoro *)
Begin
var1:=5; (* inizializzazione delle variabili *)
var2:=100;
Clrscr; (* Pulisce lo schermo *)
Writeln('1: ', var1); (* visualizzazione delle variabili *)
Writeln('2: ', var2);
temp:=var1; (* ELABORAZIONE DEI DATI *)
var1:=var2;
var2:=temp;
Writeln('1: ', var1); (* visualizzazione del risultato *)
Writeln('2: ', var2);
Readln;
End.