版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、LOGO用解析法解決問題什么是解析法 解析法就是在分析具體問題的基礎上,抽取出一個數(shù)學模型,這個數(shù)學模型能用若干解析表達式表示出來,解決了這些表達式問題也就得到了解決。解析法是程序設計中最常用的算法之一。解析法解決問題步驟1、問題分析 未知-已知數(shù)學表達式 S = (a+b)*h/22、編程實現(xiàn)3.2 用窮舉法解決問題1什么是窮舉法?也叫枚舉法、列舉法將求解對象一一列舉出來,然后逐一加以分析、處理,并驗證結果是否滿足給定的條件,窮舉完所有對象,問題將最終得以解決。任務一:水仙花數(shù) 水仙花數(shù)是指一個三位數(shù),它的各位數(shù)的立方和正好等于該數(shù)本身。如:153=13+53+33。請設計算法求解“水仙花數(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求解對象應該是有限的;有窮舉規(guī)則一時找不出解決問題的更好途徑時;窮舉法的適用條件:窮舉法解決問題步驟: 通常可以從兩個方面進行分析:確定范圍:問題所涉及的情況有哪些,情況的種數(shù)可不可以確定。驗證條件:分析出來的這些情 任務二:百錢買百雞” 相相傳傳我國我國南南北北朝朝時,京時,京
3、城城有個有個賣雞賣雞的的張姓張姓老老漢漢,他他有一有一個個兒兒子非常子非常聰聰明明,尤尤其其擅擅長長算算術術,到,到十十二三二三歲歲時已是時已是遠遠近近聞聞名名的的“小小神童神童”了了。當。當朝宰朝宰相相聽聽說說后想試后想試探探個個究究竟竟,于是,于是派派仆仆人到人到張張老老漢漢的的店店里打里打聽雞聽雞的價的價錢錢,張張老老漢漢告告知知“公公雞五雞五文文錢錢一一只只,母母雞雞三文一三文一只只,小,小雞雞一文三一文三只只”。于是,。于是,仆仆人人給他給他一一百百文文錢錢,要求公,要求公雞雞、母母雞雞、小、小雞雞都都要,數(shù)要,數(shù)量量不多不少不多不少正好正好一一百只百只,命他次命他次日日送送到到府府
4、上。這可上。這可難難為為了了張張老老漢漢,他他怎怎么湊么湊也湊也湊不不夠夠這個數(shù),這個數(shù),只只好好問問兒兒子子?!靶⌒∩裢裢辈徊换呕挪徊幻γ?,掐掐指指一算就一算就給給出出了答了答案,案,第第二二天天照照數(shù)數(shù)送送到到宰宰相相府府。宰宰相見相見難難不不倒倒“小小神童神童”,又讓仆又讓仆人人給給張張老老漢漢一一百百文文錢錢,要求,要求再再買買一一百只百只雞雞,搭搭配配方法不能和上方法不能和上次次一樣。結果一樣。結果“小小神童神童”又又很快給很快給出出了答了答案,案,宰宰相相暗暗暗暗稱稱奇奇,想最后,想最后再再試一試一次次,誰誰知知還還是沒有是沒有難難倒倒“小小神童神童”。 這個這個故事故事就是我
5、國古代數(shù)學就是我國古代數(shù)學名名著著張邱張邱建建算經算經里里的的百百雞雞百百錢錢問題。請用問題。請用窮舉窮舉法求解法求解所所有的組合方法。有的組合方法。百錢買百雞 確定范圍 驗證條件:百錢百雞代碼: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我們使用信用卡在柜員機上取錢時,為什么系統(tǒng)要限制輸
6、入密碼的次數(shù)?小結1、窮舉法分析: 確定范圍 驗證條件2、自覺遵守網絡道德與法規(guī) 數(shù)數(shù) 組組3.1 概 述 數(shù)組的概念:數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而數(shù)組并不是一種數(shù)據(jù)類型,而是是一組相同類型數(shù)據(jù)一組相同類型數(shù)據(jù)的集合。用一個統(tǒng)一的名字的集合。用一個統(tǒng)一的名字(數(shù)組名)數(shù)組名)代表邏輯上相關的一批數(shù)據(jù),每個元代表邏輯上相關的一批數(shù)據(jù),每個元素用素用下標變量下標變量來區(qū)分;下標變量代表元素在數(shù)組來區(qū)分;下標變量代表元素在數(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ù)組的大小(元素個數(shù))是否可以改變來分為:定長數(shù)組、動態(tài)(可變長)數(shù)組。按元素的數(shù)據(jù)類型可分為:數(shù)值型數(shù)組、字符串數(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個元素與上面聲明等價形式: Dim a%(1 to 10) 1是下標的
8、下界10是下標的上界數(shù)組元數(shù)的數(shù)據(jù)類型說明:1數(shù)組名的命名規(guī)則與變量的命名相同。2數(shù)組的元素個數(shù):上界-下界+1。3缺省為0,若希望下標從1開始,可在模塊的通用部分使用Option Base語句將設為1。其使用格式是: Option Base 0|1 后面的參數(shù)只能取0或1例如: Option Base 1 將數(shù)組聲明中缺省下標設為1 4和不能使用變量,必須是常量,常量可以是直接常量、符號常量,一般是整型常量。5如果省略As子句,則數(shù)組的類型為變體類型。6數(shù)組中各元素在內存占一片連續(xù)的存儲空間,一維數(shù)組在內存中存放的順序是下標大小的順序,如圖5-1所示: 二、二、 排序問題排序問題 1選擇法排
9、序選擇法排序算法思想:算法思想: 1)對有)對有n個數(shù)的序列(存放在個數(shù)的序列(存放在數(shù)組數(shù)組a(n)中),從中選出最小中),從中選出最?。ㄉ颍┗蜃畲螅ń敌颍┑臄?shù),(升序)或最大(降序)的數(shù),與第與第1個數(shù)交換位置;個數(shù)交換位置; 2)除第)除第1 個數(shù)外,其余個數(shù)外,其余n-1個個數(shù)中選最小或最大的數(shù),與第數(shù)中選最小或最大的數(shù),與第2個數(shù)交換位置;個數(shù)交換位置; 3)依次類推,選擇了)依次類推,選擇了n-1次后,次后,這個數(shù)列已按升序排列。這個數(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個數(shù)的序列(存?zhèn)€數(shù)的序列(存放在數(shù)組放在數(shù)組a(n)中),從中選中),從中選出最小(升序)或最大(降出最?。ㄉ颍┗蜃畲螅ń敌颍┑臄?shù),與第序)的數(shù),與第1個數(shù)交換個數(shù)交換位置;位置; 2)除第)除第1 個數(shù)外,其余個數(shù)外,其余n-1個數(shù)中選最小或最大的數(shù),個數(shù)中選最小或最大的數(shù),與第與第2個數(shù)交換位置;個數(shù)交換位置; 3)依次類推,選擇了)依次類推,選擇了n-1次后,這個數(shù)列已
11、按升序排次后,這個數(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、法思想:算法思想:(將相鄰兩個數(shù)比較,小的調到前頭將相鄰兩個數(shù)比較,小的調到前頭) 1)有)有n個數(shù)(存放在數(shù)組個數(shù)(存放在數(shù)組a(n)中),第一趟將中),第一趟將每相鄰兩個數(shù)比較,小的調到前頭,經每相鄰兩個數(shù)比較,小的調到前頭,經n-1次兩兩次兩兩相鄰比較后,最大的數(shù)已相鄰比較后,最大的數(shù)已“沉底沉底”,放在最后一,放在最后一個位置,小數(shù)上升個位置,小數(shù)上升“浮起浮起”; 2)第二趟對余下的)第二趟對余下的n-1個數(shù)(最大的數(shù)已個數(shù)(最大的數(shù)已“沉沉底底”)按上法比較,經)按上法比較,經n-2次兩兩相鄰比較后得次次兩兩相鄰比較后得次大的數(shù);大的數(shù); 3)依次類推,)依次類推,n個數(shù)共進行個數(shù)
13、共進行n-1趟比較,在第趟比較,在第j趟中要進行趟中要進行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、法解決問題用遞歸法解決問題“從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢?從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚
15、講故事,講什么呢? 從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事,講什么呢?”這個故事有什么特點?自己調用自己如果在一個函數(shù)中,它自己調用了自己,這種現(xiàn)象叫遞歸調用。如果A函數(shù)調用B函數(shù),B函數(shù)又反過來調用A函數(shù),那這種現(xiàn)象也叫做遞歸調用。如果一個函數(shù)在定義時,直接或間接的調用了自己,這種算法在程序設計中統(tǒng)稱為遞歸法。遞歸法一般需要遞歸法一般需要定義函數(shù)定義函數(shù)來實現(xiàn)。來實現(xiàn)。 雖然VB為我們提供了大量的標準函數(shù),但我們在實際應用時難免有時還是找不到合意的,那就只有自己解決了,這樣為了一個特定的任務而編出來的函數(shù)叫自定義函數(shù)。Abs()、len()、date()、sqr()、msgbox()等使用遞歸算法必須要滿足以下的遞歸條件:使用遞歸算法必須要滿足以下的遞歸條件:()存在遞歸結束條件及結束時的值()能用遞歸形式表示,且遞歸向終止條件發(fā)展兔子繁殖問題 有人養(yǎng)了一對兔子,這對兔子以后每月生一對兔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 以勞樹德以勞啟智-少兒動手實踐勞動教育紀實
- 商業(yè)案例研討提升教師解決實際問題能力
- 國際會議的跨文化氛圍塑造策略
- 2025中國郵政重慶分公司招聘110人高頻重點提升(共500題)附帶答案詳解
- 2025中國移動通信集團陜西限公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國電建西北勘測設計研究院限公司招聘給排水工程師設計人員10人高頻重點提升(共500題)附帶答案詳解
- 2025中國電信湖北恩施分公司招聘17人高頻重點提升(共500題)附帶答案詳解
- 2025中共中央對外聯(lián)絡部事業(yè)單位公開招聘14人高頻重點提升(共500題)附帶答案詳解
- 2025下半年浙江金華市金東區(qū)部分區(qū)屬國企業(yè)招聘15人高頻重點提升(共500題)附帶答案詳解
- 2025下半年廣西桂林興安縣事業(yè)單位招聘40人歷年高頻重點提升(共500題)附帶答案詳解
- 山東省濱州市2023-2024學年高一上學期1月期末考試 政治 含答案
- 電力行業(yè)電力調度培訓
- 【MOOC】氣排球-東北大學 中國大學慕課MOOC答案
- 全力以赴備戰(zhàn)期末-2024-2025學年上學期備戰(zhàn)期末考試主題班會課件
- 《慶澳門回歸盼祖國統(tǒng)一》主題班會教案
- 物流公司自然災害、突發(fā)性事件應急預案(2篇)
- 《視頻拍攝與制作:短視頻?商品視頻?直播視頻(第2版)》-課程標準
- 公司戰(zhàn)略與風險管理戰(zhàn)略實施
- 2024年-2025年《農作物生產技術》綜合知識考試題庫及答案
- 洗衣房工作人員崗位職責培訓
- 廣東省廣州市白云區(qū)2022-2023學年八年級上學期物理期末試卷(含答案)
評論
0/150
提交評論