A function can a value as an output.

Subprograms can values to the caller.

The concept of determines the visibility of variables in a program.

An is a set of step-by-step instructions to solve a problem.

The variables in a function are only accessible within that function.