版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
算法的概念與程序設(shè)計劉啟明算法的概念與程序設(shè)計劉啟明1第4節(jié)算法的概念與程序設(shè)計
【本章提要】
針對部分模塊進(jìn)行討論,研究其教學(xué)內(nèi)容、教學(xué)處理要點和教學(xué)中應(yīng)注意的問題。第4節(jié)算法的概念與程序設(shè)計
【本章提要】2
一、算法二、算法與程序三、重要的循環(huán)算法和遞歸算法四、排序問題五、常用算法一、算法3一、算法1.算法:對特定問題的求解步驟。2.算法復(fù)雜度3.算法的特征:有窮性、確定性、可行性4.計算方法:對求數(shù)值解的近似方法的研究【注意事項】計算機求解的問題:有兩大類(數(shù)值和非數(shù)值)【例題】交換兩個變量的值一、算法1.算法:對特定問題的求解步驟。4算法atbba算法atbba5算法main(){ floata,b,t; scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f\n",a,b);}算法main()6二、算法與程序
【程序兩要素】瑞士科學(xué)家沃思(NiklausWirth)有一個著明的公式程序=算法(操作步驟)+數(shù)據(jù)結(jié)構(gòu)(原料)
【說明】高級語言的數(shù)據(jù)類型非常豐富,如:字符型、整型、實型、邏輯型等。
【數(shù)組的概念】一組相關(guān)數(shù)據(jù)的集合,它在內(nèi)存中開辟了若干個連續(xù)的存儲單元,依次存儲。二、算法與程序7算法與程序
算法表示:
(1)自然語言
(2)傳統(tǒng)流程圖
(3)N-S結(jié)構(gòu)圖:又稱納薩-施內(nèi)德曼圖(Nassi-Sschneiderman).
結(jié)構(gòu)化程序設(shè)計(三種基本結(jié)構(gòu))
算法與程序算法表示:8【例題】求3個數(shù)中最小數(shù)
main(){inta,b,c,t;printf("請輸入三個整數(shù):");scanf(%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}printf("三個整數(shù)中最大得是%d\n",a);}【例題】求3個數(shù)中最小數(shù)9a>bYN交換a>cYN交換a>dYN交換……i=1ton-1min>a[i]YN交換a>bYN交換a>cYN交換a>dYN交換……i10三、重要的循環(huán)算法和遞歸算法循環(huán)算法兩類具有代表性的算法(窮舉和迭代)循環(huán)控制的方法(計數(shù)\標(biāo)志)例如:迭代算法的教學(xué)(二分法\牛頓切線)掌握知識與培養(yǎng)能力的統(tǒng)一主體與客體的統(tǒng)一【教案】用牛頓迭代法求下面方程在1.5附近的根。三、重要的循環(huán)算法和遞歸算法循環(huán)算法掌握知識與培養(yǎng)能力的11典型的遞歸算法Hanoi(漢諾)塔問題:
古代有一個梵塔,塔內(nèi)有3個座A、B、C,開始時A座上有64個盤子,盤子大小不等,大的在下,小的在上。有一個老和尚想把這64個盤子從A盤移到C座,但每次只允許移動一個盤子,且在移動過程中在3個座上都始終大盤在下,小盤在上。在移動過程中可以利用B座,要求編程序打印出移動步驟。
算法的演示圖示如下所示:典型的遞歸算法Hanoi(漢諾)塔問題:12典型的遞歸算法ABC132典型的遞歸算法ABC13213四、排序問題例如:排序問題(n個元素排隊)
對數(shù)據(jù)進(jìn)行排序有哪些方法可以實現(xiàn)?
快速排序、冒泡排序、希爾排序、插入排序、歸并排序……采用冒泡排序方法對待排序的序列進(jìn)行排序。四、排序問題例如:排序問題(n個元素排隊)14
定義一個大小為6的數(shù)組a[6]a[1]a[2]a[3]a[4]a[5]a[6]初始965743一次后695743二次后659743三次后657943四次后657493五次后657439第一趟冒泡排序最大值注:經(jīng)過第一趟冒泡排序,我們找出了待排序序列中的最大值9,最大值9存放在了數(shù)組a的最后一個位置。定義一個大小為6的數(shù)組a[6]最大值注:經(jīng)過第一趟冒泡排序15
a[1]a[2]a[3]a[4]a[5]a[6]初始657439一次后567439二次后567439三次后564739四次后564379第二趟冒泡排序注:經(jīng)過第二趟冒泡排序后,我們找到了次大值7,次大值7存放在數(shù)組a的倒數(shù)第二個位置a[5]次大值最大值a[1]a[2]a16流程圖是用一些圖框表示各種操作。用圖形表示算法,直觀形象、易于理解。
N-S流程圖---全部的算法寫在一個矩形框內(nèi),在框內(nèi)還可以包含其他的從屬于它的框,或者說,由一些基本的框組成一個大的框。這種流程圖又稱為N-S結(jié)構(gòu)化流程圖。據(jù)此在這里我們可畫出上述冒泡排序算法的N-S流程圖流程圖是用一些圖框表示各種操作。用圖形表示算法,直觀形象、易17描述算法
輸入n個數(shù)給a[1]到a[n]fori=1ton-1forj=1ton-ia[j]>a[j+1]真假a[j]<=>a[j+1]輸出a[1]到a[n]冒泡排序算法N-S流程圖描述算法18N-S圖描述算法依次對數(shù)據(jù)序列進(jìn)行冒泡排序:第三趟冒泡排序結(jié)果5-4-3-6-7-9第四趟冒泡排序結(jié)果4-3-5-6-7-9第五趟冒泡排序結(jié)果3-4-5-6-7-9最后我們得到從小到大的順序序列為:3-4-5-6-7-9對n個數(shù)據(jù)進(jìn)行排序,需進(jìn)行n-1趟的冒泡排序;每趟冒泡排序過程中,(第i趟冒泡排序中)兩兩數(shù)據(jù)比較進(jìn)行了n-i次N-S圖描述算法依次對數(shù)據(jù)序列進(jìn)行冒泡排序:對n個數(shù)據(jù)進(jìn)行排19
程序如下所示:main(){inta[6];inti,j,t;
printf(“input6numbers:\n”);
for(j=1;j<=6;j++)
scanf(“%d”,&a[i]);
for(j=1;j<6;j++)for(i=1;i<6-j;i++)if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(“theorderednumbers:\n”);for(i=1;i<=6;i++)printf(“%d”,a[i]);}
程序如下所示:main()20
比較沉淀(起泡)選擇重要提示:課堂上強調(diào)以學(xué)生為中心建構(gòu)主義認(rèn)為,學(xué)習(xí)不是知識經(jīng)驗從外到內(nèi)的輸入過程,而是學(xué)習(xí)者通過新舊知識經(jīng)驗之間充分的相互作用而“生成”自己的知識的過程,學(xué)習(xí)要以學(xué)習(xí)者為中心。五、常用算法
比較沉淀(起泡)選擇五、常用算法21算法的概念與程序設(shè)計劉啟明算法的概念與程序設(shè)計劉啟明22第4節(jié)算法的概念與程序設(shè)計
【本章提要】
針對部分模塊進(jìn)行討論,研究其教學(xué)內(nèi)容、教學(xué)處理要點和教學(xué)中應(yīng)注意的問題。第4節(jié)算法的概念與程序設(shè)計
【本章提要】23
一、算法二、算法與程序三、重要的循環(huán)算法和遞歸算法四、排序問題五、常用算法一、算法24一、算法1.算法:對特定問題的求解步驟。2.算法復(fù)雜度3.算法的特征:有窮性、確定性、可行性4.計算方法:對求數(shù)值解的近似方法的研究【注意事項】計算機求解的問題:有兩大類(數(shù)值和非數(shù)值)【例題】交換兩個變量的值一、算法1.算法:對特定問題的求解步驟。25算法atbba算法atbba26算法main(){ floata,b,t; scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f\n",a,b);}算法main()27二、算法與程序
【程序兩要素】瑞士科學(xué)家沃思(NiklausWirth)有一個著明的公式程序=算法(操作步驟)+數(shù)據(jù)結(jié)構(gòu)(原料)
【說明】高級語言的數(shù)據(jù)類型非常豐富,如:字符型、整型、實型、邏輯型等。
【數(shù)組的概念】一組相關(guān)數(shù)據(jù)的集合,它在內(nèi)存中開辟了若干個連續(xù)的存儲單元,依次存儲。二、算法與程序28算法與程序
算法表示:
(1)自然語言
(2)傳統(tǒng)流程圖
(3)N-S結(jié)構(gòu)圖:又稱納薩-施內(nèi)德曼圖(Nassi-Sschneiderman).
結(jié)構(gòu)化程序設(shè)計(三種基本結(jié)構(gòu))
算法與程序算法表示:29【例題】求3個數(shù)中最小數(shù)
main(){inta,b,c,t;printf("請輸入三個整數(shù):");scanf(%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}printf("三個整數(shù)中最大得是%d\n",a);}【例題】求3個數(shù)中最小數(shù)30a>bYN交換a>cYN交換a>dYN交換……i=1ton-1min>a[i]YN交換a>bYN交換a>cYN交換a>dYN交換……i31三、重要的循環(huán)算法和遞歸算法循環(huán)算法兩類具有代表性的算法(窮舉和迭代)循環(huán)控制的方法(計數(shù)\標(biāo)志)例如:迭代算法的教學(xué)(二分法\牛頓切線)掌握知識與培養(yǎng)能力的統(tǒng)一主體與客體的統(tǒng)一【教案】用牛頓迭代法求下面方程在1.5附近的根。三、重要的循環(huán)算法和遞歸算法循環(huán)算法掌握知識與培養(yǎng)能力的32典型的遞歸算法Hanoi(漢諾)塔問題:
古代有一個梵塔,塔內(nèi)有3個座A、B、C,開始時A座上有64個盤子,盤子大小不等,大的在下,小的在上。有一個老和尚想把這64個盤子從A盤移到C座,但每次只允許移動一個盤子,且在移動過程中在3個座上都始終大盤在下,小盤在上。在移動過程中可以利用B座,要求編程序打印出移動步驟。
算法的演示圖示如下所示:典型的遞歸算法Hanoi(漢諾)塔問題:33典型的遞歸算法ABC132典型的遞歸算法ABC13234四、排序問題例如:排序問題(n個元素排隊)
對數(shù)據(jù)進(jìn)行排序有哪些方法可以實現(xiàn)?
快速排序、冒泡排序、希爾排序、插入排序、歸并排序……采用冒泡排序方法對待排序的序列進(jìn)行排序。四、排序問題例如:排序問題(n個元素排隊)35
定義一個大小為6的數(shù)組a[6]a[1]a[2]a[3]a[4]a[5]a[6]初始965743一次后695743二次后659743三次后657943四次后657493五次后657439第一趟冒泡排序最大值注:經(jīng)過第一趟冒泡排序,我們找出了待排序序列中的最大值9,最大值9存放在了數(shù)組a的最后一個位置。定義一個大小為6的數(shù)組a[6]最大值注:經(jīng)過第一趟冒泡排序36
a[1]a[2]a[3]a[4]a[5]a[6]初始657439一次后567439二次后567439三次后564739四次后564379第二趟冒泡排序注:經(jīng)過第二趟冒泡排序后,我們找到了次大值7,次大值7存放在數(shù)組a的倒數(shù)第二個位置a[5]次大值最大值a[1]a[2]a37流程圖是用一些圖框表示各種操作。用圖形表示算法,直觀形象、易于理解。
N-S流程圖---全部的算法寫在一個矩形框內(nèi),在框內(nèi)還可以包含其他的從屬于它的框,或者說,由一些基本的框組成一個大的框。這種流程圖又稱為N-S結(jié)構(gòu)化流程圖。據(jù)此在這里我們可畫出上述冒泡排序算法的N-S流程圖流程圖是用一些圖框表示各種操作。用圖形表示算法,直觀形象、易38描述算法
輸入n個數(shù)給a[1]到a[n]fori=1ton-1forj=1ton-ia[j]>a[j+1]真假a[j]<=>a[j+1]輸出a[1]到a[n]冒泡排序算法N-S流程圖描述算法39N-S圖描述算法依次對數(shù)據(jù)序列進(jìn)行冒泡排序:第三趟冒泡排序結(jié)果5-4-3-6-7-9第四趟冒泡排序結(jié)果4-3-5-6-7-9第五
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 句容市屬事業(yè)單位筆試真題
- 瑜伽館合作合同范本2024年
- 2024-2030年中國智慧燃?xì)庑袠I(yè)發(fā)展格局及需求規(guī)模預(yù)測報告
- 2024-2030年中國智慧養(yǎng)殖產(chǎn)業(yè)運行狀況及投融資分析研究報告
- 2024-2030年中國無間隙原子鋼行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 2024-2030年中國無肩帶文胸行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 2024-2030年中國新型裝配建筑行業(yè)市場深度調(diào)研及投資前景與投資策略研究報告
- 2024-2030年中國無機阻燃劑行業(yè)運營態(tài)勢及投資盈利預(yù)測研究報告
- 2024-2030年中國無葉風(fēng)扇行業(yè)發(fā)展分析及投資前景預(yù)測研究報告
- 2024-2030年中國旋轉(zhuǎn)式電熱水壺行業(yè)市場發(fā)展分析及發(fā)展前景與投資研究報告
- 銀行賬戶確認(rèn)書
- 教育改革發(fā)展座談會發(fā)言材料
- 單細(xì)胞生物課件0
- 送檢委托單填寫范例
- 迅達(dá)電梯5400超詳細(xì)故障代碼中文版44938
- 搶救車急救藥品效期檢查登記表
- 2022年學(xué)習(xí)型家庭事跡簡介
- 常用作文修改符號
- 過山車項目及規(guī)則(共2頁)
- 過程性評價量表實訓(xùn)類課程過程性評價表
- AI自動插件對PCB工藝設(shè)計參考
評論
0/150
提交評論