- ...
:
Turbo Prolog 2.0, -
:
..
..
..
..
:
25
..
-
2010 .
:
Turbo Prolog 2.0 . - .
.
N E, .
:
r1 , .
Pr2 , .
Pr3 , .
Pr4 , .
. :
-:
:
1: , .
2: , .
3: , .
4: , .
4 :
-
-
-
- ,
.
N (V), (%). F1,F2,F3,F4 (N1,N2,E1,E2).
(α1 +α2)<>0, <>-. :
|
|
SR=((N*0.1+E*0.01)*E1+(N*0.05+E*0.005)*E2)/(E1+E2)
:
PREDICATES
MAIN(REAL,REAL,REAL)
PROC(REAL,REAL,REAL)
F1(REAL,REAL)
F2(REAL,REAL)
F3(REAL,REAL)
F4(REAL,REAL)
CLAUSES
MAIN(N,E,SR):-PROC(N,E,SR),WRITE("\n\n\n\n >>>> Srok slyzhby raboty akkum-ra -- ",SR," let").
PROC(N,E,SR):-F1(N,N1),F2(E,E1),F3(E,E2),F4(N,N2),N1>=E1,N2>=E2,(E1+E2)<>0,SR=((N*0.1+E*0.01)*E1+(N*0.05+E*0.005)*E2)/(E1+E2),SR>0;
F1(N,N1),F2(E,E1),F3(E,E2),F4(N,N2),N1>E1,N2<E2,(E1+E2)<>0,SR=((N*0.1+E*0.01)*E1+(N*0.05+E*0.005)*N2)/(E1+N2),SR>0;
F1(N,N1),F2(E,E1),F3(E,E2),F4(N,N2),N1<=E1,N2<=E2,(N1+N2)<>0,SR=((N*0.1+E*0.01)*N1+(N*0.05+E*0.005)*N2)/(N1+N2),SR>0;
F1(N,N1),F2(E,E1),F3(E,E2),F4(N,N2),N1<E1,N2>E2,(N1+E2)<>0,SR=((N*0.1+E*0.01)*N1+(N*0.05+E*0.005)*E2)/(N1+E2),SR>0.
F1(N,N1):-N<11,N1=0;
N>=11,N<12.5,N1=(N-11)/1.5;
N>=12.5,N1=1.
F2(E,E1):-E<50,E1=1;
E>=50,E<=100,E1=(E-50)/50;
E>=100,E1=0.
F3(E,E2):-E<50,E2=1;
E>=50,E<=100,E2=(100-E)/50;
E2=0.
F4(N,N2):-N<8.5,N2=0;
N>=8.5,N<11.5,N2=(N-8.5)/3;
N2=0.
GOAL
WRITE("\n\n Expert system opredelenie sroka slyzhby raboty akkum-ra!!"),
WRITE("\n\n Vvedite srednee napryazenia v akkum-re (0-12.5 V) -->>"),
READREAL(N),
WRITE("\n\n Vvedite srednuju resyrsoemkost v akkum-re (0-100 %) -->> "),
READREAL(E),
MAIN(N,E,SR),
READREAL(C).
:
-. , . , , 2,1 , U=12 V, - 90 %.