2021-2022-1學期20212317《網路空間安全專業導論》第三週學習總結
第六章:低階程式設計語言與虛擬碼
6.1計算機操作
計算機是能夠儲存、檢索和處理資料的可程式設計電子裝置。
6.2機器語言
1、機器語言:由計算機使用的二進位制編碼指令構成的語言。
2、大多程式是用高階語言編寫的,然後翻譯成機器語言。
6.2.1一臺虛擬機器
1、虛擬機器:為了模擬真實機器的重要特徵而設計的假想機器。
2、可用的位數決定了我們可以使用記憶體的大小。
3、Pep/9的指令長度在一位元組或三位元組。包括8位指令說明符和16位操作說明符(可選)。
4、定址模式為000時為立即定址,此時操作說明符中儲存的是運算元。
定址模式為001時為直接定址,此時操作說明符中儲存的是運算元所在的記憶體地址名稱。
6.3一個程式例項
6.4組合語言
1、因為每種型別的計算機都有自己的機器語言,所以有多少種機器就有多少種組合語言和翻譯程式。
2、組合語言:一種低階語言,用助記碼錶示特定計算機的機器語言指令。
3、彙編器:把組合語言程式翻譯成機器程式碼的程式。
4、彙編器指令(偽操作):翻譯程式需要的指令。
5、註釋:為程式讀者提供的解釋性文字。
6.5表達演算法
1、演算法:解決方案的計劃或概要,或解決問題的邏輯步驟順序。
2、虛擬碼:一種表達演算法的語言。
第七章問題求解與演算法設計
7.1如何解決問題
理解問題、設計方案、執行方案、回顧
1、計算機問題求解包括四個階段:分析和說明階段、演算法開發階段、實現階段和維護階段。
2、尋找熟悉的情況
3、分治法:把大的問題分割成小的問題並逐一解決。
4、演算法:在有限的時間內用有限的資料解決問題或子問題的明確指令集和。
5、計算機問題求解
6、方法總結:分析問題、列出主要任務、編寫其餘的模組、根據需要進行重組和改寫。
7、測試演算法
7.2有簡單變數的演算法
1、帶有選擇的演算法
2、帶有迴圈的演算法
1)計數控制迴圈:可指定過程迴圈的次數
2)事件控制迴圈:迴圈中重複的次數是由迴圈體自身內發生的事件控制的迴圈。
巢狀結構:控制結構嵌入另一個結構的結構,又稱為巢狀邏輯。
3、平方根
•事件控制迴圈
•抽象步驟:細節仍未明確的演算法步驟
•具體步驟:細節完全明確的演算法步驟
7.3複雜變數
1、陣列
2、記錄
7.4搜尋演算法
1、順序搜尋
2、有序陣列中的順序搜尋
3、二分檢索:在有序列表中查詢專案的操作,通過比較操作排除大部分的檢索範圍
7.5排序
1、選擇排序
2、氣泡排序
3、插入排序
7.6遞迴演算法
•遞迴:演算法呼叫它本身的能力
1、子程式語句
A:只執行特定任務的命名程式碼(語句)
B:不僅執行任務,還返回給呼叫單元一個值(表示式)
2、遞迴階乘
3、遞迴二分檢索
4、快速排序
7.7幾個重要思想
1、資訊隱蔽:隱蔽模組的細節以控制對這些細節的訪問的做法。
2、抽象:複雜系統的一種模型,只包括對觀察者來說必需的細節
資料抽象:把資料的邏輯檢視和它的實現分離開
過程抽象:把動作的邏輯檢視和它的實現分離開
控制抽象:把控制結構的邏輯檢視和它的實現分離開
控制結構:用於改變正常的順序控制流的語句
3、事物命名
4、測試
遇到的問題:看不懂某些過程和指令,但是再次翻看並且聽過課之後便有了點思路。
小結:實踐出真知。