1. 程式人生 > 其它 >2019-2020-1學期 20212418 《網路空間安全專業導論》第三週學習總結

2019-2020-1學期 20212418 《網路空間安全專業導論》第三週學習總結

第六章 低階程式設計語言與虛擬碼
1.計算機操作:可程式設計,儲存,檢索和處理
2.機器語言:計算機直接使用的二進位制編碼指令構成的語言(目前大多數程式是高階語言編寫在翻譯成機器語言)
3.pep/9:虛擬機器,共40條機械語言指令。(1)基本特性:記憶體單元由65536位元組的儲存空間構成,字長是兩位元組在ALU流入和流出的資料長度是16位,有七個暫存器,重點研究三個:PC (程式計數器)IR (指令暫存器)A(儲存資料和運算結果)
(2)指令格式:8位指令說明符和16位運算元說明符,第一個位元組說明要執行什麼操作和如何解釋運算元的位置,第二三位元組存放運算元本身或運算元的地址,第一位元組由操作程式碼(四到八位),暫存器說明符(一位),定址模式(三位,主要兩種000立即定址和001直接定址)。無運算元的指令叫一元指令
(3)輸入和輸出
4.操作例項:螢幕限時hi,五條指令,2個儲存,2個載入,1個用於停止程式執行
5.pep/9模擬器:機器語言在執行前,必須先載入儲存器,另一個例項講輸入的兩個字母用逆序打出來
6.組合語言:(1)助記碼,運算元,模式(LDWA 0x008B,i)。彙編器指令也叫偽操作:.END 表示終點,組合語言可以在分號後面加註釋
(2)數字資料,分支:指出執行下一條指令的命令,如DECI,讀入十進位制數,標籤:對記憶體起名字,可將這個名字當作運算元(3)迴圈
7.表達演算法:演算法:解決問題的邏輯步驟順序。虛擬碼:一種表達演算法的語言,功能:變數(sum),賦值,輸入和輸出,選擇(if),重複。執行,寫,翻譯虛擬碼演算法(要練習才可熟悉)
8.測試:程式碼覆蓋(明箱)測試,資料覆蓋(暗箱)測試。
第七章 問題求解和演算法設計
1.如何解決問題:提出問題,尋找熟悉情況,分治法(把大問題分割成能夠單獨解決的小問題),演算法(在有限時間用有限的資料解決問題或子問題的明確指令集合),計算機問題求解過程(分析,說明階段,演算法開發階段,實現階段和維護階段),方法總結:自上而下的方法

,主要分四個步驟:分析問題,列出主要任務,編寫其餘模組,根據需要進行重組和改寫
2.測試演算法:演算法測試都是在編碼演算法的各種條件下執行程式
3.有簡單變數的演算法:(1)帶有選擇的演算法(2)帶有迴圈的演算法:1.計數控制迴圈 2.事件控制迴圈(巢狀結構) 3.平方根(抽象和具體步驟)
4.複雜變數:陣列:同構專案的有名集合,與之相關的演算法有三種搜尋,排序和處理,記錄:異構專案的有名集合,此集合包括整數,實數,字串或其他型別的資料,可以把與一個物件相關的各種專案繫結在一起 如:一個人的年齡,名字,工資等等全都記錄在一個分組中
5.搜尋演算法:順序演算法:一個一個尋找,二分搜尋:假定陣列專案有序,每次搜尋中間的,在減半搜尋,此法速度較快
6.排序:選擇排序:第一個和最小的換位以此類推從而排序好
氣泡排序:從最後一個一直向上走,遇到比自己小的就讓它進行向上冒泡,以此完成排序
插入排序:一次加一個元素並將他們排序以此遞推
7.遞迴演算法(是一種重複迴圈的控制結構),遞迴:演算法調動它本身的能力, 遞迴解決方案:第一步確定尺寸係數,每次遞迴呼叫後問題都應該減小
(1)子程式語句(控制結構): 呼叫單元:給一個程式碼一個名稱然後程式另一個部分的一個語句使用這個名稱,遇到此名稱這個程式其他部分將停止,而這個命名程式碼出現的地方就是呼叫單元 兩種形式:1.只執行特定的任務的命名程式碼,2.不僅執行任務,還返回給呼叫單元一個值 (2)遞迴階乘 (3)遞迴二分檢索
(4)快速排序:基本思想:對兩個小列表排序比對一個大列表排序更容易,特別重要一點:“永遠都不要重複造輪子”
8.幾個重要思想:(1)資訊隱蔽:隱藏細節做法(2)抽象:隱藏細節後的結果 幾個計算領域的抽象型別:資料,過程,控制抽象 控制結構:改變演算法的順序控制流
(3)事物的命名(4)測試方法