Programming Paradigm (Cs A Level)
Programming Paradigm (Cs A Level)
PROGRAMMING PARADIGM
1 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
BINARY MULTIPLICATION
2 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
CASE 1 : MULTIPLY BY 2
3 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
CASE 2 : MULTIPLY BY 4
We can not multiply with numbers which are not included in the table of 2 for
example 9 and 5
NOTE: For Division we use logical shift right
4 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
INCREMENT IN A VARIABLE
Example
LDD Count
INC Acc
STO Count
5 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
6 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
7 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
8 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
9 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
10 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
11 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
12 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
13 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
1. Mostly used for artificial intelligence and expert systems.
2. Does not require coding in terms of imperative
3. Programming language that uses FACTS and RULES
4. Uses prolog based on predicate algebra
5. (dot) is necessary to mark the end of a fact
6. Variables use capital letters or Capitalized format
14 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
Declarative programming is used to extract knowledge by the use of queries
from a situation with known facts and Rules
EXAMPLES OF FACTS
student( Davis ) Ends a fact
student(Bill) Bill is a student
teacher( Ivan, Bill ) Ivan is the teacher of Bill
NOTE: Facts are written to create a knowledge base and then this knowledge base
can be used
15 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
FACTS
fruit(Orange).
fruit(Banana).
Fruit(pineapple).
child(Davis).
Child(Bill).
16 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
RULES
Rules apply to all facts
They are used to define relationships between facts
1. brother(X,Y):- X is a brother of Y if likes(X,Z) AND(,) likes(Y,Z)
2. it_is_afruit(X):- It is a fruit if that element is found in the list of facts fro fruits.
NOTE:
1. Facts have constants which never change
2. Rules have variables or constants that can change
HOW TO WRITE DECLARATIVE PROGRAMMING STATEMENTS IN IDE
1. Download and install prolog
2. Open notepad and declare all your statements
3. Save file with .pl file name extension
4. Close and double click on the file to open in Prolog IDE
5. Write goals(questions to test the facts using rules)
17 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
EXAMPLE
male(Davis). female(Lucy). parent(James, Davis).
male(James). female(Dianna). parent(Living, Lucy).
male(Living). female(Gretah). parent(Dianna, Gretah).
RULES
1. father(X,Y):- parent(X,Y) , male(X).
2. mother(X,Y):- parent(X,Y), female(X).
3. grandparent(X,Y):- parent(X,Z) , parent(Z,Y).
4. grandfather(X,Y):- grandparent(X,Y) , male(X).
5. grandchild(X,Y):- grandparent(Y,X).
INTEPRETATION
1. X is a father of Y if X is a parent of Y and is male
2. X is a mother of Y if X is a parent of Y and is female
3. X is a grand parent of Y if X is a parent of Z and Z is a parent of Y
4. X is a grand father of Y if X if a grand parent of Y and is a male
5. X is a grand child of Y if Y is a grand parent of X
18 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
NOTE: Do not use CAPITAL letter as your first letter unless it is a VARIABLE
19 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
20 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
21 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
22 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
23 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
24 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
25 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
26 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
DECLARATIVE PROGRAMMING
27 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
28 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
STUDENT
Name Contact Email Age Class
ATTRIBUTES
An object not only contains attributes but also some actions
Those actions are basically functions known as METHOD
29 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
CLASS
30 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
31 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
32 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
33 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
INHERITANCE
The derived class can use the properties from the parent class without re-
declaring them
The derived class can use the methods from the parent class without re-
declaring them
OR
34 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
INHERITANCE
35 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
INHERITANCE
36 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
POLYMORPHISM
Is when methods are redefined for derived classes
37 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
CONTAINMENT
A class include an instance of another class
Aggregation
The contained object can exist outside of its super class
Object is destroyed when super class is destroyed
38 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
FEATURES OF OOP
1. Access modifiers
2. Inheritance
3. Methods
4. Properties
5. Classes
6. Polymorphism
39 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
40 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
ENDCLASS
41 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
ENDCLASS
42 Davis_Kazibwe@2023KIS
AS & A LEVEL COMPUTER SCIENCE 9618
CALLING METHODS
Student1 . SETName(“Bill”)
Student1.GETName()
Result: Bill
44 Davis_Kazibwe@2023KIS