21 To 30 Prolog Program
21 To 30 Prolog Program
Q:1 Find Maximum number in prolog. max:-write('Enter first number'),nl, read(Num1),nl, write('Enter second number'), nl,read(Num2),nl, write('Enter third number'),nl,read(Num3), find_max(Num1,Num2,Num3).
find_max(Num1,Num2,Num3):-(Num1>Num2,Num1>Num3->nl,write(Num1), write(' is the biggest'),!); (Num2>Num3->nl,write(Num2),write(' is the biggest'),!);nl,write(Num3), write(' is the biggest'),!. Output: | ?- max. Enter first number 50.
75 is the biggest
Q:2find out minimum number in prolog. minl([A], A). minl([A|B], C) :minl(B, D),
C is min(A, D).
X=2? Q:3 Code for Prolog program to find whether the length of a list is even or odd in Prolog domains x = integer l = integer* predicates length(l,x) evenlength(l) oddlength(l) clauses length([],0). length([X|List],Length) :length(List,Length1), Length = Length1 + 1. evenlength(List) :length(List,Length), Length mod 2 = 0. oddlength(List) :length(List,Length), Length mod 2 <> 0. Output : For evenlength : Goal: evenlength([1,2,3,4]) Yes Goal: evenlength([1,2,3,4,5]) No For oddlength :
Goal: oddlength([1,2,3,4,5]) Yes Goal: oddlength([1,2,3,4]) No Q:4 Sum of two number. start:- sum,nl.
sum:- write('X= '),read(X), write('Y= '),read(Y), S is X+Y, write('Sum is '),write(S). output sum:- X=55. Y=20. Sum is 75 Q:5 program to find the length of a given list in prolog. domains list=symbol* predicates len(list) findlen(list,integer) clauses len(X):findlen(X,Count), write("\nLength Of List : "), write(Count). findlen([],X):X=0.
findlen([X|Tail],Count):findlen(Tail,Prev), Count = Prev + 1. OUT PUT ======= Goal: len([a,b,c,d,e]) Length Of List : 5 Yes