Procedural programming is a type of imperative programming in which the program is built from one or more procedures (also termed subroutines or functions).
Procedural programming could be considered a step towards declarative programming.