三個の最大値

MAX=16

三個の変数から最も大きい値を調べて表示します。C# if 命令(比較)の基礎です。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. フォルダーに次のファイルを格納して下さい。
    /********************************/
    /*★ 変数の最大値     前田 稔 ★*/
    /********************************/
    using System;
    
    class Prog
    {
        public static int Main()
        {
            int     v1 = 16;
            int     v2 = 5;
            int     v3 = 11;
    
            if (v1>v2)
            {   if (v1>v3)  Console.WriteLine("MAX={0}",v1);
                else        Console.WriteLine("MAX={0}",v3);
            }
            else
            {   if (v2>v3)  Console.WriteLine("MAX={0}",v2);
                else        Console.WriteLine("MAX={0}",v3);
            }
            return 0;
        }
    }
    
  2. v1,v2,v3 には 16,5,11 が格納されています。
    この中から最も大きい値を探し出して表示します。
    int v1 = 16;
    int v2 = 5;
    int v3 = 11;
  3. if は、二個の値を比較する命令で、まず v1 と v2 を比べます。
            if (v1>v2)
            {   :      //v1 が v2 より大きいときです
                :      //一番大きい値は v1 と v3 を比べて大きいほうです
            }
            else
            {   :      //v2 が v1 より大きいか等しいときです
                :      //一番大きい値は v2 と v3 を比べて大きいほうです
            }
        

【演習】

  1. v1,v2,v3 の値や大きさの順序を変えて、一番大きい値が表示されることを確かめて下さい。
  2. 4個の変数から最も大きい値を調べて表示して下さい。
    変数が4個になるとプログラムも一段と複雑になります。
    変数が5個,6個になってもスマートにプログラムする方法があります。
    どんな方法が考えられるでしょう。
  3. 一番大きい値は比較的簡単に求めることができます。
    こんどは v1,v2,v3 の真ん中の値を求めて表示して下さい。 (^_^;)
    現在の値のとき(16,5,11)は、真ん中の値は 11(v3 の値)になります。
  4. プログラムが正しく動いていることを確認する作業をデバッグ(debug)と言います。
    真ん中の値を求めるプログラムを例にして、デバッグに付いて考察してみましょう。
    1. 今 v1,v2,v3 には 16,5,11 が格納されていますが、11 が表示されたからと言ってプログラムが正しいとは言えません。
      16,11,5 のときにも 11 が表示されるでしょうか? (-.-;)
      11,16,5 のときはどうでしょう。
      5,5,16 のときはどうでしょう。
    2. 三個の変数の大きさの順序の組み合わせは、6通りあります。
      さらに二個が等しい場合の組み合わせを考えるともっと増えます。
    3. エラーの無いプログラムは「どのような組み合わせ」でも正しく実行されなければなりません。
      こんな簡単なプログラムでも全ての組み合わせをテストするのは大変なのに、実際のアプリケーションプログラムでは不可能に近いでしょう。
      現実問題としてもプログラムに起因するコンピュータのトラブルは枚挙にいとまがありません。
    4. プログラムに「エラーがあることを証明することは簡単でも、エラーが無いことを証明することは不可能である」と言われています。
      それでもエラーが起こりやすいデータの組み合わせを考えてテストすることは非常に重要です。
      また、何よりも作成段階からミスが無い(起こりにくい)プログラム構成(論理構成)を心がけることが大切です。
      一歩間違えれば、ネットワークがダウンしたり、列車が衝突したり、場合によっては世界が破滅するかも知れません。
      これは大げさな話では無く、その幾つかは現実に起きているのです。

超初心者のプログラム入門(C# Frame Work)