下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1算法:為解決某一問題設(shè)計(jì)的確定的有限的步驟。2算法的主要特征:有窮性、確定性、可行性、有0個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸入。3算法的描述方法:自然語言,流程圖,程序或位代碼。4.用計(jì)算機(jī)解決問題的一般過程:分析問題®設(shè)計(jì)算法®編寫程序®上機(jī)調(diào)試和維護(hù)5流程圖符號(hào):起止框 輸入輸出框 處理框 判斷框 流程線6常量:在程序執(zhí)行過程中事先設(shè)置、其值不發(fā)生改變的量。7變量:在程序執(zhí)行過程中,取值可以改變的量,對應(yīng)計(jì)算機(jī)內(nèi)部的存儲(chǔ)單元。(1)每個(gè)變量都有一個(gè)名字作為標(biāo)記,不同程序設(shè)計(jì)語言對變量的命名規(guī)則各不相同。基本命名規(guī)則:只能由字母、數(shù)字和下劃線三類字符組成,但第一個(gè)字
2、符必須是字母,字母大小寫都可以。變量名長度適當(dāng),要有意義。(2)從變量中讀取數(shù)據(jù)后,變量的值不發(fā)生改變。(3)變量賦值:將賦值號(hào)右邊常量的值或變量的值,或表達(dá)式的結(jié)果存放在左邊變量名對應(yīng)的存儲(chǔ)單元中,成為左邊變量的值。例:(注意“=”是賦值號(hào))n 變量=常量 例如:a=3n 變量=變量 例如:b=an
3、; 變量=表達(dá)式 例如:c=2*a+b (4)變量賦值的特點(diǎn):取之不盡,賦值即覆蓋(5)變量的定義:Dim <變量名1> As <類型名> ,<變量名2> As <類型名>類型名中文名取值范圍Single單精度實(shí)數(shù)10-451038Integer整數(shù)-3276832767String字符串一段文字與符號(hào)例:name=“Liming” 8運(yùn)算符類別運(yùn)算符運(yùn)算結(jié)果優(yōu)先級(jí)算術(shù)運(yùn)算符+ 、-、* 、/、mod數(shù)值>* />&g
4、t;mod>+ -關(guān)系運(yùn)算符>、<、>=、<=、=、<>True或False相同邏輯運(yùn)算符not、and、orTrue或FalseNot>and>or9三類運(yùn)算符的優(yōu)先級(jí):算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符10. 常用數(shù)學(xué)函數(shù):Int(x) 取整運(yùn)算,求不大于x的最大整數(shù)Sqr(x) 求x的算術(shù)平方根Abs(x) 求x的絕對值11主要函數(shù):取整函數(shù)Int()、求算術(shù)平方根函數(shù)sqr()、求絕對值函數(shù)abs()12算法的三種結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)雙分支結(jié)構(gòu)單分支結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)13.判斷
5、框一個(gè)入口、兩個(gè)出口;分支結(jié)構(gòu)一個(gè)入口、一個(gè)出口。14循環(huán)結(jié)構(gòu)中要注意:循環(huán)初始狀態(tài)、循環(huán)體、循環(huán)條件。15計(jì)數(shù)器:在算法執(zhí)行過程中,用來記錄某種事件發(fā)生次數(shù)的變量。(1)計(jì)數(shù)器的初值通常為0(2)在循環(huán)體中的計(jì)數(shù)語句i = i + 116. 累加器:在算法執(zhí)行過程中,用來生成并存儲(chǔ)數(shù)據(jù)累加和的變量。(1)累加器的初值通常為0(2)在循環(huán)體中的累加語句s = s + a17累乘器:在算法執(zhí)行過程中,用來生成并存儲(chǔ)數(shù)據(jù)累乘積的變量。(1)累乘器的初值通常為1(2)在循環(huán)體中的累乘語句s = s * a18解析算法:用解析的方法找出表示問題的前提條件與結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)式,并通過表達(dá)式的計(jì)算來
6、實(shí)現(xiàn)問題求解?!窘馕鏊惴▽?shí)例】輸入已知三角形三條邊的長a、b、c,利用海倫公式求三角形面積。input a, b, c s = (a + b + c) / 2 x = Sqr(s * (s - a) * (s - b) * (s - c) Print x19枚舉算法:列出各種可能的情況并逐一進(jìn)行檢驗(yàn),根據(jù)檢驗(yàn)的結(jié)果執(zhí)行相應(yīng)的操作?!懊丁本褪且粋€(gè)一個(gè);“舉”就是列舉。核心:不遺漏不重復(fù)。枚舉算法充分利用了計(jì)算機(jī)“運(yùn)行速度快、不知疲倦”的優(yōu)勢。(1)結(jié)構(gòu)特點(diǎn):循環(huán)中嵌套分支結(jié)構(gòu)l列舉由循環(huán)結(jié)構(gòu)實(shí)現(xiàn)l檢驗(yàn)由分支結(jié)構(gòu)實(shí)現(xiàn)(2)設(shè)計(jì)步驟1)確定列舉的范圍:不能隨意擴(kuò)大和縮小范圍,否則會(huì)造成重復(fù)或漏解2)
7、明確檢驗(yàn)的條件:根據(jù)檢驗(yàn)的對象來設(shè)定條件,以及檢驗(yàn)后所執(zhí)行的相關(guān)操作。3)確定循環(huán)控制的方式和列舉的方式:借助循環(huán)變量的變化來列舉,或通過輸入。 x = 100 Do While x <= 999 a = Int(x / 100) b = Int(x Mod 100) / 10) c = x Mod 10 If a 3 + b 3 + c 3 = x Then Print x , End If x = x + 1Loop【枚舉算法實(shí)例】若一個(gè)三位數(shù)x=100*a+10*b+c(a、b、c都是個(gè)位數(shù)),滿足a3+b3+c3=x,則x稱為水仙花數(shù)。找出三位數(shù)中所有的水仙花數(shù)。20數(shù)組:一種特
8、殊的變量,在內(nèi)存中的位置是連續(xù)的,用于存儲(chǔ)一批類型、作用相同的數(shù)據(jù)。幾個(gè)相關(guān)概念:數(shù)組名、數(shù)組元素、數(shù)組元素名、數(shù)組元素下標(biāo)、數(shù)組元素值。Dim d(10) For i = 1 to 10 Input a d(i) = a next i for i = 10 to 1 step -1 Print d(i) Next i【數(shù)組實(shí)例】輸入10個(gè)數(shù)字,依次存放到數(shù)組中,再將其逆序輸出。21冒泡排序的算法思想(由右向左依次比較,這種考的比較多)(1)從最下面一個(gè)元素起,自下而上地比較相鄰兩個(gè)元素中的數(shù)據(jù),將較小的數(shù)值交換到上面一個(gè)元素。重復(fù)這一過程,直到處理完最后兩個(gè)元素中的數(shù)據(jù),稱為一遍加工。此時(shí),
9、最小的數(shù)據(jù)已經(jīng)上升到第一個(gè)元素的位置。(2)然后對余下的i-1個(gè)元素重復(fù)上述過程。(3)由于每一遍加工都是將最小的元素像氣泡一樣浮至頂端,故稱為冒泡排序。例:有一組數(shù)據(jù)23、61、24、15、89,問第二輪冒泡的第一次交換后數(shù)據(jù)排序的結(jié)果如何?冒泡過程:原始數(shù)據(jù)2361241589第一輪冒泡(交換3次)1589152489156124891523612489第二輪冒泡(第1次交換)2489246189答:第二輪冒泡的第一次交換后數(shù)據(jù)排序結(jié)果為15、23、24、61、8922選擇排序的算法思想(找最值擂臺(tái)法)(1)從第一個(gè)元素起,自上而下找出最小數(shù),并記錄下它的位置,將最小數(shù)交換到第一個(gè)元素中。
10、完成第一遍加工。(2)然后對余下的i-1個(gè)元素重復(fù)上述過程。(3)在每一遍加工中,只需交換一次位置即可上例中的這組數(shù)據(jù)23、61、24、15、89,用選擇排序的過程如下:原始數(shù)據(jù)2361241589第一遍加工1561242389第二遍加工1523246189冒泡排序與選擇排序的比較選擇排序?qū)嶋H上是一種優(yōu)化了的排序方法,它和冒泡排序的區(qū)別在于減少了交換的次數(shù),在每一遍的加工過程中,選擇排序采用的方法是通過遍歷,記錄下最值的位置,最后再將最值所在位置的數(shù)據(jù)與待排元素所在的位置進(jìn)行交換,因此每一遍加工只需交換依次位置。大大減少了算法的復(fù)雜度。23擂臺(tái)法實(shí)例:已知數(shù)組d中已經(jīng)存放了10個(gè)數(shù),輸出其中的最大值(1)先假設(shè)d1中的數(shù)值是最大值,令k d1 。(2)用d2與k比較,若d2大,則令k d2,否則繼續(xù)比較,直至d1024順序查找的算法思想:按照數(shù)組元素的先后次序,從第一個(gè)元素開始遍歷,逐個(gè)檢驗(yàn)是否和查找的數(shù)據(jù)相等。(枚舉算法)例:在包含10個(gè)數(shù)字的數(shù)組中順序查找一個(gè)符合要求的數(shù)。25對分查找的算法思想:先取數(shù)組中間的元素和關(guān)鍵字比較,若不相等則縮小近一半的查找范圍,在剩下的元素中繼續(xù)查找。由于對分查找每查找一次,查找范圍
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版人工智能技術(shù)研發(fā)與應(yīng)用合同15篇
- 常州2025版二手房過戶稅費(fèi)處理與過戶手續(xù)辦理合同2篇
- 二零二五版智慧城市建設(shè)合作合同范本2篇
- 二零二五版在線教育管理系統(tǒng)定制開發(fā)合同3篇
- 二零二五版ISO9001質(zhì)量管理體系認(rèn)證與質(zhì)量管理體系審核與監(jiān)督合同3篇
- 水電工程2025年度施工安全評(píng)估合同2篇
- 二零二五版LED顯示屏戶外廣告位租賃合同協(xié)議3篇
- 二零二五年海鮮餐飲業(yè)特色菜品開發(fā)與銷售合同3篇
- 二零二五年度虛擬現(xiàn)實(shí)游戲開發(fā)電子合同承諾3篇
- 二零二五版智能零售企業(yè)兼職銷售員勞動(dòng)合同3篇
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 新員工入職培訓(xùn)測試題附有答案
- 勞動(dòng)合同續(xù)簽意見單
- 大學(xué)生國家安全教育意義
- 2024年保育員(初級(jí))培訓(xùn)計(jì)劃和教學(xué)大綱-(目錄版)
- 河北省石家莊市2023-2024學(xué)年高二上學(xué)期期末考試 語文 Word版含答案
- 企業(yè)正確認(rèn)識(shí)和運(yùn)用矩陣式管理
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 陳閱增普通生物學(xué)全部課件
- 檢驗(yàn)科主任就職演講稿范文
- 人防工程主體監(jiān)理質(zhì)量評(píng)估報(bào)告
評(píng)論
0/150
提交評(píng)論