Subversion Repositories wimsdev

Rev

Rev 281 | Rev 4158 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

!if $wims_read_parm!=slib_header
 !goto proc
!endif
slib_title=Comparing chemical equations
slib_parms=4\
 , the student's equation \
 , a correct equation \
good , message if OK \
bad , message if not OK
slib_author=Georges Khaznadar
slib_license=GPL
slib_out= a message (which defaults to "good" or "bad").
slib_comment=Enter chemical equations as accepted by the command chemeq
slib_example= H2 + O2 -> H2O, 2H2 + O2 -> 2H2O \
2H2 + O2 -> 2H2O, 2H2_g + O2_g -> 2H2O \
H2 + 1/2 O2 -> H2O, 2H2 + O2 -> 2H2O \
Fe + Cu^2+ -> Fe^2+ + Cu, Fe + Cu^2+ -> Fe^2+ + Cu \
Ag^+ + 1/2 SO4^2- -> 1/2 Ag2(SO4), 2Ag^+ + SO4^2- -> Ag2(SO4)

!exit

:proc

!reset slib_parm, slib_student_eq, slib_correct_eq, slib_ok_reply, slib_ko_reply, slib_st_eq, slib_co_eq

slib_parm=!item 1 to 4 of $wims_read_parm
!distribute item $slib_parm into slib_student_eq, slib_correct_eq, slib_ok_reply, slib_ko_reply

!default slib_ok_reply=good
!default slib_ko_reply=bad

chemeq_option=n

slib_st_eq=!exec chemeq $slib_student_eq
slib_co_eq=!exec chemeq $slib_correct_eq

!for slib_del in _aq, _s, _g
  slib_st_eq=!replace internal $slib_del by $empty in $slib_st_eq
  slib_co_eq=!replace internal $slib_del by $empty in $slib_co_eq
!next slib_del

!if $slib_st_eq = $slib_co_eq
  slib_out=$slib_ok_reply
!else
  slib_out=$slib_ko_reply
!endif

!reset chemeq_option