メソッド(method) の定義

32 と 24 の GCM は 8 です

C# でメソッド(メンバー関数) を定義して呼び出します。

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

プログラムの説明

  1. フォルダーに次のファイルを格納して下さい。
    ソースコード(Gcm.cs)です。
    /*★ C# GCM Function Program    前田 稔 ★*/
    using System;
    
    class console
    {
        public static int Main()
        {
            int x = 32;
            int y = 24;
    
            int ans = gcm(x, y);
            Console.WriteLine("{0} と {1} の GCM は {2} です",x,y,ans);
            System.Console.ReadLine();
            return 0;
        }
    
        static int gcm(int n, int m)
        {
            while(n!=m)
            {   if (n>m)    n-= m;
                else        m-= n;
            }
            return n;
        }
    }
    
  2. C++ では Object Class に含まれている関数をメンバー関数と言いますが、C# ではメソッドと呼んでいます。
    ここでは些細な事にはこだわらず、メソッドと関数は同じようなものと思って下さい。
    関数には Static 関数と Static で無い関数(インスタンス化しなければ使えない関数)があります。
    Static で宣言された領域(関数を含む)は、プログラムがロードされた時点で領域が割り当てられていて参照することが出来ます。
    Main() はプログラムがロードされて最初に実行される関数なので、Static で宣言しなければなりません。
    また Static 関数からインスタンス化しないで呼び出す関数やデータは Static で宣言する必要があります。
    一般に Main() が定義されている Class 以外は、インスタンス化して呼び出すのがルールのようです。
    インスタンス化の説明は gcmlcm Class を定義 を参照して下さい。
  3. 上記のプログラムでは console Clsss のメソッドとして Main() と gcm() が宣言されています。
    最初に制御が渡される Main() は Static で宣言しなければなりません。
    また Main() から直接呼び出される gcm() も Static で宣言する必要があります。
    gcm() 関数では、パラメータで渡された n と m の最大公約数(GCM)を求めて、関数値としてリターンしています。
  4. gcm() 関数は Main() と同じ console Clsss のメソッドなので Class 名で修飾しなくてもかまいません。
    int ans = gcm(x, y);

【演習】

  1. gcm() 関数を Class 名で修飾して呼び出すことも出来ます。
    console で修飾して呼び出してみて下さい。
    int ans = console.gcm(x, y);
  2. gcm() 関数の static 宣言を外すと、どんなエラーが表示されるでしょう。
    int gcm(int n, int m)
  3. 最大公約数(GCM)とは、二個の整数を割り切ることのできる最大の数です。
    詳細は Gcm Lcm の説明 を参照して下さい。

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