26

Re: Программы на прологе

predicates
    ryad(integer, real)      
clauses
    ryad(1, 2):- !.    
    ryad(X, Zn):-
        Y=X-1,
        ryad (Y, Z),
        Zn=Z+(X+1)/X.
   
GOAL: write ("Enter a number.\n"),readint(X), ryad(X, Y).

Поделиться

27

Re: Программы на прологе

predicates
    ryad(integer, real)      
    ryad(integer, real, integer, real)
clauses
    ryad(N, Zn) :-
        X=N+1,
            ryad(X, Zn, 1, 0).
       ryad(N, Zn, N, Zn) :- !.
       ryad(N, Zn, I, Z) :-
          NewI = I+1,
          NewZ = (I+1)/I+Z,
          ryad(N, Zn, NewI, NewZ).

       
GOAL:  write ("Enter a number.\n"),readint(X), ryad(X, Y).

Поделиться

28

Re: Программы на прологе

predicates
f(long)
clauses
f(N):-New=N+1,New<=11,K=exp((New-1)*ln(2)),write(N,"^",K),nl,f(New).
goal
f(0).

Поделиться

29

Re: Программы на прологе

predicates
    sum(integer,real)
    sinus(integer,real)
    sum(real,real,real,real)
clauses
    sinus(Y,R):-A=ln(1),B=Y*A,St=exp(B),R=sin(St).
    sum(N,R):-sum(N,R,1,0).
    sum(N,R,N,R):-!.
    sum(N,R,L,P):-sinus(L,R1),L1=L+1,
    P1=P+R1,
    sum(N,R,L1,P1).   
                       
goal
    sum(5,R1).

Поделиться

30

Re: Программы на прологе

domains
     treetype = tree (string, treetype, treetype); empty ()

    predicates
     print_all_elements (treetype,integer)

    clauses
     print_all_elements (empty,N):-write("Высота дерева равна ",N),nl.

     print_all_elements (tree (X, Y, Z),N):-
       write (X), nl,N1=N+1,
       print_all_elements (Y,N1),
       print_all_elements (Z,N1).

    goal
    N=0,
      print_all_elements  (tree ("Катя",   
                                tree ("Миша", 
                                      tree ("Вова", empty, empty), 
                                        tree ("Лида", empty, empty)),
                                tree ("Люда",
                                tree ("Зина", empty, empty), 
                                         tree ("Петя", tree("Антон",empty, empty),empty))),N),nl,fail;true.

Поделиться

31

Re: Программы на прологе

domains
     treetype = tree (string, treetype, treetype); empty ()

    predicates
     print_all_elements (treetype,integer)

    clauses
     print_all_elements (empty,N):-write("Высота дерева равна ",N),nl.

     print_all_elements (tree (X, Y, Z),N):-
       write (X), nl,N1=N+1,
       print_all_elements (Y,N1),
       print_all_elements (Z,N1).

    goal
    N=0,
      print_all_elements  (tree ("Катя",   
                                tree ("Миша", 
                                      tree ("Вова", empty, empty), 
                                        tree ("Лида", empty, empty)),
                                tree ("Люда",
                                tree ("Зина", empty, empty), 
                                         tree ("Петя", tree("Антон",empty, empty),empty))),N),nl,fail;true.

Поделиться

32

Re: Программы на прологе

predicates   
    man(symbol)
    woman(symbol)
    parent(symbol, symbol)
    d_brat(symbol, symbol)
    d_sestra(symbol, symbol)
   
clauses
    man(sergey).
    man(dmitriy).
    man(valera).
    man(petr).
    man(mihail).
    man(nikolay).
    man(alex).
    man(alexandr).
    man(kostya).   
    woman(barbara).
    woman(anna).
    woman(tatiana).
    woman(liza).
    woman(katya).
    woman(juli).
    woman(raisa).
    woman(lyuda).
   
    parent(barbara, liza).
    parent(liza, alex).
    parent(alex,kostya).
    parent(raisa, kostya).
    parent(anna, katya).
    parent(anna, petr).
    parent(sergey, katya).   
    parent(sergey, petr).
    parent(katya, juli).
    parent(petr, alex).
    parent(petr, alexandr).
    parent(alexandr, lyuda).
    parent(juli, lyuda).
    parent(tatiana, mihail).
    parent(dmitriy, mihail).
    parent(mihail, juli).
    parent(valera, nikolay).
    parent(nikolay, raisa).
   
    d_brat(X, Y) :- man(X), parent(Z, X), parent(W, Y), parent(Q, Z), parent(Q, W), Z<>W, X<>Y.
    d_sestra(X, Y) :- woman(X), parent(Z, Y), X<>Y, parent(W, X), parent(Q, Z), parent(Q, W), Z<>W.
   
