Subversion Repositories wimsdev

Rev

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

  1. !set special_list=imagefill,expandlines,rename,help,tooltip
  2.  
  3. <p><center><h2>OEFµÄ¸ß¼¶¼¼ÇÉ</h2></center>
  4.  
  5. <h3>Òþ²ØÍ¼ÐÎÃû³Æ</h3>
  6. Èç¹ûÄãµÄÁ·Ï°ÐèҪʶ±ðËæ»úѡȡµÄͼÐÎ, ͼÐÎÎļþÃû¾ÍÊÇÒ»¸öÖØÒªµÄÌáʾ.
  7. ΪÁËÒþ²Ø´ËÎļþÃû, Äã¿ÉÒÔд
  8.  
  9. <pre>\img{\imagedir/picture.jpg align=middle alt="picture"}</pre>
  10.  
  11. ÕâÑùѧÉúÔÚä¯ÀÀÆ÷Àï¿´µ½µÄÊÇ
  12.  
  13. <pre>&lt;img src="a_random_unrelated_file_name" align=middle alt="picture"&gt;</pre>
  14.  
  15. ÕæÊµÎļþÃû±»Òþ²ØÁË.
  16.  
  17. <p><b>×¢Òâ</b>. ²»ÒªÖ±½ÓʹÓÃWIMSÃüÁî <em>rename</em> ´¦ÀíÎļþÃû,
  18. ·ñÔòÁ·Ï°½«²»ÄÜÔÚ±»±£´æµÄ»·¾³ÀïÕý³£¹¤×÷.
  19.  
  20. <h3>·Ö²½Á·Ï°</h3>
  21. ·Ö²½Á·Ï°¿Éͨ¹ýÃüÁî <tt>\steps</tt> ¶¨Òå. ¾ÙÀýÀ´Ëµ, Èç¹ûÄ㶨Òå
  22.  
  23. <pre>\steps{choice 1, reply 1
  24. choice 2, reply 2, reply 3
  25. choice 3
  26. }</pre>
  27.  
  28. ´ËÁ·Ï°½«·Ö³É3²½, µÚÒ»²½ÒªÇó¶àÖØÑ¡Ôñ(choice 1)ÒÔ¼°×ÔÓɸñʽµÄ»Ø´ð(reply 1),
  29. µÚ2²½ÊÇÒ»¸ö¶àÖØÑ¡ÔñÒÔ¼°Á½¸ö×ÔÓɸñʽµÄ»Ø´ðµÄ»Ø´ð, µÈµÈ.
  30. <p>
  31. <tt>\steps</tt> µÄÄÚÈݽÓÊÜ(Ç°ÃæÒѶ¨ÒåµÄ)²ÎÊýÒÔ¼°Ìõ¼þ¶¨Òå,
  32. ÕýÈç¶Ô²ÎÊýµÄ¶¨ÒåÒ»Ñù. ÕâÑù¾ÍʹµÃÄã¿ÉÒÔÑ¡ÔñÐÔµØÕ¹Ê¾»Ø´ðÀ¸(¸ù¾Ý²ÎÊýµÄËæ»ú±äÁ¿),
  33. ÉõÖÁÖ»º¬Ò»²½µÄÇéÐÎÒ²ÊÇÈç´Ë.
  34. <p>
  35. Çë×¢Òâ, Èç¹ûÓû§ÔÚÇ°ÃæµÄ²½ÖèÀï³öÁË´í, ÒÔºóµÄ²½Öè¾Í²»³öÏÖÁË(¿ÉÒÔÈÏΪȫ¶¼´íÁË).
  36. <p>
  37. ÔÚÁ·Ï°µÄ³ÂÊöÀï, µ±Ç°µÄ²½Êý¿Éͨ¹ý±äÁ¿ <tt>\step</tt> »ñµÃ,
  38. ´Ë±äÁ¿Ëæ×ÅÓû§»Ø´ðµÄ½øÕ¹¶øÖð²½È¡Öµ 1,2,...
  39. <p>
  40. ΪÁËÉè¼Æ¶¯Ì¬µÄ·Ö²½Á·Ï°(²½ÊýËæÓû§µÄ»Ø´ð¶ø·¢Éú±ä»¯),
  41. Äã¿ÉÒÔʹÓÃÃüÁî <tt>\nextstep{...}</tt>. <tt>\nextstep</tt> ÀàËÆÓÚ <tt>\steps</tt>,
  42. µ«Ö»ÓеÚÒ»ÐÐÊÇÓÐЧµÄ. Ëü½öµ±ÆäÄÚÈÝÊÇÓÉÕâÑùµÄ±äÁ¿¸ø³öʱ²ÅÄÜʹÓÃ,
  43. Õâ¸ö±äÁ¿Ó¦¸ÃÓÉ post-reply µÄ²ÎÊý¶¨ÒåËù¸Ä±ä.
  44. µ±ÔÚijһ²½Ê± <tt>\nextstep</tt> µÄÄÚÈݱä³É¿ÕÁË, Á·Ï°¾ÍÍ£Ö¹ÁË.
  45. <p>
  46. ÔÚÈκÎÇéÐÎ, ÔÚÒ»¸öOEFÔ´ÂëÄÚ, ×î¶àÖ»ÄܳöÏÖÒ»¸ö <tt>\steps</tt> »ò
  47. <tt>\nextstep</tt> µÄÉùÃ÷.
  48.  
  49. <h3>Ìõ¼þ·Ö²æÓëÑ­»·</h3>
  50.  
  51. ¿ÉÓõÄÃüÁî:
  52.  
  53. <pre>
  54. \if{Ìõ¼þ}{ifµÄÄÚÈÝ}
  55. \if{Ìõ¼þ}{ifµÄÄÚÈÝ}{ÆäËüÄÚÈÝ}
  56. \for{var=n1 to n2}{Ñ­»·ÄÚÈÝ}
  57. \while{Ìõ¼þ}{Ñ­»·ÄÚÈÝ}     (Ö»ÓÃÔÚÖ÷»·¾³)
  58. </pre>
  59.  
  60. ÕâЩÃüÁî(<tt>while</tt> ³ýÍâ)¿ÉÒÔ±»ÓÃÓÚ³ÂÊö(<tt>statement</tt>)¡¢Ìáʾ(<tt>hint</tt>)¡¢½â´ð(<tt>solution</tt>)»ò·´À¡(<tt>feedback</tt>)ÄÚ,
  61. »òÓÃÓÚÖ÷»·¾³Àï.
  62. ÔÚ×îºóÒ»ÖÖÇéÐÎ, Ìõ¼þÖ´ÐÐÖ»Ó°Ïì²ÎÊýµÄ¶¨Òå.
  63.  
  64. <a name=special></a>
  65. <h3>ÌØÊâ·½·¨</h3>
  66.  
  67. ÔÚÁ·Ï°µÄ³ÂÊö(<tt>statement</tt>)ÀïÀûÓÃÃüÁî <tt>\special{...}</tt>
  68. ¿ÉÓÐÏÂÁÐÌØÊâ·½·¨:
  69. <p>
  70. !if $special_parm=all
  71.  !for sp in $special_list
  72.   <p><center><h4>ÌØÊâ·½·¨ <tt>$sp</tt></center></h4> <p>
  73.   Ò»°ãÓï·¨: <tt>\special{$sp <i>²ÎÊý</i>}</tt> <p>
  74.  
  75.   !read oef/special/$sp.phtml help
  76.  !next sp
  77. !else
  78.  !for sp in $special_list
  79.   !href cmd=help&special_parm=oefadv&special_parm2=$sp#special $sp
  80.  &nbsp;
  81.  !next sp
  82. !endif
  83.  
  84. !if $special_parm2 isitemof $special_list
  85. <p><center><h4>ÌØÊâ·½·¨ <tt>$special_parm2</tt></center></h4> <p>
  86. Ò»°ãÓï·¨: <tt>\special{$special_parm2 <i>²ÎÊý</i>}</tt> <p>
  87.  
  88. !read oef/special/$special_parm2.phtml help
  89. !endif
  90.  
  91. <h3>Ô¤´¦Àí×ÊÔ´</h3>
  92.  
  93. ±¾¹¦Äܲ»ÄÜÓÃÓÚ´´½¨Á·Ï°(createxo). Äã¿ÉÔÚÄ£¿é¹¤¾ß(Modtool)ÏÂʹÓÃËüÀ´Ð´OEF(¼°Deductio)Á·Ï°.
  94. <p>
  95. ËüʹÄã¿ÉÒÔ°ÑÔ´ÂëµÄ¹«¹²²¿·Ö°üº¬ÔÚ¼¸¸öoefÎļþÀï.
  96. ÄãÒ²¿ÉÒÔÀûÓÃËü´ÓÒ»¸öÔ¤×ÊÔ´ÅúÉú³É¼¸¸öoef, ËüÃÇÏ໥֮¼äÏà²îһЩºê¶¨Òå.
  97. <p>
  98. ΪʹÓÃÕâ¸ö¹¦ÄÜ, Ó¦ÔÚ src Ͻ¨Á¢Ò»¸ö×ÓĿ¼ cpp/.
  99. Ô¤×ÊÔ´ÎļþÒÔ .cpp ×÷Ϊºó׺·ÅÈë´Ë×ÓĿ¼. ÔÚÕâЩÎļþÀï,
  100. Äã¿ÉÒÔ¼ÓÈë cpp µÄÖ¸ÁîÈç <tt>#include</tt> »ò <tt>#if</tt>.
  101. (Çë²Î¿´ cpp ÊÖ²á»ò c µÄ˵Ã÷ÒÔÁ˽âÓï·¨ÏêÇé.)
  102. <p>
  103. cppÎļþµÄµÚÒ»ÐÐÓ¦¸Ã¶¨ÒåÒ»¸öÄ¿±ê±í, Æä¸ñʽΪ
  104. <pre>
  105. target=targ1 targ2 targ3 ...
  106. </pre>
  107. ÕâÐÐÃüÁîµÄÒâÒåÊDZ¾cppÎļþ½«Éú³É targ1.oef, targ2.oef, µÈµÈ.
  108. (Êä³öÎļþ»á×Ô¶¯Ìí¼Óºó׺ .oef). ÔÚÉú³ÉÄ¿±êÎļþ <em>targ1</em> ʱ,
  109. ν´Ê <tt>#TARGET</tt> »á±»¶¨ÒåΪ <em>targ1</em>. (¶øÇÒºê
  110. <em>TARGET_targ1</em> Ò²±»¶¨Òå.)
  111. ËùÒÔÔÚcppÔ­ÎļþÀï¿ÉÒÔ¼ÓÈëÈçϵÄÐÐ:
  112. <pre>
  113. #if #TARGET (targ1)
  114. \title{Á·Ï°1}
  115.  \integer{v1=3}
  116.  \text{t1=ÕâÊÇtarget 1}
  117. #endif
  118. #if #TARGET (targ2)
  119. \title{Á·Ï°2}
  120.  \integer{v1=5}
  121.  \text{t1=ÕâÊÇtarget 2}
  122. #endif
  123. </pre>
  124. ʹµÃÉú³ÉµÄÄÚÈÝÓëÄ¿±êÓйØ.
  125. <p>
  126. °üº¬ÎļþÒ²Ó¦¼ÓÉϺó׺ .inc ºó·Åµ½ src/cpp Ŀ¼Àï. ÃüÁîÐÐ
  127. <pre>
  128. #include "common.inc"
  129. </pre>
  130. ½«°Ñ common.inc µÄÄÚÈݲåÈëÉú³ÉµÄoefÎļþÀï.
  131. Çë×¢Òâ, ΪÁ˰²È«µÄÔ­Òò, ½ûÖ¹Ö¸Ã÷°üº¬ÎļþµÄĿ¼.
  132. <p>
  133. ÌØ±ðÌáʾ; Èç¹ûÄãµÄcppÎļþµÄÎı¾ÀﺬÓÐδ¹Ø±ÕµÄµ¥ÒýºÅ»òË«ÒýºÅµÄ»°,
  134. cpp»áÏÝÓÚ»ìÂÒ. ÔÚÕâÖÖÇéÐÎ,
  135. Äã¿ÉÒÔÀûÓà c µÄ×¢½â(<tt>/* ... */</tt>)°Ñº¬ÓÐÕâÑùÎı¾µÄÃüÁî±£»¤ÆðÀ´.
  136.  
  137. <h3>Á·Ï°»·¾³</h3>
  138. ÌØÊâ±äÁ¿ <tt>\oefenv</tt> ¿ÉÓÃÀ´²âÊÔÁ·Ï°µÄ»·¾³(Èç¹ûÔÚÁ·Ï°ÀïûÓжÔËüÖØ¶¨ÒåµÄ»°).
  139. <p>
  140. Ŀǰ´Ë±äÁ¿ÄܲâÊÔµÄÄÚÈÝÖ»ÓÐ
  141. ``debug''. ÔÚÒÔÏÂÇéÐÎÀï, debug½«³öÏÖÔÚ <tt>\oefenv</tt> Àï:
  142. <ol>
  143. <li>µ±ËüÔÚ´´½¨Á·Ï°(createxo)ÄÚÖ´ÐÐʱ.</li>
  144. <li>µ±ËüÔÚÄ£¿é¹¤¾ß(modtool)ÄÚ±»²âÊÔʱ, Ä¿µÄÊÇΪÁË¿ª·¢.</li>
  145. <li>µ±ËüÊǰ༶µÄÁ·Ï°, ¶øÇÒ±»Ö÷³Ö½ÌʦִÐÐʱ.
  146. </li>
  147. </ol>
  148. ÔÚÕâЩÇéÐÎ, Ðí¶àÀàÐ͵ÄÊäÈëÀ¸Àï¶¼»áÏÔʾÕýÈ·µÄ´ð°¸,
  149. ÈÃÄã¿´µ½Á·Ï°ÆÚÍûµÄ½á¹ûÊÇʲô.
  150. <p>
  151. Äã¿ÉÒÔÓÃÒÔÏÂÐÎʽÔÚÁ·Ï°ÀïÌí¼Ó¾À´íÐÅÏ¢
  152. <pre>
  153. \if{debug iswordof \oefenv}{ÓûÌí¼ÓµÄ¾À´íÐÅÏ¢}
  154. </pre>
  155. µ±Á·Ï°±»²âÊÔʱ, ÕâЩÐÅÏ¢»á×Ô¶¯ÏÔʾ, ¶øÇÒѧÉú×ö×÷ҵʱÓÖ×Ô¶¯Òþ²Ø.
  156.  
  157.  
  158.