版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、LOGO用解析法解決問題什么是解析法 解析法就是在分析具體問題的基礎(chǔ)上,抽取出一個(gè)數(shù)學(xué)模型,這個(gè)數(shù)學(xué)模型能用若干解析表達(dá)式表示出來,解決了這些表達(dá)式問題也就得到了解決。解析法是程序設(shè)計(jì)中最常用的算法之一。解析法解決問題步驟1、問題分析 未知-已知數(shù)學(xué)表達(dá)式 S = (a+b)*h/22、編程實(shí)現(xiàn)3.2 用窮舉法解決問題1什么是窮舉法?也叫枚舉法、列舉法將求解對象一一列舉出來,然后逐一加以分析、處理,并驗(yàn)證結(jié)果是否滿足給定的條件,窮舉完所有對象,問題將最終得以解決。任務(wù)一:水仙花數(shù) 水仙花數(shù)是指一個(gè)三位數(shù),它的各位數(shù)的立方和正好等于該數(shù)本身。如:153=13+53+33。請?jiān)O(shè)計(jì)算法求解“水仙花數(shù)
2、問題”。水仙花數(shù)代碼:Dim x, b, s, g As Integer For x = 100 To 999 Step 1 a = i 100 b = (i - a * 100) 10 c= i - a * 100 - b * 10If a3 + b3 + c3 = x ThenPrint xEnd IfNext x求解對象應(yīng)該是有限的;有窮舉規(guī)則一時(shí)找不出解決問題的更好途徑時(shí);窮舉法的適用條件:窮舉法解決問題步驟: 通常可以從兩個(gè)方面進(jìn)行分析:確定范圍:問題所涉及的情況有哪些,情況的種數(shù)可不可以確定。驗(yàn)證條件:分析出來的這些情 任務(wù)二:百錢買百雞” 相相傳傳我國我國南南北北朝朝時(shí),京時(shí),京
3、城城有個(gè)有個(gè)賣雞賣雞的的張姓張姓老老漢漢,他他有一有一個(gè)個(gè)兒兒子非常子非常聰聰明明,尤尤其其擅擅長長算算術(shù)術(shù),到,到十十二三二三歲歲時(shí)已是時(shí)已是遠(yuǎn)遠(yuǎn)近近聞聞名名的的“小小神童神童”了了。當(dāng)。當(dāng)朝宰朝宰相相聽聽說說后想試后想試探探個(gè)個(gè)究究竟竟,于是,于是派派仆仆人到人到張張老老漢漢的的店店里打里打聽雞聽雞的價(jià)的價(jià)錢錢,張張老老漢漢告告知知“公公雞五雞五文文錢錢一一只只,母母雞雞三文一三文一只只,小,小雞雞一文三一文三只只”。于是,。于是,仆仆人人給他給他一一百百文文錢錢,要求公,要求公雞雞、母母雞雞、小、小雞雞都都要,數(shù)要,數(shù)量量不多不少不多不少正好正好一一百只百只,命他次命他次日日送送到到府府
4、上。這可上。這可難難為為了了張張老老漢漢,他他怎怎么湊么湊也湊也湊不不夠夠這個(gè)數(shù),這個(gè)數(shù),只只好好問問兒兒子子?!靶⌒∩裢裢辈徊换呕挪徊幻γ?,掐掐指指一算就一算就給給出出了答了答案,案,第第二二天天照照數(shù)數(shù)送送到到宰宰相相府府。宰宰相見相見難難不不倒倒“小小神童神童”,又讓仆又讓仆人人給給張張老老漢漢一一百百文文錢錢,要求,要求再再買買一一百只百只雞雞,搭搭配配方法不能和上方法不能和上次次一樣。結(jié)果一樣。結(jié)果“小小神童神童”又又很快給很快給出出了答了答案,案,宰宰相相暗暗暗暗稱稱奇奇,想最后,想最后再再試一試一次次,誰誰知知還還是沒有是沒有難難倒倒“小小神童神童”。 這個(gè)這個(gè)故事故事就是我
5、國古代數(shù)學(xué)就是我國古代數(shù)學(xué)名名著著張邱張邱建建算經(jīng)算經(jīng)里里的的百百雞雞百百錢錢問題。請用問題。請用窮舉窮舉法求解法求解所所有的組合方法。有的組合方法。百錢買百雞 確定范圍 驗(yàn)證條件:百錢百雞代碼:Dim x, y, z As IntegerFor x = 1 To 20 For y = 1 To 33 For z = 1 To 100If (5 * x + 3 * y + 1 / 3 * z = 100) And (x + y + z = 100) ThenPrint x, y, zEnd IfNext zNext yNext xEnd Sub我們使用信用卡在柜員機(jī)上取錢時(shí),為什么系統(tǒng)要限制輸
6、入密碼的次數(shù)?小結(jié)1、窮舉法分析: 確定范圍 驗(yàn)證條件2、自覺遵守網(wǎng)絡(luò)道德與法規(guī) 數(shù)數(shù) 組組3.1 概 述 數(shù)組的概念:數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而數(shù)組并不是一種數(shù)據(jù)類型,而是是一組相同類型數(shù)據(jù)一組相同類型數(shù)據(jù)的集合。用一個(gè)統(tǒng)一的名字的集合。用一個(gè)統(tǒng)一的名字(數(shù)組名)數(shù)組名)代表邏輯上相關(guān)的一批數(shù)據(jù),每個(gè)元代表邏輯上相關(guān)的一批數(shù)據(jù),每個(gè)元素用素用下標(biāo)變量下標(biāo)變量來區(qū)分;下標(biāo)變量代表元素在數(shù)組來區(qū)分;下標(biāo)變量代表元素在數(shù)組中的位置。中的位置。其表示形式: A(1),A(10) X(1,1), X1(1,10), X(2,10) Y(0,0,0), Y(1,2,5)Visual Basi
7、c中的數(shù)組,按不同的方式可分為中的數(shù)組,按不同的方式可分為以下幾類:以下幾類:按數(shù)組的大小(元素個(gè)數(shù))是否可以改變來分為:定長數(shù)組、動(dòng)態(tài)(可變長)數(shù)組。按元素的數(shù)據(jù)類型可分為:數(shù)值型數(shù)組、字符串?dāng)?shù)組、日期型數(shù)組、變體數(shù)組等。按數(shù)組的維數(shù)可分為:一維數(shù)組、二維數(shù)組、多維數(shù)組。對象數(shù)組:菜單對象數(shù)組、控件數(shù)組。3.2 一維數(shù)組一維數(shù)組 3.2.1 一維數(shù)組的聲明一維數(shù)組的聲明 形式: Dim 數(shù)組名數(shù)組名(to)As 或:或: Dim 數(shù)組名數(shù)組名(to)例:Dim a(1 to 10) As Integer 聲明了a數(shù)組有10個(gè)元素與上面聲明等價(jià)形式: Dim a%(1 to 10) 1是下標(biāo)的
8、下界10是下標(biāo)的上界數(shù)組元數(shù)的數(shù)據(jù)類型說明:1數(shù)組名的命名規(guī)則與變量的命名相同。2數(shù)組的元素個(gè)數(shù):上界-下界+1。3缺省為0,若希望下標(biāo)從1開始,可在模塊的通用部分使用Option Base語句將設(shè)為1。其使用格式是: Option Base 0|1 后面的參數(shù)只能取0或1例如: Option Base 1 將數(shù)組聲明中缺省下標(biāo)設(shè)為1 4和不能使用變量,必須是常量,常量可以是直接常量、符號常量,一般是整型常量。5如果省略As子句,則數(shù)組的類型為變體類型。6數(shù)組中各元素在內(nèi)存占一片連續(xù)的存儲空間,一維數(shù)組在內(nèi)存中存放的順序是下標(biāo)大小的順序,如圖5-1所示: 二、二、 排序問題排序問題 1選擇法排
9、序選擇法排序算法思想:算法思想: 1)對有)對有n個(gè)數(shù)的序列(存放在個(gè)數(shù)的序列(存放在數(shù)組數(shù)組a(n)中),從中選出最小中),從中選出最?。ㄉ颍┗蜃畲螅ń敌颍┑臄?shù),(升序)或最大(降序)的數(shù),與第與第1個(gè)數(shù)交換位置;個(gè)數(shù)交換位置; 2)除第)除第1 個(gè)數(shù)外,其余個(gè)數(shù)外,其余n-1個(gè)個(gè)數(shù)中選最小或最大的數(shù),與第數(shù)中選最小或最大的數(shù),與第2個(gè)數(shù)交換位置;個(gè)數(shù)交換位置; 3)依次類推,選擇了)依次類推,選擇了n-1次后,次后,這個(gè)數(shù)列已按升序排列。這個(gè)數(shù)列已按升序排列。原 始 數(shù) 據(jù) 8 6 9 3 2 7第 1趟 交 換 后 2 6 9 3 8 7第 2趟 交 換 后 2 3 9 6 8 7第
10、3趟 交 換 后 2 3 6 9 8 7第 4趟 交 換 后 2 3 6 7 8 9第 5趟 無 交 換 2 3 6 7 8 9 圖1-3-27 交 換 過 程1選擇法排序選擇法排序算法思想:算法思想: 1)對有)對有n個(gè)數(shù)的序列(存?zhèn)€數(shù)的序列(存放在數(shù)組放在數(shù)組a(n)中),從中選中),從中選出最?。ㄉ颍┗蜃畲螅ń党鲎钚。ㄉ颍┗蜃畲螅ń敌颍┑臄?shù),與第序)的數(shù),與第1個(gè)數(shù)交換個(gè)數(shù)交換位置;位置; 2)除第)除第1 個(gè)數(shù)外,其余個(gè)數(shù)外,其余n-1個(gè)數(shù)中選最小或最大的數(shù),個(gè)數(shù)中選最小或最大的數(shù),與第與第2個(gè)數(shù)交換位置;個(gè)數(shù)交換位置; 3)依次類推,選擇了)依次類推,選擇了n-1次后,這個(gè)數(shù)列已
11、按升序排次后,這個(gè)數(shù)列已按升序排列。列。For i = 1 To n - 1For i = 1 To n - 1 p = i p = i For j = i + 1 To n For j = i + 1 To n If a(p) a(j) Then p = j If a(p) a(j) Then p = j Next j Next j temp = a(i) temp = a(i) a(i) = a(p) a(i) = a(p) a(p) = temp a(p) = tempNext iNext i選擇法排序(升序)的選擇法排序(升序)的VB程序程序:2冒泡法排序(遞增)冒泡法排序(遞增) 算
12、法思想:算法思想:(將相鄰兩個(gè)數(shù)比較,小的調(diào)到前頭將相鄰兩個(gè)數(shù)比較,小的調(diào)到前頭) 1)有)有n個(gè)數(shù)(存放在數(shù)組個(gè)數(shù)(存放在數(shù)組a(n)中),第一趟將中),第一趟將每相鄰兩個(gè)數(shù)比較,小的調(diào)到前頭,經(jīng)每相鄰兩個(gè)數(shù)比較,小的調(diào)到前頭,經(jīng)n-1次兩兩次兩兩相鄰比較后,最大的數(shù)已相鄰比較后,最大的數(shù)已“沉底沉底”,放在最后一,放在最后一個(gè)位置,小數(shù)上升個(gè)位置,小數(shù)上升“浮起浮起”; 2)第二趟對余下的)第二趟對余下的n-1個(gè)數(shù)(最大的數(shù)已個(gè)數(shù)(最大的數(shù)已“沉沉底底”)按上法比較,經(jīng))按上法比較,經(jīng)n-2次兩兩相鄰比較后得次次兩兩相鄰比較后得次大的數(shù);大的數(shù); 3)依次類推,)依次類推,n個(gè)數(shù)共進(jìn)行個(gè)數(shù)
13、共進(jìn)行n-1趟比較,在第趟比較,在第j趟中要進(jìn)行趟中要進(jìn)行n-j次兩兩比較。次兩兩比較。For i = 1 To n - 1For i = 1 To n - 1 For j = 1 To n-i For j = 1 To n-i If a(j) a(j+1) Then If a(j) a(j+1) Then temp=a(j) temp=a(j) a(j)=a(j+1) a(j)=a(j+1) a(j+1)=temp a(j+1)=temp End if End if Next j Next jNext iNext i冒泡法排序(升序)的冒泡法排序(升序)的VB程序程序:LOGO3.5 用遞歸
14、法解決問題用遞歸法解決問題“從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢?從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚
15、講故事,講什么呢? 從前有座山,山里有座廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢?”這個(gè)故事有什么特點(diǎn)?自己調(diào)用自己如果在一個(gè)函數(shù)中,它自己調(diào)用了自己,這種現(xiàn)象叫遞歸調(diào)用。如果A函數(shù)調(diào)用B函數(shù),B函數(shù)又反過來調(diào)用A函數(shù),那這種現(xiàn)象也叫做遞歸調(diào)用。如果一個(gè)函數(shù)在定義時(shí),直接或間接的調(diào)用了自己,這種算法在程序設(shè)計(jì)中統(tǒng)稱為遞歸法。遞歸法一般需要遞歸法一般需要定義函數(shù)定義函數(shù)來實(shí)現(xiàn)。來實(shí)現(xiàn)。 雖然VB為我們提供了大量的標(biāo)準(zhǔn)函數(shù),但我們在實(shí)際應(yīng)用時(shí)難免有時(shí)還是找不到合意的,那就只有自己解決了,這樣為了一個(gè)特定的任務(wù)而編出來的函數(shù)叫自定義函數(shù)。Abs()、len()、date()、sqr()、msgbox()等使用遞歸算法必須要滿足以下的遞歸條件:使用遞歸算法必須要滿足以下的遞歸條件:()存在遞歸結(jié)束條件及結(jié)束時(shí)的值()能用遞歸形式表示,且遞歸向終止條件發(fā)展兔子繁殖問題 有人養(yǎng)了一對兔子,這對兔子以后每月生一對兔
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租賃廠房合同協(xié)議
- 招標(biāo)文件評審的實(shí)踐操作與評審標(biāo)準(zhǔn)
- 家庭護(hù)理家政工雇傭合同
- 土地居間合作合同書
- 現(xiàn)金贖樓服務(wù)合同還款還款監(jiān)管政策
- 借款保證協(xié)議模板
- 個(gè)人社會(huì)救助借款合同范本
- 河砂礫石采購協(xié)議
- 林業(yè)采伐合作合同
- 抗洪項(xiàng)目論證招標(biāo)
- 2024年廉潔經(jīng)營承諾書2篇
- 《如何培養(yǎng)良好心態(tài)》課件
- 《中醫(yī)養(yǎng)生腎》課件
- 2024年二級建造師考試建筑工程管理與實(shí)務(wù)試題及解答參考
- 生產(chǎn)車間關(guān)鍵崗位培訓(xùn)
- 鄉(xiāng)鎮(zhèn)(街道)和村(社區(qū))應(yīng)急預(yù)案編制管理百問百答
- 醫(yī)院培訓(xùn)課件:《乳腺癌解讀》
- 中國高血壓防治指南(2024年修訂版)核心要點(diǎn)解讀
- 湖州師范學(xué)院《中學(xué)歷史教學(xué)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年人教版八年級語文上冊期末考試卷(附答案)
- 汽車乘員仿真RAMSIS操作指南
評論
0/150
提交評論