初心者のためのC#プログラミング本格入門19 - 考えを形にしよう
前回書いた処理の流れを元に、Mainメソッド内のプログラムを考えます。Mainメソッドから考える理由は、処理全体の流れをイメージし、段階的にプログラミングをする事が可能になるからです。初心者の人が細かいプログラムから考えてしまうと、自分が実現したい事から遠ざかってしまい、結局自分が望んだプログラムを実現できない可能性があります。ですから、大まかなプログラムを書いて、徐々に詳細部分を書いていく方法を初心者の方にお勧めします。
Mainメソッドから呼び出すメソッドは、戻り値・メソッドの名前・パラメーターだけを定義しておき、波括弧内は一旦空白にしておきます。
今まで解説した文法を使って、Mainメソッドの内のプログラムを考えた模範解答を示します。
static void Main()
{
string end = "end";
while ( end != "" )
{
int value1 = GetValue();
string sign = GetSign();
int value2 = GetValue();
int result = Calculation( value1, sign, value2 );
ShowResult( value1, sign, value2, result );
System.Console.WriteLine( "" );
end = GetEnd();
}
}
皆さまが考えた解答は、変数やメソッドにつける名前こそ違うと思いますが、大体この様になるかと思います。このプログラムは前回考えた処理の流れと大体は同じですが、繰り返しの判定が前の方になっているので違和感があります。もしかしたら混乱してしまう人が居るかもしれません。そこで、この状況に適した新しい文法を解説します。
こうした一回は絶対に実行する処理を繰り返したい場合はdo-while文を使用します。do-while文はwhile文を知っている人にとっては簡単です。
do { 繰り返すプログラム } while( 条件 )
頭にdoと書き、whileを波括弧の最後に書くだけなので、while文と大差がなく覚えやすい文法です。do-while文を使って、早速、先ほどのMainメソッドの処理を変更してみましょう。
string end;
do
{
int value1 = GetValue();
string sign = GetSign();
int value2 = GetValue();
int result = Calculation( value1, sign, value2 );
ShowResult( value1, sign, value2, result );
System.Console.WriteLine( "" );
end = GetEnd();
} while ( end != "" );
動作は殆ど変わりませんが、while文よりも前回考えた処理の流れに近くなっています。プログラミングは、一つの目的に対して幾通りもの方法がありますが、人間が読みやすいプログラムを書く方法を優先的に採用します。その心掛けを常日頃していれば、綺麗で他人や未来の自分が読んでも直ぐに理解できる良いプログラムが書けるようになります。一般的に読みやすいプログラムはプロの評価が高いです。たとえ趣味でプログラミングをする人であっても、高い評価が得られるプログラムを書く方が気分がよいでしょう。
そういった小さな心掛けが、プロとアマの違いを生みます。常に自分の考えを分かりやすく表現するプログラムを書くように心がけましょう。