Программы на прологе.


/*Программа Lab2_1.pro */
domains
argument =real
result =real
predicates
func(argument, result)
clauses
func(X,0):- X<3,!. func(X,2):- X>=3,X<6,!. func(X,4) . goal X=-2, func(X, Y).

/*Программа Lab2_2.pro*/
domains
argument =real
result =real
predicates
func(argument, result)
clauses
func(X,0):- X<3,!. func(X,2):- X<6,!. func(X,4). goal X=-2, func(X, Y). /***************************************************************************** Copyright (c) My Company Project: 2PRIMERI FileName: 2PRIMERI.PRO Purpose: No description Written by: Visual Prolog Comments: ******************************************************************************/ include "2primeri.inc" predicates 2primeri() clauses 2primeri():-!. goal 2primeri(). /*Пример 2: Программа Lab2_3.pro */ predicates age (symbol,integer) % возраст кандидата в призывники man (symbol) % пол кандидата в призывники army(symbol) % призывник clauses age(petr,18). age(dima,17). age(nik,18). man(petr). man(dima). man(nik). army(X):- man(X), age (X,Y), Y>=18.
goal
army(X).

/*Пример 3: Программа Lab2_4.pro*/

DOMAINS

name, addr = string

PREDICATES
person(name,addr)
print_all()

CLAUSES
person(tom,city1).
person(jim,city2).
person(ann,city3).
person(lize,city1).
person(tata,city4).
person(kat,city5).

print_all():-person(Name,Addr), write(«\nName=»,Name,», Address=»,Addr),
fail.
goal
print_all.

predicates
necv(symbol,symbol)
cv(symbol,symbol)
yes(symbol,symbol,symbol)
name(symbol)

clauses
name(roza).
name(margarita).
name(anyuta).
necv(X,Y):-name(X),name(Y),X=»roza»,Y=»margarita».
cv(X,Y):-name(X),name(Y),X<>Y,not(necv(X,Y)).
yes(X,Y,Z):- cv(X,Y),cv(Y,Z),cv(Z,X),!.

goal
yes(X,Y,Z),
write(X,» — «,Y,»\n»,Y,» — «,Z,»\n»,Z,» — «,X,»\n\n\n»).

predicates
func(real,real).

clauses

func(X,Y) :- X<-2,!,Y=X*X. func(X,Y) :- X<5,!,Y=X+1. func(X,Y) :- Y=X*X. goal func(4,Rez), write("F(4)=",Rez).

Загрузка...