バイクのシリンダーで学ぶ!はじめてのメソッドの仕組みと使い方
目次
ソリューション、プロジェクトの新規作成
練習用に次のようなプロジェクトを作成します
MethodLearning_CylinderSample (ソリューション)
└── Sample1_CalculateCylinderVolume (プロジェクト)
【命名ポイント】
- ソリューション名→ 「どんなテーマのメソッド学習か」が一目で分かる→ 複数のメソッド学習サンプルを追加しても統一できる
- プロジェクト名→ 「何をしているサンプルか」が具体的に分かる→ 今後、バリエーション(別の形のメソッドサンプル)を追加しても整理しやすい
■ 1. メソッドとは?
- メソッド = 「やりたい処理」を名前を付けて箱にまとめたもの
- 現実のバイクでいうと「エンジンの動作の一部を担う部品の役割」と同じ
- プログラムでも何度も使える「計算の道具箱」にできる
■ 2. バイクのシリンダーを例にする理由
- バイクのエンジンは「シリンダー」という円柱で燃料を燃やして走る
- シリンダーの大きさ(排気量)は 半径と高さ が分かれば円柱の体積で計算できる
- 実際のバイク設計に近く、現実とプログラムを結びつけやすい
■ 3. 排気量(シリンダー容量)の求め方
V = π × r^2 × h
- π ≒ 3.14
- r : 半径(cm)
- h : 高さ(cm)
- V : 容量(cc)
■ 4. 400cc・4気筒バイクの例
項目 | 値 |
---|---|
総排気量 | 400 cc |
気筒数 | 4 |
1気筒あたり | 100 cc |
1気筒の目安サイズ(逆算での大まかな値)
- 半径 ≒ 2.5 cm
- 高さ ≒ 5 cm
■ 5. メインクラスに直接メソッドを作る例
using System;
class Program
{
static void Main()
{
// 半径と高さを設定
double radius = 2.5; // cm
double height = 5.0; // cm
// メソッドを呼び出して排気量を計算
double volume = CalculateCylinderVolume(radius, height);
Console.WriteLine($"1気筒の容量は {volume:F2} cc です。");
Console.WriteLine($"4気筒の合計容量は {volume * 4:F2} cc です。");
}
/// <summary>
/// シリンダーの容量(排気量)を計算するメソッド
/// </summary>
/// <param name="radius">半径(cm)</param>
/// <param name="height">高さ(cm)</param>
/// <returns>容量(cc)</returns>
static double CalculateCylinderVolume(double radius, double height)
{
return Math.PI * radius * radius * height;
}
}
■ 6. このサンプルで分かること
✅ メソッド = 計算の箱
- CalculateCylinderVolume は「シリンダーの容量を計算する」役目だけを担当
✅ 引数でデータを受け取る
- 半径と高さを外から渡してもらって計算する
✅ 戻り値で結果を返す
- 計算結果を Main に返して、Main で表示する
✅ 何度でも呼び出せる
- 同じメソッドを他のサイズで繰り返し使える!
■ 7. 実行結果(例)
1気筒の容量は 98.17 cc です。
4気筒の合計容量は 392.70 cc です。
■ 8. 練習問題
【問1】
半径を 3cm、高さを 5cm に変えて計算してみよう
→ どのくらい排気量が増える?
using System;
class Program
{
static void Main()
{
double radius = 3.0; // cm
double height = 5.0; // cm
double volume = CalculateCylinderVolume(radius, height);
Console.WriteLine($"半径3cm, 高さ5cm の容量は {volume:F2} cc です。");
}
static double CalculateCylinderVolume(double radius, double height)
{
return Math.PI * radius * radius * height;
}
}
■ 結果(参考値)
- 元のサイズ(2.5cm × 5cm): 約 98.17 cc
- 新しいサイズ(3cm × 5cm): 約 141.37 cc
増加量: 約 43.2 cc 増える
【問2】
Main メソッドの中で 2つのシリンダーを比較
- A: 半径 2.5cm, 高さ 5cm
- B: 半径 3cm, 高さ 5cm→ それぞれの容量と差を表示するコードを書いてみよう
using System;
class Program
{
static void Main()
{
double radiusA = 2.5;
double heightA = 5.0;
double radiusB = 3.0;
double heightB = 5.0;
double volumeA = CalculateCylinderVolume(radiusA, heightA);
double volumeB = CalculateCylinderVolume(radiusB, heightB);
Console.WriteLine($"A: 半径2.5cm, 高さ5cm → 容量: {volumeA:F2} cc");
Console.WriteLine($"B: 半径3.0cm, 高さ5cm → 容量: {volumeB:F2} cc");
double diff = volumeB - volumeA;
Console.WriteLine($"容量の差: {diff:F2} cc");
}
static double CalculateCylinderVolume(double radius, double height)
{
return Math.PI * radius * radius * height;
}
}
【問3】
CalculateCylinderVolume メソッドの説明コメントを自分の言葉に書き換えてみよう
(何のためのメソッドか、何を受け取って何を返すか)
/// <summary>
/// シリンダーの半径と高さから容量(排気量)を計算して返すメソッド。
/// 半径(cm)と高さ(cm)を受け取り、円柱の体積を cc で返す。
/// </summary>
✅ 【ポイント】
- 何をするメソッドか → シリンダーの容量を計算する
- 何を受け取るか → 半径と高さ(cm単位)
- 何を返すか → 計算された容量(cc)
■ 9. まとめ
- メソッドは 処理を分けて整理する道具箱
- 必要なデータは引数で渡し、結果は戻り値で受け取る
- 現実のモノ(シリンダー)に置き換えるとイメージしやすい!
■ 10. 発展
- 実際のバイクの仕様(例:ボア x ストローク)を調べて、近い数値で試してみよう
✅ 【実際はどうなっているの?】
- 排気量は 「ボア×ストローク×気筒数」 の理論計算だと小数点以下で微妙に400を超える場合がありますが…
- 設計値や生産誤差を含めて、最終的にカタログ値で400を超えないように調整 されます
- ピストン形状や燃焼室形状で微調整
- メーカーは型式認定に合わせて登録
✅ 【ZX-4R の例】
例えば ZX-4R は
- ボア 57.0mm × ストローク 39.1mm × 4気筒 → 理論値は約 401cc
- でもカタログ値は 399cc
これは、
- 燃焼室容積を含めた正確な排気量は設計上のボア×ストロークだけでは表せないからです。
- 正確にはシリンダーヘッドの燃焼室形状や、ピストンクラウン形状も計算に含めて排気量が決まります。
VisualStudioのブレークポイントを使ったデバッグによる学習
ブレークポイントの登録方法
行番号の左側のグレーの部分をマウスでクリックします

開始ボタンで実行します
コードを実行するため、開始ボタンをクリックします

ステップ実行で1行づつ進めていきます
実行するとブレークポイント手前で一時停止します(黄色く表示されます)
黄色いところはまだ実行されていません

1行ずつ確認し、その時の変数の内容を見ます
実行ずみのところは、変数が代入されているのがわかります
また、メソッドを呼び出す(メインメソッドから見て)ところに来ると、メソッド側に黄色い場所が移動するのがわかります

訪問数 45 回, 今日の訪問数 46回
ディスカッション
コメント一覧
まだ、コメントがありません