1. Programming system for a robot, or similar automatic apparatus, bearing a tool ( 4 ), the system comprising a control unit ( 5 ), operative to control movements of the robot ( 1 ) according to multiple axes, and a portable programming terminal ( 6 ) operatively connected to the control unit ( 5 ), where the terminal ( 6 ) comprises selection means ( 18 ), able to be operated manually to select a desired co-ordinate system among a plurality of co-ordinate systems (“Base, “Tool”, “Joints”) stored in the control unit ( 5 ); first motion control means whose operation depends on a selection made through the selection means ( 18 ), the first motion control means comprising a plurality of motion keys ( 14 ) able to be operated manually to provide the control unit ( 5 ) with a respective command signal for the robot ( 1 ), the command signal being aimed at causing the tool ( 4 ) to execute a rotation or a translation motion about or along an axis corresponding to the operated motion key ( 14 ), in the co-ordinate system (“Base, “Tool”, “Joints”) selected using the selection means ( 18 ), position teaching means ( 21 ), able to be operated manually to store a position reached by a predefined point (TCP) of the tool ( 4 ) as a result of a motion of the robot ( 1 ), characterised in that the terminal ( 6 ) further comprises additional motion control means ( 40, 41 ), able to be operated manually instead of the first motion control means ( 14 ), to provide the control unit ( 5 ) with a respective signal for controlling the robot ( 1 ) aimed at causing a displacement of the predefined point (TCP) of the tool ( 4 ) relative to a previously set reference point (CO), where the position of the reference point (CO) is capable of being modified, the terminal ( 6 ) comprises means (D; T) for modifying the position of the reference point (CO), the signal for controlling the robot ( 1 ) generated as a result of the operation of the additional motion control means ( 40, 41 ) is independent from the co-ordinate system (“Base, “Tool”, “Joints”) selected through the selection means ( 18 ).