1、迭代
迭代演算法是用計算機解決問題的一種基本方法。它利用計算機運算速度快、適合做重複性操作的特點,讓計算機對一組指令(或一定步驟)進行重複執行,在每次執行這組指令(或這些步驟)時,都從變數的原值推出它的乙個新值。
迭代 就是迴圈的去幹同一方式的事情(a>=1)
利用迭代演算法解決問題,需要做好以下三個方面的工作:
一、確定迭代變數。在可以用迭代演算法解決的問題中,至少存在乙個直接或間接地不斷由舊值遞推出新值的變數,這個變數就是迭代變數。
二、建立迭代關係式。所謂迭代關係式,指如何從變數的前乙個值推出其下乙個值的公式(或關係)。迭代關係式的建立是解決迭代問題的關鍵,通常可以使用遞推或倒推的方法來完成。
三、對迭代過程進行控制。在什麼時候結束迭代過程?這是編寫迭代程式必須考慮的問題。不能讓迭代過程無休止地重複執行下去。迭代過程的控制通常可分為兩種情況:一種是所需的迭代次數是個確定的值,可以計算出來;另一種是所需的迭代次數無法確定。對於前一種情況,可以構建乙個固定次數的迴圈來實現對迭代過程的控制;對於後一種情況,需要進一步分析出用來結束迭代過程的條件。
例 1 : 乙個飼養場引進乙隻剛出生的新品種兔子,這種兔子從出生的下乙個月開始,每月新生乙隻兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,問到第 12 個月時,該飼養場共有兔子多少只?
分析: 這是乙個典型的遞推問題。我們不妨假設第 1 個月時兔子的只數為 u 1 ,第 2 個月時兔子的只數為 u 2 ,第 3 個月時兔子的只數為 u 3 ,……根據題意,「這種兔子從出生的下乙個月開始,每月新生乙隻兔子」,則有
u 1 = 1 , u 2 = u 1 + u 1 × 1 = 2 , u 3 = u 2 + u 2 × 1 = 4 ,……
根據這個規律,可以歸納出下面的遞推公式:
u n = u n - 1 × 2 (n ≥ 2)
對應 u n 和 u n - 1 ,定義兩個迭代變數 y 和 x ,可將上面的遞推公式轉換成如下迭代關係:
y=x*2
x=y
讓計算機對這個迭代關係重複執行 11 次,就可以算出第 12 個月時的兔子數。參考程式如下:
cls
x=1
for i=2 to 12
y=x*2
x=y
next i
print y
end
EOBD的模糊概念
eobd european on board diagnostics 歐洲排放診斷系統,該系統隨時監測排放物的組成,如果監測結果與要求的標準不符,顯示系統會提示駕駛者該車應該盡快去做檢查和服務。eobd系統的功能可歸結為連續監測,確保尾氣排放達標。關於整車的排放控制 整車的排放控制就是在排放試驗規定...
c 容易混淆的概念
簡單地說,c 標準庫包含了三個部分 c 標準庫的 c 版本 c io 庫 c stl io 庫最常用的 header 是 標頭檔案 stl 包括了很多容器類 vector,list,deque,stack.還有 functinal,algorithm,iterator 等 c 標準庫的 c 版本 設...
模糊測試基礎概念
什麼是模糊測試?我們先來了解下什麼是模糊測試?測試之美 一書如下解釋 模糊測試是通過對輸入資料進行隨機修改和破壞來測試程式的方法。雖然這一技術已經存在至少20多年 但由於安全測試的日益重視和模糊測試專用工具的增多,它在最近幾年變得更加盛行。乙個程式的模糊化可以是手工或者自動的 但伴以自動化和測試日誌...