Anything that does this is a deterministic machine, which means every next state it will have is predetermined by the previous state and the input signals.
Sometimes the machine reaches a state in which the next one can’t be defined definitely. This is called an undefined state and is caused either by memory loss due to electric malfunction (static discharge or loose pins) or by improper implementation of the program e.g. the programmer missed a spot testing his code, or the state is forbidden and should be prevented by mechanical measures (e.g. the washing machine is filling with water while the door is open etc.)
A Reset forces the machine into a defined state (often the initial state).
Latest Answers