Imperative Paradigm

In the procedural programming approach the basic mechanisms of programming, such as statements, functions, loops, and decisions are used. Classic examples of this paradigms are various search and sort algorithms as well as simple tree implementations.

The use of variables during the runtime of the program defines a so-called state. If the variables are not correctly set, the functionality of the program may change. For this reason it is necessary that all variables have a well-defined value during the execution time, especially in the beginning. Many flaws related to uninitialized variables may result in severe problems (knwon as bugs).

Successor of the unstructured programming approach
It is based upon the concept of the procedure call
Procedure calls: routines, subroutines, functions
A procedure might be called at any point
Functions can be used wherever questions arise like "how do we get a value x from y"