如何在WebWork(PG)中使用循环生成题目展示表格
你遇到的语法错误来自两个问题:
TEXT()函数的参数列表中所有元素只能用逗号分隔,你之前尝试的代码里map行末尾多写了分号,直接打断了参数列表的语法结构- Perl不允许直接在函数的参数列表中使用
for循环,需要用map函数把题目数组批量转换为表格行参数
可直接运行的实现代码
@questions=( "x(x+1)", "x^2(1-x)", "(x+2)(3x-4)", "(x-\\sqrt{x})(x+\\sqrt{x})", "(x^3-\\frac{x^2}{3}-1)(2-x)", "(x^3-2x)(x^{-2}+\\frac{1}{x^4})", "\\frac{x-\\sqrt{2x}}{x^2}" ); BEGIN_TEXT $BR $BR Find the derivatives. $PAR END_TEXT @header=(" f(x) "," f '(x) "); @header = map {EV3($_) } @header; TEXT( begintable(1+scalar(@header)), row(@header), map {row("\\[\\qquad{$_}\\qquad\\]",ans_rule(10))} @questions, endtable() );
后续新增导数题目只需要往@questions数组里追加对应的函数表达式即可,不需要手动修改表格部分的代码,会自动生成对应数量的题目行和答题框。
内容的提问来源于stack exchange,提问作者James Hughes
相关产品推荐
相关产品推荐

