% , CLP(R)
% resistort Tl, T2, R):
% R - ; Tl, T2 -
resistort (VI,il], <V2,I2], R):-
{ II - -12, V1-V2 - I1*R).
% diode! Tl, T2>:
% Tl, T2 - .
% 1 2
diodet (VI,il], (V2,I2)):-
{II + 12 - 0), (II > 0, VI - V2
II - , VI -< V2].
battery! (VI, ID, [V2,12), Voltage):-{II + 12 - 0, Voltage =vl - v2).
% conn[ [TlrT2,...]):
% * Tl, T2,....
,
II. Prolog
connf Terminals):-conn< Terminals, 0).
conn([ (V,I) ], Sum):-
(Sum + I = 0 }.
conni [ (VI,II), <V2,I2) I Rest], Sum) { VI - V2, Suml = Sum + II), COnn([ (V2, 12) [ Rest], Suml).
, .
. . 14.4. , , CLP(R). . 14.4, . , , . , circuita . 14.4, 21 . "" . 2 0, 10 , ( circuit_a).
, , 21 6 , - 1 .
? -circuit_a [ Rl, R2, [6,1)). Rl= 4. 0 82 - 6.0
(. . 14.4, ). , "" 35, 10 .
?- circuit_b<10, _, _, _, _, 51, 52).
151 = (7.340425531514894, 0.0425531914893617)
52 = (5.212765957446809, -0.0425531914893617)
, RS 7,340 5,213 , 0,04255 .
14.6. , . 14.4. . , . 14.4, , R5. 517 .
14.
TI
Til
:
111 p.
i. T12 ii T21
T
k/
I
T22
circuit a(R1,R2, T21}:-T2 = (0,J, battery(T1,T2, 10), resistorf Til,T12,R1), resistorf T21, T22, R2), conn([T1,T11]), <[12,21]), conn([T2,T22J).
|
|
% 2 % 10
]
11
TJ
T2I
)
2
TI2
22
31
TS1
5
52
41
Ri
R4
]
T42
32
circuit [ U, T11,21,31,41, 51,TS2): 2 = (0, J, battery! T1,T2,U), resistorf 11.12. II,
resistorf ^! 10), resistorf T31. T32, 15), resistorf 141,142,10), resistorf T51.T52, 50), conn([T1,T11,T21]), conn([T12,T31,T51)J, conn([T22,T41,T52]), conn([T2, T32,T42]).
% 2 0
%R1 = 5 % R2 = 10 % R3 = 15
%R4=10 % R5 = 50
. 14.4.
II. Prolog