C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day8:メソッドの練習問題

C# 30日で身につけるC#
スポンサーリンク
スポンサーリンク
  1. Day8 メソッド・練習問題と解答解説
  2. メソッドの基本を確認する
    1. 問題:画面に「Hello, Method!」と表示するメソッド ShowMessage を作り、呼び出してください。
    2. 解答と解説
  3. 引数の理解を確認する
    1. 問題:名前を受け取り「〇〇さん、こんにちは!」と表示するメソッド Greet を作り、Greet(“Taro”) を呼び出してください。
    2. 解答と解説
  4. 戻り値の理解を確認する
    1. 問題:2つの整数を受け取り、その合計を返すメソッド Add を作ってください。Add(3, 5) の結果を表示してください。
    2. 解答と解説
  5. オーバーロードの理解を確認する
    1. 問題:Add メソッドをオーバーロードして、① int 型2つの合計 ② double 型2つの合計 を返せるようにしてください。
    2. 解答と解説
  6. 応用問題:四則演算メソッド
    1. 問題:Add(足し算)、Sub(引き算)、Mul(掛け算)、Div(割り算)の4つのメソッドを作り、 それぞれを呼び出して結果を表示してください。
    2. 解答と解説
  7. 応用問題:最大値を返すメソッド
    1. 問題:2つの整数のうち大きい方を返すメソッド Max を作り、 Max(10, 3) の結果を表示してください。
    2. 解答と解説
  8. 応用問題:オーバーロードで最大値を返す
    1. 問題:Max メソッドをオーバーロードして、 3つの整数の最大値を返せるようにしてください。
    2. 解答と解説
  9. Day8 練習問題まとめ

Day8 メソッド・練習問題と解答解説

Day8 で学んだ メソッド・引数・戻り値・オーバーロード をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまとめています。 メソッドは「処理をひとまとめにして再利用する」ための最重要機能ですので、ぜひじっくり取り組んでください。

メソッドの基本を確認する

問題:画面に「Hello, Method!」と表示するメソッド ShowMessage を作り、呼び出してください。

解答と解説

void ShowMessage()
{
    Console.WriteLine("Hello, Method!");
}

ShowMessage();
C#

メソッドは 処理をひとまとめにする箱 です。 ShowMessage() のように名前をつけておけば、必要なときに何度でも呼び出せます。

ここで重要なのは、 戻り値がない場合は void を使う という点です。

引数の理解を確認する

問題:名前を受け取り「〇〇さん、こんにちは!」と表示するメソッド Greet を作り、Greet(“Taro”) を呼び出してください。

解答と解説

void Greet(string name)
{
    Console.WriteLine(name + "さん、こんにちは!");
}

Greet("Taro");
C#

引数は メソッドに値を渡すための仕組み です。 name に “Taro” が渡されることで、メソッド内でその値を使えます。

戻り値の理解を確認する

問題:2つの整数を受け取り、その合計を返すメソッド Add を作ってください。Add(3, 5) の結果を表示してください。

解答と解説

int Add(int a, int b)
{
    return a + b;
}

Console.WriteLine(Add(3, 5)); // 8
C#

戻り値は メソッドが計算した結果を返す仕組み です。 戻り値の型(int)は return の型と一致している必要があります。

オーバーロードの理解を確認する

問題:Add メソッドをオーバーロードして、① int 型2つの合計 ② double 型2つの合計 を返せるようにしてください。

解答と解説

int Add(int a, int b)
{
    return a + b;
}

double Add(double a, double b)
{
    return a + b;
}

Console.WriteLine(Add(3, 5));       // int版 → 8
Console.WriteLine(Add(2.5, 4.1));   // double版 → 6.6
C#

オーバーロードは 同じ名前のメソッドを引数違いで複数作れる機能 です。 AddInt、AddDouble のように名前を分ける必要がなくなり、 自然な名前のまま処理を拡張できます。

応用問題:四則演算メソッド

問題:Add(足し算)、Sub(引き算)、Mul(掛け算)、Div(割り算)の4つのメソッドを作り、 それぞれを呼び出して結果を表示してください。

解答と解説

int Add(int a, int b)
{
    return a + b;
}

int Sub(int a, int b)
{
    return a - b;
}

int Mul(int a, int b)
{
    return a * b;
}

double Div(int a, int b)
{
    return (double)a / b;
}

Console.WriteLine(Add(10, 3));
Console.WriteLine(Sub(10, 3));
Console.WriteLine(Mul(10, 3));
Console.WriteLine(Div(10, 3));
C#

割り算は double 型で返す のが重要です。 整数同士の割り算は小数点が切り捨てられるため、 必ずキャストして小数として計算します。

応用問題:最大値を返すメソッド

問題:2つの整数のうち大きい方を返すメソッド Max を作り、 Max(10, 3) の結果を表示してください。

解答と解説

int Max(int a, int b)
{
    if (a > b)
        return a;
    else
        return b;
}

Console.WriteLine(Max(10, 3)); // 10
C#

最大値メソッドは「比較 → 大きい方を返す」というシンプルな構造ですが、 この“判断をひとまとめにする”ことがメソッドの本質です。

応用問題:オーバーロードで最大値を返す

問題:Max メソッドをオーバーロードして、 3つの整数の最大値を返せるようにしてください。

解答と解説

int Max(int a, int b)
{
    return a > b ? a : b;
}

int Max(int a, int b, int c)
{
    int temp = Max(a, b);
    return Max(temp, c);
}

Console.WriteLine(Max(10, 3, 7)); // 10
C#

ここで重要なのは、 Max を自分自身の中で再利用している という点です。

メソッドは「処理を部品化する」ため、 このように組み合わせることで強力な機能になります。

Day8 練習問題まとめ

Day8 の練習問題では、次のポイントを確認しました。

メソッドは「処理の部品」 引数は「値を渡す仕組み」 戻り値は「結果を返す仕組み」 オーバーロードは「同じ名前で複数のメソッドを作れる」

タイトルとURLをコピーしました