程式設計基礎/實踐:陣列
外觀
< 程式設計基礎
- 陣列和列表 - 由元素集合(值或變數)組成的 資料結構。
- 索引符號 - 通常由方括號 [] 或圓括號 () 表示,索引符號用於標識陣列元素的位置或數值。 [1]
- 顯示陣列成員 - 要顯示所有陣列成員,請使用 for 迴圈獲取每個元素的值,並使用索引符號和迴圈控制變數輸出該元素。
- 陣列和函式 - 陣列處理函式通常與陣列以及處理陣列所需的任何資料一起傳遞,以完成給定任務。
- 陣列中的數學統計 - 統計學是數學的一個分支,它處理資料的收集、組織、分析、解釋和展示。陣列可以儲存單詞、字母/字元(字串)和數字(整數/浮點數),因此陣列和統計學密不可分。
- 搜尋陣列 - 線性搜尋或順序搜尋是一種在列表中查詢目標值的方法。它依次檢查列表中的每個元素,查詢目標值,直到找到匹配項或搜尋完所有元素。
- 排序陣列 - 排序演算法是一種演算法,它將列表中的元素按特定順序排列。
- 並行陣列 - 一組並行陣列是一種隱式資料結構的形式,它使用多個數組來表示單個記錄陣列。
- 多維陣列 - 指定元素所需的索引數量稱為陣列的維度或維數。
- 動態陣列 - 動態陣列是隨機訪問的,一種可變大小的列表資料結構,允許新增或刪除元素。
- 陣列資料型別是 C++ 中的標準資料型別之一。
- 陣列可以有多個維度。
- for 迴圈通常用於顯示陣列的成員。
- 定義陣列時,最好指定陣列中有多少個成員。
- 陣列很少用於表示資料。
- 線性搜尋需要複雜的演算法。
- 通常會建立函式來搜尋陣列中的最大值和最小值。
- 氣泡排序是一種對陣列中的資料進行排列的簡單方法。
- 氣泡排序只有一種方法。
- 排序陣列很常見。
- 一維陣列也稱為表格。
- 陣列成員從 1 開始引用。
- 如果你不知道某個陣列中要放多少個元素,你應該建立一個靜態陣列。
- 如果你想對資料元素執行算術運算,最好使用列表而不是傳統陣列。
- 陣列不可能在中間有空值。
- 可以從陣列中減去值。
答案
- 錯誤
- 正確
- 正確
- 錯誤
- 錯誤
- 錯誤
- 正確
- 正確
- 錯誤
- 正確
- 錯誤 - 一維陣列被稱為列表。
- 錯誤 - 一些程式語言可能從 1 開始,但對於其他語言,如 Python,陣列成員從 0 開始。
- 錯誤
- 錯誤
- 錯誤 - 動態陣列可以有空值,可以在其中新增或刪除元素。
- 正確
- 簡要解釋什麼是陣列,並列出與陣列一起使用的兩個常見運算子。
- 簡要解釋氣泡排序。
- 解釋陣列 push 和陣列 pop 之間的區別。
- 描述靜態陣列和動態陣列之間的區別。另外,還應說明你為什麼選擇其中一個而不是另一個。
- 簡要解釋變數和陣列之間的區別。
- 解釋為什麼排序陣列如此常見。
使用虛擬碼、流程圖工具或你選擇的程式語言完成以下活動。對輸入、每種型別的處理和輸出使用單獨的函式。透過傳遞引數和返回結果來避免全域性變數。建立測試資料以驗證每個程式的準確性。在程式頂部添加註釋,幷包含對所用資源的引用。
- 檢視 MathsIsFun: 閏年。建立一個程式,其中包含一個定義的陣列,每個條目都是對應月份的天數(一月 = 31,二月 = 28 或 29,具體取決於年份,三月 = 31,等等)。使用一個並行的字串陣列來儲存每個月的名稱。要求使用者輸入年份和月份編號,然後查詢對應的月份名稱和天數,並顯示這些資訊。繼續接受輸入,直到使用者輸入無效年份或無效月份編號。 [2]
- 檢視 Wikipedia: Zeller 的同餘式。建立一個程式,要求使用者輸入其生日(年、月和日),然後計算並顯示他們出生的星期幾。使用陣列查詢將星期幾的數字轉換為正確的字串表示形式(星期一、星期二、星期三,等等)。
- 檢視 MathsIsFun: 平均值定義。建立一個程式,要求使用者輸入成績。首先詢問使用者他們要輸入多少個分數。然後使用迴圈來請求每個分數,並將它新增到一個靜態(固定大小)陣列中。輸入分數後,計算並顯示輸入分數的最高值、最低值和平均值。
- 檢視 Wikipedia: 蒙提霍爾問題。建立一個程式,使用陣列來模擬三個門。使用 0(零)表示山羊,使用 1(一)表示汽車。清除每個“門”,然後使用隨機數函式將數字 1 放入陣列的一個元素中。然後使用隨機數函式隨機選擇三個元素中的一個。在一個迴圈中執行模擬 100 次,以確認 1/3 的獲勝機率。然後再次執行模擬,這次在從剩餘的選擇中刪除 0(山羊)後切換選擇。在一個迴圈中執行模擬 100 次,以確認透過切換獲得 2/3 的獲勝機率。
- 如果你的程式語言支援,請使用內建排序函式對上述活動中的成績進行排序,並按從最高分數到最低分數的順序顯示陣列。
- 如果你的程式語言支援,請更新上述成績程式,用動態陣列替換靜態陣列,並在每個專案新增到陣列時擴充套件陣列。繼續接受分數,直到使用者輸入負值。
- 請檢視 可汗學院:猜數字遊戲。編寫一個程式,讓使用者在 0 到 100 之間(包含 0 和 100)選擇一個數字。然後讓程式嘗試猜出他們的數字。從中間值 (50) 開始,詢問使用者他們的數字是 (h)igher(更高)、(l)ower(更低)還是 (e)qual(等於)猜測值。如果他們指示更低,則猜測新的中間值 (25)。如果他們指示更高,則猜測新的中間值 (75)。將每次猜測記錄在一個數組中,並繼續有效地猜測更高或更低,直到他們指示等於,然後顯示猜測他們的數字所需的猜測列表,並結束程式。
- 如果你的程式語言支援,請使用內建排序函式對上述活動中的成績進行排序,並按從最高分數到最低分數的順序顯示陣列。
- ↑ https://wikibook.tw/wiki/Programming_Fundamentals/Index_Notation
- ↑ Farrell, J. (2015)。程式設計邏輯與設計,入門,第 8 版。Cengage。 ISBN 9781285845777