goal
    d_brat(Who, Whose); write("-------------------------------------------------"), nl, d_sestra(Who, Whose).

Поделиться

33

Re: Программы на прологе

predicates
вероятность(real)
предположение(real,real,real,real)
решение(real,real,real,real)
clauses   
вероятность(1).
вероятность(2).
вероятность(3).
вероятность(4).

предположение(A,B,C,D):-
A=B,not(C=D).
предположение(A,B,C,D):-
not(A=B),C=D.

решение(A,B,C,D):-
вероятность(A),
вероятность(B),
вероятность(C),
вероятность(D),
A<>B,A<>C,A<>D,B<>C,B<>D,C<>D,
предположение(D,1,B,2),
предположение(D,2,C,3),
предположение(A,2,C,4).
goal

решение(Андрей, Виктор, Дима, Саша).

Поделиться

34

Re: Программы на прологе

predicates
функция(real, real, string)   
clauses   
функция(X,Y,Z):- Y=X*X, Z="X^2", X<-2,!.
функция(X,Y,Z):- Y=X+1, Z="X+1", X<5,!.
функция(X,Y,Z):- Y=X*X, Z="X^2", X>=5.
goal
readreal(X),
функция(X,Y,Z),
write("X = ",X," Y=",Y," Вид зависимости: ",Z," ").

Поделиться

35

Re: Программы на прологе

domains
argument =real
result =real
predicates
func(argument, result)
clauses
func(X,Y):- X<-2,Y=X*X,!.
func(X,Y):- X<5,Y=X+1,!.
func(X,Y):-Y=X*X .
goal
X=-6,
func(X, Y),
write("Pri X=",X,"   F(X)=",Y,"            ").

Поделиться

36

Re: Программы на прологе

predicates
ch(integer)
a(integer)
clauses
ch(-10).

a(X):-ch(X),X>0,!.
a(X):-ch(Y),X=Y-2*Y.

goal
a(X).

Поделиться

37

Re: Программы на прологе

predicates
abc(integer,integer,integer)
a1b1c1(integer,integer,integer)
it(integer)
it1(integer)
max(integer)
clauses
abc(8,3,13).
a1b1c1(2,6,45).

it(X):-abc(X,Y,Z),X<Y,X<Z,!.
it(X):-abc(Y,X,Z),X<Y,X<Z,!.
it(X):-abc(Z,Y,X).

it1(X):-a1b1c1(X,Y,Z),X<Y,X<Z,!.
it1(X):-a1b1c1(Y,X,Z),X<Y,X<Z,!.
it1(X):-a1b1c1(Z,Y,X).

max(X):-it(X),it1(Y),X>Y,!.
max(X):-it1(X),it(Y).

goal
it(Min),
write("Min v treygolnike abc=",Min,"    ");
it1(Min),
write("Min v treygolnike a1b1c1=",Min,"    ");
max(Max),
write("Max v dvyx treygolnikax abc i a1b1c1=",Max,"    ").

Поделиться

38

Re: Программы на прологе

Поделиться

39

Re: Программы на прологе

Поделиться

40

Re: Программы на прологе

/*****************************************************************************

        Copyright (c) My Company

Project:  RV
FileName: RV.PRO
Purpose: No description
Written by: Visual Prolog
Comments:
******************************************************************************/

include "rv.inc"

predicates

  rv()

clauses

  rv():-!.

goal

  rv().

Поделиться

41

Re: Программы на прологе

Поделиться

42

Re: Программы на прологе

Поделиться

43

Re: Программы на прологе

Поделиться

44

Re: Программы на прологе

Поделиться

45

Re: Программы на прологе

Поделиться

46

Re: Программы на прологе

Поделиться