How does a program communicate with a user?
A program cannot solve a useful problem unless it can receive data or display a result.
When you type your name, choose a menu option or enter a score, you are giving the program input. When the program displays a greeting, result or message, it is producing output.