/*Программа 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).