學習軌道
/
C#
C#
/
練習
/
汽車,組裝!
汽車,組裝!

汽車,組裝!

學習練習

簡介

數字

C# 裡有兩種不同的數字:

  • 整數:小數點後沒有位數的數字(也就是沒有小數部分的數)。例如 -6、0、1、25、976 和 500000。
  • 浮點數:小數點後有零個或多個位數的數字。例如 -2.4、0.1、3.14、16.984025 和 1024.0。

C# 中最常見的兩種數值型別是 int 和 double。int 是 32 位元的整數,double 則是 64 位元的浮點數。

算術運算使用標準的算術運算子來完成。數字可以用標準的數值比較運算子,以及相等(==)與不相等(!=)運算子來比較。

C# 有兩種數值轉換:

  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)下,每小時會生產221輛車。 產量會隨速度呈線性增加。 因此當速度設為4時,每小時應該會生產4 * 221 = 884輛車。 不過,速度越高,就越可能生產出有瑕疵的車,這些車之後必須被丟棄。

你有三個任務。

1. 計算成功率

實作(static)AssemblyLine.SuccessRate()方法,計算每件產品在指定速度下順利完成而不出錯的比例。 下表顯示速度如何影響成功率:

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

2. 計算每小時的產量

實作(static)AssemblyLine.ProductionRatePerHour()方法,計算組裝線每小時的產量,並將成功率納入考量:

AssemblyLine.ProductionRatePerHour(6)
// => 1193.4

請注意,回傳的值是double。

3. 計算每分鐘生產出的可用車輛數

實作(static)AssemblyLine.WorkingItemsPerMinute()方法,計算每分鐘能生產出多少可用車輛:

AssemblyLine.WorkingItemsPerMinute(6)
// => 19

請注意,回傳的值是int。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
C# Exercism

準備好開始 汽車,組裝! 了嗎?

註冊 Exercism,透過 62 個概念178 個練習 和真人引導來學習並精通 C#,全部免費。