2024-2025-1 20241322 《計算機基礎與程式設計》 第九周學習總結
作業資訊
這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP |
---|---|
這個作業要求在哪裡 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09 |
這個作業的目標 | - 作業系統責任 - 記憶體與程序管理 - 分時系統 - CPU排程 - 檔案、檔案系統 - 檔案保護-磁碟排程 |
作業正文 | https://www.cnblogs.com/qiangedaming/p/18563920 |
教材學習內容總結
第8章 陣列和演算法基礎
8.1 一維陣列的定義和初始化
- 介紹一維陣列的基本概念
- 一維陣列的宣告和初始化方法
8.2 二維陣列的定義和初始化
- 介紹二維陣列的基本概念
- 二維陣列的宣告和初始化方法
8.3 向函式傳遞一維陣列
- 如何將一維陣列作為引數傳遞給函式
- 函式內部對陣列的操作和返回值的處理
8.4 排序和查詢
- 各種排序演算法的原理和實現
- 查詢演算法的原理和實現
8.5 向函式傳遞二維陣列
- 如何將二維陣列作為引數傳遞給函式
- 函式內部對二維陣列的操作和返回值的處理
第10章 作業系統
10.1 作業系統的角色
- 記憶體、程序與 CPU管理
- 批處理
- 分時
10.1.1 記憶體、程序與 CPU管理
10.1.2 批處理
10.1.3 分時
10.1.4 其他OS要素
10.2 記憶體管理
- 單塊記憶體管理
- 分割槽記憶體管理
- 頁式記憶體管理
10.2.1 單塊記憶體管理
10.2.2 分割槽記憶體管理
10.2.3 頁式記憶體管理
10.3 程序管理
- 程序狀態
- 程序控制塊
10.3.1 程序狀態
10.3.2 程序控制塊
10.4 CPU排程
- 先到先服務
- 最短作業優先
- 輪詢法
10.4.1 先到先服務
10.4.2 最短作業優先
10.4.3 輪詢法
第11章 檔案系統和目錄
11.1 檔案系統
- 文字檔案和二進位制檔案
- 檔案型別
- 檔案操作
- 檔案訪問
- 檔案保護
11.1.1 文字檔案和二進位制檔案
11.1.2 檔案型別
11.1.3 檔案操作
11.1.4 檔案訪問
11.1.5 檔案保護
11.2 目錄
- 目錄樹
- 路徑名
11.2.1 目錄樹
11.2.2 路徑名
11.3 磁碟排程
- 先到先服務磁碟排程法
- 最短尋道時間優先磁碟排程法
- SCAN磁碟排程法
11.3.1 先到先服務磁碟排程法
11.3.2 最短尋道時間優先磁碟排程法
11.3.3 SCAN磁碟排程法
教材學習中的問題和解決過程(先問 AI)
- 問題1:怎麼新增資料進陣列?
- 問題1解決方案:在C語言中,陣列的大小是固定的,一旦在編譯時確定,就不能在執行時改變。因此,你不能直接向一個已經定義好的陣列“新增”資料,因為那樣會超出陣列的邊界,導致未定義行為(可能是記憶體損壞、程式崩潰等)。
不過,有幾種方法可以間接地實現向陣列中新增資料的效果:
使用更大的陣列:在定義陣列時,預估一個足夠大的大小,以確保在程式執行期間不會超出這個邊界。當然,這種方法會浪費一些記憶體空間,特別是當預估的大小遠大於實際使用時。
動態記憶體分配:使用malloc、calloc或realloc等函式在堆上動態地分配記憶體。特別是realloc函式,它可以在不丟失原有資料的情況下調整已分配記憶體塊的大小。這種方法需要手動管理記憶體,包括在適當的時候釋放記憶體。
使用結構體或類:如果你使用的是C++或其他支援物件導向程式設計的語言,可以定義一個結構體或類來封裝陣列和它的當前大小,並提供新增元素的方法。這個方法內部可以處理陣列的擴容(例如,當陣列滿時,分配一個更大的新陣列,將舊陣列的資料複製過去,然後釋放舊陣列的記憶體)。
使用標準庫容器:在C++中,你可以使用std::vector等標準庫容器,它們會自動處理記憶體的分配和釋放,以及陣列的擴容。
基於AI的學習
程式碼除錯中的問題和解決過程
- 問題1:不會將新資料加入進陣列,使得新資料參與後續運算。
- 問題1解決方案:查詢資料,詢問同學,學會使用goto語句。
其他(感悟、思考等,可選)
仍然無法理解“指標 ”的重要作用,還需要勤加練習。
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 000/000 | 2/2 | 07/07 | |
第二週 | 000/000 | 1/3 | 07/14 | |
第三週 | 000/000 | 1/4 | 07/21 | |
第四周 | 050/050 | 1/5 | 07/28 | |
第五週 | 050/100 | 1/6 | 07/35 | |
第六週 | 070/170 | 1/7 | 07/42 | |
第七週 | 080/250 | 1/8 | 07/49 | |
第八週 | 100/350 | 1/9 | 07/56 | |
第九周 | 200/550 | 1/10 | 07/63 |