Procedural languages are used in the traditional programming that is based on algorithms or a logical step-by-step process for solving a problem. Non-procedural programming languages allow users and professional programmers to specify the results they want without specifying how to solve the problem. examples are FORTRAN,C++,COBOL,ALGOL etc
OR we can put it this way:
Procedural language determines WHAT & HOW a process should be done, Non-procedural language is concerned with the WHAT not the HOW. Non-proc languages are those languages where you specify what conditions the answer should satisfy, but not how to obtain it.