IIMS College: Putalisadak, Kathmandu, Nepal

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

IIMS College

Putalisadak, Kathmandu, Nepal

Name of Course Instructor: _Purnima Mulmi___________________________________________________

Course Code: __CC303n_________         Course Name: __Programming Models_____________________

Program Name: B.Sc(Hons).Computing             Semester: Seven______                    Batch: Sept 2018____

Assignment I / II / III: Assignment __ Assignment Type (Individual/Group): Individual____________________

Assignment Title: Implement the Shape hierarchy as given in the diagram____________________________

Max. Marks: ______                 Date of Allotment: 11/02/2020___    Date of Submission: 11/7/2020_______

(Write the individual/group members details below):


Name of the Student UCSI ID number Contact Number Email Id
Om Narayan Singh 1001852431 9860026839 sangam.ale.sa63@gmail.com

Evaluation: ________________________ obtained out of ____________________________

Evaluator’s Comment: ____________________________________________________________

________________________________________________________________________________

____________________________________________________________________________

-------------------------------------------
Evaluator’s Signature & Date
Code:

%% Function: see is called to read the input from the keyboard.


%% Value is passed to check its length.
see :- write('Enter the number: '),
read(N),
checkLength(N).

%% N is checked if its is 0, less than 10 or greate or equal to 10.


checkLength(N):- N = 0 -> write('No output');
N < 10 -> lessThanNine(N,1);
N >= 10 -> moreThanNine(N,1).

%% On entering 10, functor lessThanNine /2 evaluates odd numbers from 1 to 10.


%% On entering more than 10, N is further checked if it is even or odd number.
moreThanNine(N,A):- N =10 ->
lessThanNine(9,A),
write(N);
lessThanNine(9,A),
moreThanNineCheck(N,10).

%% The greater than 10 value is checked to identify if it is odd or even.


moreThanNineCheck(N,A):- 1 is mod(N,2)->
moreThanNineOdd(N,A);
moreThanNineEven(N,A).

%% For odd number greater than 10, moreThanNineOdd /2 prints all even number
from 10 to N.
%% The recursion terminate when N = 9.
moreThanNineOdd(9,_).
moreThanNineOdd(N,A):- 0 is mod(N,2)->
N1 is N-1,
A1 is A+1,
moreThanNineOdd(N1,A1);
1 is mod(N,2)->
write(A),
write(' '),
N1 is N-1,
A1 is A+1,
moreThanNineOdd(N1,A1).
%% For even number greater than 10, moreThanNineEven /2 prints all even number
from 10 to N.
moreThanNineEven(9,_).
moreThanNineEven(N,A):- 0 is mod(N,2)->
write(A),
write(' '),
N1 is N-1,
A1 is A+1,
moreThanNineEven(N1,A1);
1 is mod(N,2)->
N1 is N-1,
A1 is A+1,
moreThanNineEven(N1,A1).

%% On entering number less than 10, lessThanNine /2 checks if the number is even
or odd.
lessThanNine(N,A):- 1 is mod(N,2)->lessThanNineOdd(N,A);
lessThanNineEven(N,A).

%% On entering odd number less than 10, lessThanNineOdd /2 prints all odd
numbers between 1 and N.
%% The recursion terminates when N = 0.
lessThanNineOdd(0,_).
lessThanNineOdd(N,A):- 1 is mod(N,2) ->
write(A),
write(' '),
N1 is N-1,
A1 is A+1,
lessThanNineOdd(N1, A1);
0 is mod(N,2)->
N1 is N-1,
A1 is A+1,
lessThanNineOdd(N1, A1).

%% On entering even number less than 10, lessThanNineEven /2 prints all odd
numbers between 1 and N.
lessThanNineEven(0,_).
lessThanNineEven(N,A):- 1 is mod(N,2) ->
N1 is N-1,
A1 is A+1,
lessThanNineEven(N1, A1);
0 is mod(N,2)->
write(A),
write(' '),
N1 is N-1,
A1 is A+1,
lessThanNineEven(N1, A1).

Output:

You might also like