このディレクトリの索引

:- op(700,xfx,は). % *** user: 'ABC分析パラメータ' / 3 *** 'ABC分析パラメータ'('A',0.0e+00,0.7). 'ABC分析パラメータ'('B',0.7,0.9). 'ABC分析パラメータ'('C',0.9,1.0). 'ABC分析'(X,A,B,C) :- '加算'(X,[_,S]), findall([U,L1],(append(L1,L2,X) , '加算'(L1,[_,D]) , U is D / S , U < 0.7),L), max(L,A), A = [W1,L3], append(L3,L4,X), findall([V,L5],(append(L5,L6,L4) , '加算'(L5,[_,E]) , V is E / S , V < 0.2),L7), max(L7,B), B = [W2,L8], append(L8,L9,L4), W3 is 1 - W1 - W2, C = [W3,L9], !. % *** user: 'ABC分析' / 7 *** 'ABC分析'(X,PerA,PerB,PerC,A,B,C) :- '加算'(X,[_,S]), 'ABC分析パラメータ'('A',Ap1,Ap2), 'ABC分析の二'(X,S,Ap1,Ap2,PerA,A), append(A,L2,X), 'ABC分析パラメータ'('B',Bp1,Bp2), 'ABC分析の二'(L2,S,0.0e+00,Bp2 - PerA,PerB,B), append(B,C,L2), PerC is 1 - PerA - PerB, !. % *** user: 'ABC分析の二' / 6 *** 'ABC分析の二'(L,S,Per1,Per2,PerX,X) :- findall([U,L1],(append(L1,_,L) , '加算'(L1,[_,D]) , U is D / S , U > Per1 , U =< Per2),L2), max(L2,Y), Y = [PerX,X], !. % *** user: '加算' / 2 *** '加算'(trunc(L),SL) :- '加算'(L,SL2), findall(A,(member(B,SL2) , A is trunc(B)),SL), !. '加算'('四捨五入'(L),SL) :- '加算'(L,SL2), findall(A,(member(B,SL2) , A 'は' '四捨五入'(B)),SL), !. '加算'('切捨て'(L),SL) :- '加算'(L,SL2), findall(A,(member(B,SL2) , A 'は' '切捨て'(B)),SL), !. '加算'('切り上げ'(L),SL) :- '加算'(L,SL2), findall(A,(member(B,SL2) , A 'は' '切り上げ'(B)),SL), !. '加算'([],L) :- var(L), L = 0.0e+00, !. '加算'([],L) :- \+(var(L)), '加算の変数に零をおく'(L), !. '加算'([L|R],SL) :- 'ならび'(L), m_trans([L|R],L1), '加算_2'(L1,SL), !. '加算'(X,S) :- '加算_1'(X,0.0e+00,S) . % *** user: ('は') / 2 *** _項 'は' (_ネットワーク :: _式) :- _ネットワーク :: _項 'は' _式, !. _評価項 'は' N : L :- M 'は' N, L1 'は' L, list_nth(M,L1,_評価項), !. _評価項 'は' prolog(_評価項) :- functor(_評価項,F,Arg), \+(predicate_type(F,Arg,undefined)), !, error_protect(_評価項,fail) . _評価値 'は' [X|{P}] :- findall(X,P,_評価値), !. _評価項 'は' ` _値 :- !, _評価項 = _値, !. _項 'は' _式 :- var(_式), _項 = _式, !. _項 'は' _式 :- error_protect('一時関数定義'(_式,_項),fail) . _項 'は' _式 :- atom(_式), member(_式,[minint,maxint,cputtime,time,csize,cused,dbsize,dbused,gsize,gused,noptrs,ptrsued,ssize,sused,tsize,tused]), !, _項 is _式, !. _項 'は' _式 :- '二項組込み関数'(_式), '二項組込み関数の評価'(_式,_項) . _項 'は' _式 :- '二項組込み関数'(_式), !, fail . _項 'は' _式 :- functor(_式,Functor,1), arg(1,_式,Arg), Y 'は' Arg, functor(_式_1,Functor,1), arg(1,_式_1,Y), member(Functor,[atom,real,integer,var,float,list]), !, error_protect(_式_1,fail), _項 = Y, !. _項 'は' _式 :- atom(_式), error_protect(get_global(_式,_項),fail), !. _項 'は' _式 :- real(_式), _項 = _式, !. _項 'は' _式 :- real(_式), !, fail . _項 'は' _式 :- list(_式), findall(X,(member(U,_式) , X 'は' U),_項) . _項 'は' _式 :- list(_式), !, fail . _項 'は' _erlang_module : _erlang関数 :- 'erlang関数評価'(_erlang_module : _erlang関数,_項), !. _項 'は' _式 :- '関数定義'(_式,_項), !. _項 'は' _式 :- functor(_式,_関数,_次数), function(_関数,_次数), findall(Arg,(for(1,N,_次数) , arg(N,_式,Arg)),L), '関数評価に於いて引数部分の関数評価'(L,L2), _式の二 =.. [_関数|L2], error_protect(_項 is _式の二,fail) . _項 'は' _評価関数 :- error_protect(_項 is _評価関数,fail), !. _評価項 'は' prolog(_評価項) :- functor(_評価項,F,Arg), \+(predicate_type(F,Arg,undefined)), !, error_protect(_評価項,fail), !. _項 'は' _評価項 :- '述語評価が可能'(_評価項,_関数,_次数,_次数足す一), _評価項 =.. _評価項の項分解ならび, findall(Arg,(for(1,N,_次数) , arg(N,_評価項,Arg)),L), '関数評価に於いて引数部分の関数評価'(L,L2), append(L2,[_],_変数を付加した引数ならび), _解付き評価項 =.. [_関数|_変数を付加した引数ならび], error_protect(_解付き評価項,fail), arg(_次数足す一,_解付き評価項,_項) . _項 'は' _評価項 :- \+('述語評価が可能'(_評価項,_関数,_次数,_次数足す一)), functor(_評価項,F,Arg), \+(predicate_type(F,Arg,undefined)), error_protect(_評価項,fail), arg(Arg,_評価項,_項) . _項 'は' _評価項 :- \+('述語評価が可能'(_評価項,_関数,_次数,_次数足す一)), functor(_評価項,F,Arg), \+(predicate_type(F,Arg,undefined)), \+(error_protect(_評価項,fail)), _評価項 = _項, !. _項 'は' _式 :- atomic(_式), \+('述語評価が可能'(_式,_関数,_次数,_次数足す一)), _項 = _式, !.