次のシナリオが何度か起こりました。
特定の問題を解決するアルゴリズムをプログラムしました。正常に機能し、正しい解決策を見つけます。今、私はアルゴリズムに「あなたが解決策に到達した方法の完全な説明を書く」ことを伝えるオプションが欲しいです。私の目標は、オンラインデモ、チュートリアルクラスなどでアルゴリズムを使用できるようにすることです。説明なしでリアルタイムにアルゴリズムを実行するオプションが引き続き必要です。使用する良いデザインパターンは何ですか?
例:最大公約数を見つけるためにこのメソッドを実装するとします。現在実装されているメソッドは正しい答えを返しますが、説明はありません。次のようなメソッドのアクションを説明するオプションが必要です。
Initially, a=6 and b=4. The number of 2-factors, d, is initialized to 0.
a and b are both even, so we divide them by 2 and increment d by 1.
Now, a=3 and b=2.
a is odd but b is even, so we divide b by 2.
Now, a=3 and b=1.
a and b are both odd, so we replace a by (a-b)/2 = 1.
Now, a=1 and b=1.
a=b, so the GCD is a*2^d = 2.
出力は、コンソールとWebベースのアプリケーションの両方で簡単に表示できるように返される必要があります。
説明が不要なときにアルゴリズムのリアルタイムパフォーマンスを損なわずに、必要なときに説明を提供するのに適したパターンは何ですか?