C#の数値には、2つの異なる種類があります。
-6、0、1、25、976、500000などがあります。-2.4、0.1、3.14、16.984025、1024.0などがあります。C#で最もよく使われる数値型は、intとdoubleです。intは32ビットの整数で、doubleは64ビットの浮動小数点数です。
計算には、標準の算術演算子を使います。数値の比較には、標準の数値比較演算子のほか、等値(==)演算子と非等値(!=)演算子を使えます。
C#の数値変換には、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つあります。
与えられた速度に対して、製品がエラーなく作られる割合を計算する(_static_な)AssemblyLine.SuccessRate()メソッドを実装してください。
次の表は、速度が成功率にどう影響するかを示しています。
0:成功率0%です。1から4まで:成功率100%です。5から8まで:成功率90%です。9:成功率80%です。10:成功率77%です。AssemblyLine.SuccessRate(10)
// => 0.77
成功率を考慮して、組み立てラインの1時間あたりの生産台数を計算する(_static_な)AssemblyLine.ProductionRatePerHour()メソッドを実装してください。
AssemblyLine.ProductionRatePerHour(6)
// => 1193.4
戻り値はdoubleであることに注意してください。
1分あたりに何台の正常な車が生産されるかを計算する(_static_な)AssemblyLine.WorkingItemsPerMinute()メソッドを実装してください。
AssemblyLine.WorkingItemsPerMinute(6)
// => 19
戻り値はintであることに注意してください。