私は学生にプログラミングを教えています/手伝っています。
私が始めたとき、次のプロセスが常に私を助けたことを覚えています。それはかなり直感的に見え、他の誰かが同様のアプローチをとったのではないかと思います.
- 問題を読んで理解してください (もちろん)。
- 可能な「関数」と変数を特定します。
- どのようにそれを行うかを段階的に書いてください (アルゴリズム)
- それをコードに変換し、できないことがあれば、それを実行する関数を作成し、動き続けます。
時間と練習を重ねるうちに、問題の記述からコーディングの解決策に移行するのがいかに大変だったかを忘れてしまったようですが、この方法を適用することで、なんとかプログラミングの方法を学ぶことができました。
したがって、次のようなプロジェクトの説明の場合:
システムは、次のルールに基づいてアイテムの価格を計算する必要があります (ルールの説明... クライアント、割引、在庫状況など)。
最初のステップは、問題が何であるかを理解することです。
次に、アイテム、ルール、変数などを識別します。
次のような疑似コード:
function getPrice( itemPrice, quantity , clientAge, hourOfDay ) : int
if( hourOfDay > 18 ) then
discount = 5%
if( quantity > 10 ) then
discount = 5%
if( clientAge > 60 or < 18 ) then
discount = 5%
return item_price - discounts...
end
そして、それをプログラミング言語に渡します..
public class Problem1{
public int getPrice( int itemPrice, int quantity,hourOdDay ) {
int discount = 0;
if( hourOfDay > 10 ) {
// uh uh.. U don't know how to calculate percentage...
// create a function and move on.
discount += percentOf( 5, itemPriece );
.
.
.
you get the idea..
}
}
public int percentOf( int percent, int i ) {
// ....
}
}
あなたは似たようなアプローチを取りましたか?.誰かがあなたに似たようなアプローチを教えましたか、それともあなた自身を発見しましたか (私がしたように :( )