トラック
/
C#
C#
/
演習
/
車を組み立てよう!
車を組み立てよう!

車を組み立てよう!

学習演習

はじめに

数値

C#の数値には、2つの異なる種類があります。

  • 整数:小数点以下の桁がない数値(整数)です。例として、-6、0、1、25、976、500000などがあります。
  • 小数:小数点以下に0桁以上の桁がある数値です。例として、-2.4、0.1、3.14、16.984025、1024.0などがあります。

C#で最もよく使われる数値型は、intとdoubleです。intは32ビットの整数で、doubleは64ビットの浮動小数点数です。

計算には、標準の算術演算子を使います。数値の比較には、標準の数値比較演算子のほか、等値(==)演算子と非等値(!=)演算子を使えます。

C#の数値変換には、2つの種類があります。

  1. 暗黙的な変換:データが失われることはなく、追加の構文も必要ありません。
  2. 明示的な変換:データが失われる可能性があり、_キャスト_という形の追加の構文が必要です。

intはdoubleよりも精度が低いため、intからdoubleへの変換は安全で、暗黙的な変換になります。しかし、doubleからintへの変換ではデータが失われる可能性があるため、明示的な変換が必要です。

int softCool = 1358938113;
double notLost = 4.8151623;

// implicit cast: no loss of information
double macDebug = softCool;         // 1358938113.0

// explicit cast: possible loss of information 
int somethingLost = (int)notLost;   // 4

if文

この演習では、条件に応じて処理を実行する必要があります。C#でこれを行う最も一般的な方法は、if/else文を使うことです。

int x = 6;

if (x == 5)
{
    // Execute logic if x equals 5
}
else if (x > 7)
{
    // Execute logic if x greater than 7
}
else
{
    // Execute logic in all other cases
}

if文の条件は、bool型でなければなりません。C#には、_truthy_という概念はありません。

説明

この演習では、自動車工場の組み立てラインの生産を分析するコードを書きます。 組み立てラインの速度は、0(停止)から10(最大)までの範囲です。

最低速度(1)では、1時間に221台の車が生産されます。 生産台数は速度に比例して増加します。 つまり、速度を4にすると、1時間に4 * 221 = 884台生産されるはずです。 ただし、速度が上がるほど、不良品が生産される可能性が高くなり、それらは廃棄しなければなりません。

課題は3つあります。

1. 成功率を計算する

与えられた速度に対して、製品がエラーなく作られる割合を計算する(_static_な)AssemblyLine.SuccessRate()メソッドを実装してください。 次の表は、速度が成功率にどう影響するかを示しています。

  • 0:成功率0%です。
  • 1から4まで:成功率100%です。
  • 5から8まで:成功率90%です。
  • 9:成功率80%です。
  • 10:成功率77%です。
AssemblyLine.SuccessRate(10)
// => 0.77

2. 1時間あたりの生産台数を計算する

成功率を考慮して、組み立てラインの1時間あたりの生産台数を計算する(_static_な)AssemblyLine.ProductionRatePerHour()メソッドを実装してください。

AssemblyLine.ProductionRatePerHour(6)
// => 1193.4

戻り値はdoubleであることに注意してください。

3. 1分あたりに生産される正常な車の数を計算する

1分あたりに何台の正常な車が生産されるかを計算する(_static_な)AssemblyLine.WorkingItemsPerMinute()メソッドを実装してください。

AssemblyLine.WorkingItemsPerMinute(6)
// => 19

戻り値はintであることに注意してください。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
C# Exercism

車を組み立てよう!を始める準備はできましたか?

Exercismに登録すれば、62個のコンセプト178個の演習、そして本物の人間によるメンタリングとともに、C#を学んでマスターできます。すべて無料です。