A computer is a programmable machine. The two principal characteristics of a computer are: it responds to a specific set of instructions in a well-defined manner and it can execute a prerecorded list of instructions (a program).
Modern computers are electronic and digital. The actual machinery -- wires,transistors, and circuits -- is called hardware; the instructions and data are called software.
All general-purpose computers require the following hardware components: