Skip to content

問題作成クイック・スタート 7: 数式簡略を無効化する

1 - 基本的な問題 | 2 - 問題変数 | 3 - フィードバックを改善する | 4 - ランダム化 | 5 - 問題のテスト | 6 - 複数解答欄問題 | 7 - 数式簡略の無効化 | 8 - 問題のインポートと小テスト

問題作成クイック・スタート・ガイドのこのパートでは,数式簡略を無効化する方法を説明します。次のビデオでその手順を説明します:

例題

複素数が与えられたとき,を求めなさい。

ここで,はランダムに生成された数とします。

数式簡略の無効化

このような問題を作るとき,表示の段階で 制御したくなります。私たちはすでにランダム化の方法を知っているので,a,b,nをランダムに生成し,問題文に埋め込むことができます。 例えば次のようにします:

 \(({@aa@}e^{{@bb@} i})^{@nn@}\)

ここでは,複素数のためにCASオブジェクトを1つ作るのではなく,各変数を別々に扱っています。 これは問題ないのですが,CASとLaTeXの記法が混在しているため読みにくくなっています。

したがって,数式簡略されない1つのCASオブジェクトにすべてを持たせる方がはるかに望ましいです。以下は単一のMaximaの式です:

 {@(aa*%e^(bb*%i))^nn@}

(2文字以上の変数名を使っていることに注意してください。これは良い習慣です。1文字の変数は学生の入力のためのものだからです。また,Maxima で記述するとき,標準的な数学記号の前に % をつけていることにも注意してください。これは必須ではありませんが,良い習慣であると考えられています。)

もちろん,Maximaにべき乗を計算して欲しいわけではなく,そのまま 表示してほしいと思っています!違いを見るために,以下のSTACK問題の問題変数にコピーしてください:

simp:true;
a1: (3*%e^(%i*%pi/2))^4;
simp:false;
a2: (3*%e^(%i*%pi/2))^4;

次に問題テキストのどこかに簡略化する: {@a1@} 簡略化しない: {@a2@}と入力します。simp:true;simp:false;による違いをプレビューで確認してください。

表示のレベルではなく,CASのレベルで問題を解決する方がよいことがよくあります。問題全体でsimp:falseを設定するようにSTACKに指示するには,フォームの一番下までスクロールし,オプションの下で自動簡略化(全般)Noに設定します。これでMaximaは表示する前に式を簡略化しないので,{@2+5@}7 ではなく 2+5 として表示されます。

これには欠点もあります。問題全体で数式簡略を無効化した場合,今度は明示的に簡略化させる必要があります!これをするには2つの方法があります。1つ目は,以下のようなコマンドを使うことです:

aa : ev(2+rand(10),simp);

具体的には,問題変数は次のように定義できます。

aa : ev(2+rand(10),simp);
bb : ev(2+rand(10),simp);
nn : ev(2+rand(5),simp);
qq : (aa*%e^(bb*%i))^nn;

多くの連続した式を簡略化する必要がある場合,2つ目の方法が使えます:

simp : true;
aa : 2+rand(10);
bb : 2+rand(10);
nn : 2+rand(5);
simp : false;
qq : (aa*%e^(bb*%i))^nn;

単項演算子のマイナス

たくさんの変数を使って表示するのか,それともsimp:falseを指定したほうがいいのかは,状況によって決まります。よくある問題は単項演算子のマイナスで起こります。{@aa@}+{@bb@}を求めよのような問題テキストを考えてみましょう。bbの場合,式は例えばのように表示されてしまいます。 簡略化を無効化した場合でも,Maximaの表示ルーチンは(多くの場合)賢明な方法で単項演算子のマイナスに対処します。

次のステップ

これで,いつ数式簡略を無効化するべきかを判断できるようになったはずです。あなたがこのクイック・スタート・ガイドに従っているのであれば,この問題を改善するために実行できるいくつかの方法をすでに知っているはずです。 例えば,より具体的なフィードバックを追加したり,問題をランダム化したり,問題のテストを追加したりすることができます。

問題作成クイック・スタート・ガイドの次のパートでは小テストの作成について説明します。