The simplest type of computing machine that is worth considering is called a 'finite state machine'. As it happens, the finite state machine is also a useful approach to many problems in software architecture, only in this case you don't build one you simulate it. Essentially a finite state machine consists of a number of states -finite naturally! When a symbol, a character from some alphabet say, is input to the machine it changes state in such a way that the next state depends only on the current state and the input symbol. Notice that this is more sophisticated than you might think because inputting the same symbol doesn't always produce the same behaviour or result because of the change of state. A few examples based on the C++ implementation of the finite state algorithm based on the function & class objects is presented.