Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or...

14
Lecture on Programming Languages Chapter#5

Transcript of Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or...

Page 1: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Lecture on Programming

LanguagesChapter#5

Page 2: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Programming Paradigms/Models

Paradigm defines a model or way of programming

We will discuss the following three paradigms Imperative/Procedural Paradigm Declarative Paradigm Object Oriented Paradigm

Page 3: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

The evolution of programming paradigms

6-3

Page 4: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

The composition of a typical imperative program or program unit

6-4

Page 5: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Procedural Units

Local versus Global Variables Formal versus Actual Parameters Passing parameters by value versus

reference Procedures versus Functions

6-5

Page 6: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

The flow of control involving a procedure

6-6

Page 7: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Example of procedure written in C language

6-7

Page 8: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Executing the procedure

Demo and passing

parameters by value

Page 9: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Executing the

procedure Demo and passing

parameters by reference

Page 10: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Object Oriented Paradigm

In this approach all real world things are considered as an object. Each object has a certain set of qualities/ attributes and each object can perform some job/method. Thus if I have an object CAR then Car has its color, engine#, make, model etc as attributes and its methods can be drive(), stop() etc

Examples include C++, Java etc

Page 11: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Declarative Programming Approach

It emphasizes the question “What is the problem?” rather than “What algorithm is required for solving the problem?” Here a general problem solving approach is developed that can solve a number of problems. These languages are difficult to design and are special purpose by nature

PROLOG (Programming LOGic) is an example

Page 12: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Figure 6.25 Resolving the statements (P OR Q), (R OR ¬Q), ¬R, and ¬P

6-12

Page 13: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Declarative Programming

Resolution: Combining two or more statements to produce a new statement (that is a logical consequence of the originals). Example: (P OR Q) AND (R OR Q)

resolves to (P OR R) Resolvent: A new statement deduced by

resolution Clause form: A statement whose elementary

components are connected by the Boolean operation OR

Unification: Assigning a value to a variable so that two statements become “compatible.” 6-13

Page 14: Lecture on Programming Languages Chapter#5. Programming Paradigms/Models Paradigm defines a model or way of programming Paradigm defines a model or way.

Prolog Fact: A Prolog statement establishing a

fact Consists of a single predicate Form: predicateName(arguments).

Example: parent(bill, mary). Rule: A Prolog statement establishing a

general rule Form: conclusion :- premise.

:- means “if” Example: wise(X) :- old(X). Example: faster(X,Z) :- faster(X,Y), faster(Y,Z).

6-14