|
參考 題型範例 - 全國高級中等學校技藝競賽平台 工業類
題目:模擬今彩 539
問題描述
根據台灣彩卷網站的說明,今彩 539 是一種樂透型遊戲,買家必須從 1 ~39 的號碼中任選 5 個號碼進行投注。開獎時,開獎單位將隨機開出五個號碼,這一組號碼就是該期今彩 539 的中獎號碼,也稱為「獎號」。請您依照以下演算法,寫一模擬今彩 539 隨機開出五個號碼以及相關資訊的程式。
- 模擬今彩539隨機開出五個不重覆的號碼
- 將上述五個不重覆的號碼寫入由使用者指名的文字檔案中
- 可以由使用者指名的文字檔案中讀取五個不重覆的今彩539號碼
- 計算今彩 539 五個不重覆號碼的算術平均數
- 計算今彩 539 五個不重覆號碼的調和平均數
- 計算今彩 539 五個不重覆號碼的幾何平均數
- 利用選擇排序法對今彩 539 五個不重覆號碼進行由小到大的排序,進而找出今彩 539 五個不重覆號碼的中位數
算術平均數是指將所有資料的總和除以總次數,如以下式子所示:
$\overline{x}=\frac{x_1+x_2+x_3\cdots x_{n-1}+x_n}{n} $
其中 $\overline{x}$ 為算術平均數,$x_1$ 為第 1 個數,$\cdots x_n$ 為第 $n$ 個數。
調和平均數($H$)如以下式子所示:
$H=\frac{n}{\frac{1}{x_1}+\frac{1}{x_2}+\frac{1}{x_3}+\cdots+\frac{1}{x_{n-1}}+\frac{1}{x_n}}$
其中 $x_1$ 為第 1 個數,$x_n$ 為第 $n$ 個數。
幾何平均數(G)如以下式子所示:
$G=\sqrt[n]{x_1\cdot x_2\cdot x_3\cdot\ \cdots\ \cdot x_{n-1}\cdot x_n}$
其中 $x_1$ 為第 1 個數,$x_n$ 為第 $n$ 個數。
選擇排序法是在每一輪迴圈中,都從未排序的陣列中找出最小值,跟最左側的數值交換位置,直到整個陣列排序完畢。
中位數是指,將一組數值資料由小到大排列後,最中間的數值即為中位數。
輸入說明:
- 讓使用者輸入要寫入今彩 539 五個不重覆號碼的文字檔
- 讓使用者輸入要讀取今彩 539 五個不重覆號碼的文字檔
輸出和功能要求:
- 能正確隨機開出五個不重覆的號今彩 539 碼
- 能正確將今彩539五個不重覆號碼寫入使用者輸入的文字檔中
- 能正確讀入使用者輸入的文字檔中之今彩 539 五個不重覆號碼
- 能正確算出今彩 539 五個不重覆號碼的算術平均數
- 能正確算出今彩 539 五個不重覆號碼的調和平均數
- 能正確算出今彩 539 五個不重覆號碼的幾何平均數
- 能展示選擇排序法之排序過程
- 能正確算出今彩 539 五個不重覆號碼的中位數
程式執行範例:
此範例隨機產生今彩 539 五個不重覆號碼:4 28 11 38 2,寫入 a539.txt 中,從 a539.txt 中讀取今彩 539 五個不重覆號碼,其算術平均數為 16.6,調和平均數為 5.537471,幾何平均數為 9.869267,在選擇排序過程中,第 1 次從 5 個數(4 28 11 38 2)中選擇最小值 2,跟最左邊的 4 交換,*表示交換,2 的下方 _ 表示數字 2 已經排序好了。第 2 次從未排序的 4 個數(28 11 38 4)中選擇最小值 4,跟未排序最左邊的 28 交換,依此類推,最後排序結果為 2 4 11 28 38。其中位數為 11。
程式的功能,要自己寫,不可以使用現成套件或程式庫,若妳 (你) 的程式都完程上述功能要求,才可以上傳檢查。
因為題意不夠明確,在不影響題目情況下,略作補充。
補充資料:
- Console 顯示 "***模擬今彩539***"。
- 隨機產生 5 個不重複的號碼。(數字範圍:$1\sim 39$)
- Console 顯示 "今彩539之5個1~39號碼:" 後面接著 5 個前面步驟產生的 5 個號碼。
- Console 顯示 "請輸入存今彩539之 5 個號碼的檔名:"。
- Console 讓使用者輸入檔案名稱,並將前面產生的 5 個號碼空白隔開存到使用者指定的檔案。
- Console 顯示 "請輸入要讀今彩539之 5 個號碼的檔案:"。
- Console 讓使用者輸入檔案名稱,並讀取檔到資料到陣列。
- 計算讀入的 5 個號碼做算術平均數,並在 Console 輸出 "今彩539之 5 個號碼的算術平均數:" 後面接著算術平均數。
- 計算讀入的 5 個號碼做調和平均數,並在 Console 輸出 "今彩539之 5 個號碼的調和平均數:" 後面接著調和平均數。
- 計算讀入的 5 個號碼做幾何平均數,並在 Console 輸出 "今彩539之 5 個號碼的幾何平均數:" 後面接著幾何平均數。
- Console 顯示 "排序前的資料:" 後面接著 5 個讀取到陣列的 5 個號碼。(空白隔開)
- Console 顯示 每次一輪選擇排序後,5 個號碼的位置。(空白隔開)
- 依上個步驟重複顯示直到排序完成。
- Console 顯示 "排序後的資料:",後面接著 5 個排序後的資料,空白隔開。
- 找出排序後的中位數,並在 Console 輸出 "今彩539之 5 個號碼的中位數:" 後面接著中位。
範例
程式碼下載
|