/* gas2.mar */
/* legge dei gas isobara */

domains
titolo,nome=symbol
S=integer

predicates
azione
opera
elabora(integer)
temperatura
volume
tasto
goal azione.

clauses
azione:-
makewindow(1,5,1,"",1,1,20,78),opera.
opera:-
tasto,
write("calcolo legge dei gas :ISOBARA"),nl,
write("scrivi 1 per calcolo temperatura"),nl,
write("scrivi 2 per calcolo volume"),nl,
write("scrivi 0 per finire "),nl,
write("scelta="),readint(S),
elabora(S).
elabora(1):-temperatura.
elabora(2):-volume.
elabora(0):-exit.

volume:-
write("calcolo volume del gas"),nl,
write("scrivi volume1 in litri   ="),readreal(V1),
write("scrivi temperatura1 in C  ="),readreal(T1),
write("scrivi temperatura2 in C  ="),readreal(T2),
T1K=273+T1,
T2K=273+T2,
V2=V1*T2K/T1K,
write("volume in litri           =",V2),nl,opera.

temperatura:-
write("calcolo temperatura del gas"),nl,
write("scrivi volume1 in litri   ="),readreal(V1),
write("scrivi volume2 in litri   ="),readreal(V2),
write("scrivi temperatura1 in C  ="),readreal(T1),
T1K=273+T1,
T2K=V2*T1K/V1,
write("temperatura in kelvin     =",T2K),nl,
T2=T2K-273,
write("temperatura in centigradi =",T2),nl,
opera.

tasto:-
makewindow(3,3,2,"",20,60,3,15),
write("premi enter"),
readchar(_),removewindow,
gotowindow(1),clearwindow.

+-----------------------------------------
¦+----------------------------------------
+¦calcolo legge dei gas :ISOBARA
+¦scrivi 1 per calcolo temperatura
¦¦scrivi 2 per calcolo volume
¦¦scrivi 0 per finire
¦¦scelta=1
¦¦calcolo temperatura del gas
¦¦scrivi volume1 in litri   =100
¦¦scrivi volume2 in litri   =500
¦¦scrivi temperatura1 in C  =20
¦¦temperatura in kelvin     =1465
¦¦temperatura in centigradi =1192
¦¦
¦¦
¦¦
+------------------------------------------
¦+-----------------------------------------
+¦calcolo legge dei gas :ISOBARA
+¦scrivi 1 per calcolo temperatura
¦¦scrivi 2 per calcolo volume
¦¦scrivi 0 per finire
¦¦scelta=2
¦¦calcolo volume del gas
¦¦scrivi volume1 in litri   =100
¦¦scrivi temperatura1 in C  =50
¦¦scrivi temperatura2 in C  =100
¦¦volume in litri           =115.47987616
¦¦
¦¦
¦¦



ritorna