




已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章 三種基本結(jié)構(gòu)程序設(shè)計(jì),本章內(nèi)容及要求: 1.了解算法概念及算法的表示,掌握用NS流程序表示算法 2. 熟練掌握賦值語句、End語句和注釋語句等語句及輸入/輸出消息框函數(shù)的使用; 3. 熟練掌握行if語句、塊if結(jié)構(gòu)、Select Case情況選擇結(jié)構(gòu)有使用,掌握選擇的嵌套結(jié)構(gòu); 4. 熟練掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的For/Next循環(huán)結(jié)構(gòu)及Exit For語句、Do/Loop循環(huán)結(jié)構(gòu)的使用,掌握多重循環(huán)。,重點(diǎn):選擇結(jié)構(gòu)及循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)及其應(yīng)用,難點(diǎn):選擇的嵌套及多重循環(huán)結(jié)構(gòu),4.1 算法及算法的表示,4. 1.1 算法概述 什么是算法: 廣義地講:算法是為完成一項(xiàng)任務(wù)所應(yīng)當(dāng)遵循的一步一步的規(guī)則的、精確的、無歧義的描述,它的總步數(shù)是有限的。 狹義地講:算法是解決一個(gè)問題采取的方法和步驟的描述。 下面通過兩個(gè)簡單的例子加以說明:,例4.1 輸入三個(gè)數(shù),然后輸出其中最大的數(shù)。 將三個(gè)數(shù)依次輸入到變量、B、C中,設(shè)變量MAX存放最大數(shù)。其算法如下:,例4.2 輸入10個(gè)數(shù),打印輸出其中最大的數(shù)。 算法設(shè)計(jì)如下: (1)輸入1個(gè)數(shù),存入變量A中,將記錄數(shù)據(jù)個(gè)數(shù)的變量N賦值為1,即N=1 (2)將A存入表示最大值的變量Max中,即Max=A (3)再輸入一個(gè)值給A,如果AMax 則 Max=A, 否則Max不變 (4)讓記錄數(shù)據(jù)個(gè)數(shù)的變量增加1,即N=N+1 (5)判斷N是否小于10,若成立則轉(zhuǎn)到第(3)步執(zhí)行,否則轉(zhuǎn)到第(6)步。 (6)打印輸出max,1) 輸入A、B、C。 2) A與B中大的一個(gè)放入MAX中。 3) 把C與MAX中大的一個(gè)放入MAX中。 4) 輸出MAX,MAX即為最大數(shù)。,4.1.2 算法的特性,有窮性 確定性 有0個(gè)或多個(gè)輸入 有一個(gè)或多個(gè)輸出 有效性,4.1.3 算法的表示 一、自然語言與偽代碼表示算法 自然語言:就是指人們?nèi)粘J褂玫恼Z言,可以是漢語、英語或其它語言。 偽代碼:是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號(hào)(包括數(shù)學(xué)符號(hào))來描述算法。 例如:例4.1可用如下的偽代碼表示 Begin(算法開始) 輸入 A,B,C IF AB 則 AMax 否則 BMax IF CMax 則 CMax Print Max End (算法結(jié)束),二 用傳統(tǒng)流程圖表示算法,處理框,起止框,I/O框,判斷框,流程線,連接點(diǎn),1、傳統(tǒng)流程圖中的基本符號(hào),2、三種基本結(jié)構(gòu)的表示 (1)順序結(jié)構(gòu),條件,語句1,語句2,Y,N,語句1,語句2,(2)選擇結(jié)構(gòu),條件,( a ),條件,語句組,(3)循環(huán)結(jié)構(gòu),a) 當(dāng)型循環(huán),b) 直到循環(huán),Y,N,Y,N,( b ),語句組,三種基本結(jié)構(gòu)的特點(diǎn):,(1)只有一個(gè)入口 (2)只有一個(gè)出口 (3)不存在死語句 (4)不存在死循環(huán),例: 例4.2輸入10個(gè)數(shù),打印輸出其中的最大的數(shù)的流程圖,從10個(gè)數(shù)中選出最大的數(shù)的流程圖,N10,Max =A N=1,AMax,Max =A,輸入A,開始,再輸入給A,N=N+1,打印Max,結(jié)束,Y,N,N,Y,4.1.4 用NS流程圖表示算法,將全部算法寫在一個(gè)矩形框內(nèi),在矩形內(nèi)還可包含其它從屬于它的框,三種基本結(jié)構(gòu)的NS圖表示:,語句A,語句B,語句A,語句B,條件,Y,N,1、順序結(jié)構(gòu),2、選擇結(jié)構(gòu),語句組,(3)循環(huán)結(jié)構(gòu),a) 當(dāng)型循環(huán),b) 直到循環(huán),當(dāng)條件成立,語句組,直到當(dāng)條件成立,例: 畫出從10個(gè)數(shù)中選出最大的數(shù)的NS 流程圖,( a ),( b ),傳統(tǒng)流程圖,N10,Max =A N=1,AMax,Max =A,輸入A,開始,再輸入給A,N=N+1,打印Max,結(jié)束,Y,N,N,Y,輸入A,當(dāng)N10,Max =A,N=N+1,打印Max,Max=A, N=1,NS流程圖,AMax,Y,N,輸入A,Private Sub Form_Click() Dim a%, max%, i% a = Val(InputBox(“A=?“) max = a For i = 1 To 10 a = Val(InputBox(“A=?“) If a max Then max = a Next i Print “Max=“; max End Sub,最后需要說明的是:上面介紹的算法表示是給人看的,即是為幫助程序開發(fā)人員閱讀、編寫程序而設(shè)計(jì)的一種輔助工具,程序則必須符一計(jì)算機(jī)語言的語法規(guī)則。 下面是例4.2的計(jì)算機(jī) 程序,即為用計(jì)算機(jī)語言表示算法:,4.1.6 結(jié)構(gòu)化程序設(shè)計(jì)方法(補(bǔ)充),(一)、用計(jì)算機(jī)解決問題的過程,提出、分析問題,確定算法模型,設(shè)計(jì)算法,編寫程序,調(diào)試程序,分析輸出結(jié)果,正確合理,結(jié)束,不正確,(二)、結(jié)構(gòu)化程序設(shè)計(jì)思想,自頂向下、逐步細(xì)化、模塊化,自頂向下:先從全局、整體設(shè)計(jì) 逐步細(xì)化:將一個(gè)問題分解成幾個(gè)較小的問題解決 模塊化: 將一個(gè)大任務(wù)分解成若干個(gè)較小的部分, 每 個(gè)部分承擔(dān)一定功能,稱為“功能模塊”,例:給100個(gè)整數(shù),打印輸出其中的素?cái)?shù),S1,NS流程圖,S3,S2,S1,NS流程圖,S3,S2,S21,細(xì)化后的流程圖,4.2 順序結(jié)構(gòu),4.2.1 賦值語句 形式: 變量名表達(dá)式 對(duì)象.屬性表達(dá)式 功能: 將表達(dá)式的值賦值給變量名或指定對(duì)象的屬性。 一般用于給變量賦值或?qū)丶O(shè)定屬性值. 例: sRate!=0.1 Text1.Text “歡迎使用Visual Basic 6.0” 說明: 1 執(zhí)行過程:先求表達(dá)式的值,然后將值賦值給左邊的變量。 2 右邊的表達(dá)式可以是變量、常量、函數(shù)調(diào)用等特殊的表達(dá)式。 3 不要將“”理解為數(shù)學(xué)上的等號(hào): A=A+1 是表示將A單元的值加后以放回到A單元。,執(zhí)行過程如右圖,4賦值符號(hào)“=”左邊一定只能是變量名或?qū)ο蟮膶傩砸?,不能是常量、符?hào)常量、表達(dá)式。 下面的賦值語句都是錯(cuò)的: 5=X 左邊是常量。 Abs(X)=20 左邊是函數(shù)調(diào)用,即是表達(dá)式。,5. 賦值符號(hào)“=”兩邊的數(shù)據(jù)類型一般要求應(yīng)一致。,4.2.2 數(shù)據(jù)的輸出Print方法,Print方法的一般格式: 對(duì)象名.Print,|;,說明: 對(duì)象名. 可以是窗體名、圖片框名,也可是立即窗口“Debug”。若省略對(duì)象,則表示在當(dāng)前窗體上輸出。在2.3節(jié)窗體對(duì)象的方法中對(duì)Print方法做了詳細(xì)的介紹。用Print方法在圖片框和立即窗口對(duì)象中輸出與在窗體對(duì)象中輸出完全相同。,4.2.3 用戶交互函數(shù)和過程 1. InputBox函數(shù) 變量名=InputBox$(, , ) 其中:提示 提示信息,標(biāo)題 標(biāo)題區(qū)顯示,缺省輸入?yún)^(qū)缺省值。 例如,要在屏幕上顯示如下的對(duì)話框:,例如:有下列語句如下: Dim x% x= Val(InputBox(“請(qǐng)輸入一個(gè)數(shù)”, “輸入框”, 100) 語句執(zhí)行后打開如下對(duì)話框。,2. MsgBox函數(shù)和MsgBox過程 函數(shù)形式:變量% = MsgBox(提示,按鈕圖標(biāo)+ 缺省按鈕+模式,標(biāo)題) 過程形式: MsgBox 提示,按鈕圖標(biāo) +缺省按鈕+ 模式,標(biāo)題,說明: “標(biāo)題”和“提示”與InputBox函數(shù)中對(duì)應(yīng)的參數(shù)相同; “按鈕圖標(biāo) +缺省按鈕+模式”是整型表達(dá)式,決定信息框按鈕數(shù)目、出現(xiàn)在信息框上的圖標(biāo)類型及操作模式(見表4.1) 若程序中需要返回值,則使用函數(shù),否則可調(diào)用過程。,按鈕及圖標(biāo)值如下:,根據(jù)用戶所選按鈕,函數(shù)返回17的整數(shù)值,其含義如下表:(表4.2),4.2.4 注釋語句,其語法格式為: Rem 或 說明: 1. 指要包括的任何注釋文本。在Rem關(guān)鍵字和注釋內(nèi)容之間要加一個(gè)空格??梢杂靡粋€(gè)英文單引號(hào)“”來代替Rem關(guān)鍵字。 2. 如果在其他語句行后面使用Rem關(guān)鍵字,必需用冒號(hào)(:)與語句隔開。若用英文單引號(hào)“”,則在其他語句行后面不必加冒號(hào)(:)。 例如: Const PI=3.1415925 符號(hào)常量PI S=PI*r*r : Rem計(jì)算圓的面積,4.3 選擇結(jié)構(gòu) 1. IfThen語句(單分支結(jié)構(gòu)) If Then 語句塊 End If 或 If Then ,例:已知兩個(gè)數(shù)x和y,比較它們的大小, 使得x大于y. If xy Then t=x : x=y: y=t End If 或 If xy Then t=x: x=y: y=t,2. IfThenElse語句(雙分支結(jié)構(gòu)) If Then Else End If If Then Else ,例如:輸出x,y兩個(gè)中值較大的一個(gè)值。 IF XY Then Print X Else Print Y End If 也可以寫成如下的單行形式: IF XY Then Print X Else Print Y,雙分支選擇結(jié)構(gòu)執(zhí)行過程,例4.3 設(shè)計(jì)一個(gè)求解一元二次方程的程序,3. IfThenElseIf語句(多分支結(jié)構(gòu)) 形式: If Then ElseIf Then Else 語句塊 n+1 End If,例4.4:輸入一學(xué)生成績,評(píng)定其等級(jí)。方法是:90100分為“優(yōu)秀”,8089分為“良好”,7079分為“中等”,6069分為“及格”,60分以為“不合格”,執(zhí)行過程,使用IF語句實(shí)現(xiàn)的程序段如下: If x=90 then Print “優(yōu)秀“ ElseIf x=80 Then Print “良好“ ElseIf x=70 Then Print “中等“ ElseIf x=60 Then Print “及格“ Else Print “不及格“ End If,4.3.2 Select Case語句(情況語句) 形式: Select Case 變量或表達(dá)式 Case 表達(dá)式列表1 語句塊1 Case 表達(dá)式列表2 語句塊2 Case Else 語句塊n+1 End Select :與同類型的下面四種形式之一: 表達(dá)式 例: A +5 一組枚舉表達(dá)式(用逗號(hào)分隔) 2, 4, 6, 8 表達(dá)式1 To 表達(dá)式2 60 to 100 Is 關(guān)系運(yùn)算符表達(dá)式 Is 60,數(shù)值型或字符串表達(dá)式,例如:將例4.3 使用select case語句來實(shí)現(xiàn)的程序段如下: Select Case x Case 90 to 100 Print “優(yōu)秀“ Case 80 to 89 Print “良好“ Case 70 to 79 Print “中等“ Case 60 to 69 Print “及格“ Case Else Print “不及格“ End Select,補(bǔ)充例題:設(shè)計(jì)一個(gè)由計(jì)算機(jī)來當(dāng)小學(xué)低年級(jí)學(xué)生算術(shù)老師的VB應(yīng)用程序,要求給出一系列的兩個(gè)110數(shù)的四則運(yùn)算的算術(shù)題,學(xué)生輸入該題的答案,計(jì)算機(jī)根據(jù)學(xué)生的答案判斷正確與否,并給出成績,單擊結(jié)束命令按鈕,退出應(yīng)用程序。 分析:產(chǎn)生110操作數(shù),可通過Int(10* Rnd + 1) 實(shí)現(xiàn),4.3.3 選擇結(jié)構(gòu)的嵌套 在IF語句的Then分支和Else分支中可以完整地嵌套另一IF語句或Select Case語句,同樣Select Case語句每一個(gè)Case分支中都可嵌套另一IF語句或另一Select Case語句。下面是兩種正確的嵌套形式: (1)IF Then IF Then Else End If . Else . IF Then Else End If End IF,(2)IF Then Select Case Case IF Then Else End If Case. End Select . End IF,注意:只要在一個(gè)分支內(nèi)嵌套,不出現(xiàn)交叉,滿足結(jié)構(gòu)規(guī)則,其嵌套的形式將有很多種,嵌套層次也可以任意多。對(duì)于多層IF嵌套結(jié)構(gòu)中,要特別注意IF與Else的配對(duì)關(guān)系,一個(gè)Else必須與IF配結(jié),配對(duì)的原則是:在寫含有多層嵌套的程序時(shí),建議使用縮進(jìn)對(duì)齊方式,這樣容易閱讀和維護(hù)。,例4.5,設(shè)計(jì)一個(gè)用戶身份驗(yàn)證程序,運(yùn)行界面如下圖所示。,4.4 循環(huán)結(jié)構(gòu) 1. For循環(huán)語句 (一般用于循環(huán)次數(shù)已知) 形式 For 循環(huán)變量初值 to 終值 Step 步長 語句塊 Exit For 語句塊 Next 循環(huán)變量,循環(huán)次數(shù),例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I,循環(huán)執(zhí)行次數(shù) 輸出I的值分別為: 2 5 8 11 出了循環(huán)輸出為: I=14,例4.6 編程計(jì)算:S=1+2+3+100,Dim S%, I% S=0 累加前變量S為0 For I=1 to 100 S=S+I Next I Print “ S=“,S,當(dāng)N=100,N=N+1,打印S,S=0,N=1,S=S+N,例4-5的算法流程圖,形式1:(當(dāng)型循環(huán)) Do While|Until 語句塊 Exit Do 語句塊 Loop,4.4.2 DoLoop循環(huán)語句,形式2:(直到循環(huán)) Do 語句塊 Exit Do 語句塊 Loop While|Until ,Do UntilLoop執(zhí)行過程 DoLoop Until執(zhí)行過程,說明: (1)當(dāng)使用While構(gòu)成循環(huán)時(shí),當(dāng)條件為“真”,則反復(fù)執(zhí)行循環(huán)體,當(dāng)條件為“假”,則退出循環(huán)。 (2)當(dāng)使用Until 構(gòu)成循環(huán)時(shí),當(dāng)條件為“假”,則反復(fù)執(zhí)行循環(huán)體,直到條件成立,即為“真”時(shí),則退出循環(huán)。,(3)在循環(huán)體內(nèi)一般應(yīng)有一個(gè)專門用來改變條件表達(dá)式中變量的語句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立(或成立),最后達(dá)到退出循環(huán)。 (4)語句Exit Do的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能用在DO/Loop結(jié)構(gòu)中,并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循環(huán)結(jié)構(gòu)中,用來實(shí)現(xiàn)當(dāng)滿足某一條件時(shí)提前退出循環(huán)。,4.4.3 WhileWend語句 使用格式如下: While Wend 說明:該語句的功能與Do While .Loop實(shí)現(xiàn)的循環(huán)完全相同。,例:用doLoop語句改寫前面的例題4.5,例4.8 求兩個(gè)整數(shù)的最大公約數(shù)、最小公倍數(shù),Dim n%,m%,nm%,r% m=Val(InputBox(“m=“) n=Val(InputBox(“n=“) nm=n*m If m 0) m=n n=r r= m mod n Loop Print “最大公約數(shù)=“, n Print “最小公倍數(shù)=“, nm/n,算法使用轉(zhuǎn)碾除法,流程圖如右,實(shí)現(xiàn)的程序代碼如下:,4.4.4 循環(huán)的嵌套多重循環(huán)結(jié)構(gòu) 如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。 上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見的二重嵌套形式:,(1)For I=. For J=. . Next J Next I,(2)For I=. Do While/Until . . Loop Next I,(3)Do While. For J=. . Next J Loop,(4)Do While/Until. Do While/Until . . Loop Loop,例如:打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i Next j Picture1.Print Next i,對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng): (1) 內(nèi)循環(huán)變量與外循環(huán)變量不能同名; (2) 外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉; (3) 不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),也不能從外循環(huán)轉(zhuǎn)向內(nèi)循環(huán). 正 確 錯(cuò) 誤,For i =1 To 10 For j=1 To 20 Next i Next j,For i =1 To 10 For i=1 To 20 Next i Next i,For i =1 To 10 For j=1 To 20 Next j Next i,For i =1 To 10 Next i For i =1 To 10 Next i,4.4.5 幾種循環(huán)語句比較,4.4.6 循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)的嵌套,在循環(huán)結(jié)構(gòu)中可以完整嵌套選擇結(jié)構(gòu)即整個(gè)選擇結(jié)構(gòu)都屬于循環(huán)體。在選擇結(jié)構(gòu)中嵌套循環(huán)結(jié)構(gòu)時(shí),則要求整個(gè)循環(huán)結(jié)構(gòu)必須完整地嵌套在一個(gè)分支內(nèi),一個(gè)循環(huán)結(jié)構(gòu)不允許出現(xiàn)在兩個(gè)或兩個(gè)以上的分支內(nèi)。,(1)For I= IF Then End IF Next I,(6) IF Then For I= End IF Next I,(5)Select Case For I= Case Case Next I End Select,(3)For I= IF Then Next I End IF,(2)IF Then For I= Next I End IF,(4)For I= Select Case Case Case End Select Next I,4.5 其它控制語句 4.5.1 Goto 語句 形式: Go To 標(biāo)號(hào)|行號(hào) 作用是無條件地轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的那行語句. 標(biāo)號(hào)是一個(gè)字符序列,行號(hào)是一個(gè)數(shù)字序列。,4.5.2 Exit 語句,Exit 語句用于退出 Do.Loop、For.Next、Function或Sub代碼塊。 對(duì)應(yīng)的使用格式為:Exit Do、Exit For、Exit Function、Exit Sub。分別表示退出DO循環(huán)、For循環(huán)、函數(shù)過程、子過程。,例如: 下面的例子是使用 Exit 語句退出 For.Next 循環(huán)、Do.Loop 循環(huán)及子過程。,Private Sub Form_Click() Dim I%, Num% Do While True 建立無窮循環(huán)。 For I = 1 To 100 循環(huán) 100 次。 Num = Int(Rnd * 100) 生成一個(gè)099的隨機(jī)數(shù)。 Select Case Num Case 10: Exit For 退出 For.Next 循環(huán)。 Case 50: Exit Do 退出 Do.Loop 循環(huán)。 Case 64: Exit Sub 退出子過程。 End Select Next I Loop End Sub,4.5.3 End 語句 形式: End 功能:結(jié)束一個(gè)程序的運(yùn)行。 在Visual Basic中還有多種形式的End語句,用于結(jié)束一個(gè)程序塊或過程。 其形式有: End If End Select End Type End With End Sub End Function等 它們與對(duì)應(yīng)的語句配對(duì)使用。,4.5.4 暫停語句 Stop語句用來暫停程序的執(zhí)行,相當(dāng)于在事件代碼中設(shè)置斷點(diǎn)。 語法格式為: Stop 說明: 1. Stop語句的主要作用是把解釋程序置為中斷(Break)模式,以便對(duì)程序進(jìn)行檢查和調(diào)試。可以在程序的任何地方放置Stop語句,當(dāng)執(zhí)行Stop語句時(shí),系統(tǒng)將自動(dòng)打開立即窗口。 2. 與End語句不同。,4.5.5 With.End With 語句 形式: With 對(duì)象名 語句塊 End With 說明:With 語句可以對(duì)某個(gè)對(duì)象執(zhí)行一系列的語句,而不用重復(fù)指出對(duì)象的名稱。 例如,要改變一個(gè)對(duì)象的多個(gè)屬性,可以在 With 控制結(jié)構(gòu)中加上屬性的賦值語句,這時(shí)候只是引用對(duì)象一次而不是在每個(gè)屬性賦值時(shí)都要引用它。下面的例子顯示了如何使用 With 語句來給同一個(gè)對(duì)象的幾個(gè)屬性賦值。,例如,需要對(duì)同一對(duì)象設(shè)置幾個(gè)屬性。途徑之一是使用多條語句。 Private Sub Form_Load() Command1.Caption = “退出(E&xit)“ Command1.Top = 500 Command1.Left = 4500 Command1.Enabled = True End Sub 使用With.End With 語句,上面程序的代碼如下。 Private Sub Form_Load() With Command1 .Caption = “退出(E&xit) “ .Top = 500 .Left = 4500 .Enabled = True End With End Sub,4.6 應(yīng)用程序舉例,4.6.1 素?cái)?shù)與哥德巴赫猜想,例4.10 判斷一個(gè)給定的整數(shù)是否為素?cái)?shù)。,算法思路:素?cái)?shù)指除了能被1和自身外,不能被其他整數(shù)整除的自然數(shù)。判斷整數(shù)N是不是素?cái)?shù)的基本方法是:將N分別除以2,3,N-1,若都不能整除,則N為素?cái)?shù)。因?yàn)镹=Sqr(N)*Sqr(N),所以,當(dāng)N能被大于等于Sqr(N)的整數(shù)整除時(shí),一定存在一個(gè)小于等于Sqr(N)的整數(shù),使N能被它整除,因此只要判斷N能否被2,3,Sqr(N)整除即可。 算法流程圖如下:,Dim N %, I%, K% N = Val(InputBox(“N=?“) K= Int(Sqr(N) For I = 2 To K If N Mod I = 0 Then Exit For Next I If IK Then Print N; “ 是素?cái)?shù)“ Else Print N; “ 不是素?cái)?shù)“ End If,例4.11 編一程序驗(yàn)證哥德巴赫猜想:一個(gè)大于等于6的偶數(shù)可以表示為兩個(gè)素?cái)?shù)之和。例如: 6=3+3 8=3+5 10= 3+7,算法設(shè)計(jì):設(shè)N為大于等于6的任一偶數(shù),將其分解為N1和N2兩個(gè)數(shù),使用N1+N2=N,分別判斷N1和N2是否為素?cái)?shù),若都是,則為一組解。若N1不是素?cái)?shù),就不必再檢查N2是否素?cái)?shù)。先從N1=3開始,直到N1=N/2為止。算法流程圖如圖4-29所示。將程序代碼寫到窗體的單擊事件中。,實(shí)現(xiàn)上面算法的程序代碼如下:,Private Sub Form_Click() Dim N%, N1%, N2%, I%, K1%, K2% N=Val(InputBox(“輸入大于6的偶數(shù)“) For N1 = 3 To N 2 Step 2 K1 = Int(Sqr(N1) For I = 2 To K1 判斷N1是否是素?cái)?shù) If N1 Mod I = 0 Then Exit For Next I If I K1 Then 如果N1為素?cái)?shù),將N分解為N1+N2 N2 = N - N1 K2 = Int(Sqr(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江司法警官職業(yè)學(xué)院《檢測技術(shù)與信號(hào)處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 珠??萍紝W(xué)院《區(qū)域社會(huì)史》2023-2024學(xué)年第二學(xué)期期末試卷
- 商丘職業(yè)技術(shù)學(xué)院《化學(xué)課程標(biāo)準(zhǔn)解讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 惠州經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院《鍵盤技巧二》2023-2024學(xué)年第二學(xué)期期末試卷
- 北海康養(yǎng)職業(yè)學(xué)院《德漢筆譯》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安培華學(xué)院《網(wǎng)絡(luò)地理信息系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西科技職業(yè)學(xué)院《項(xiàng)目投資》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州輕工業(yè)大學(xué)《仿真理論教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西工程學(xué)院《管理統(tǒng)計(jì)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 信陽職業(yè)技術(shù)學(xué)院《新聞?dòng)⒄Z聽力》2023-2024學(xué)年第二學(xué)期期末試卷
- 23秋國家開放大學(xué)《漢語基礎(chǔ)》期末大作業(yè)(課程論文)參考答案
- 建筑企業(yè)材料成本管理
- 大學(xué)禮儀操活動(dòng)方案
- 舞蹈活動(dòng)費(fèi)用方案模板
- 新概念英語青少版入門 A-Unit-1課件(共98張)
- 比賽對(duì)陣表模板
- 基于核心素養(yǎng)下小學(xué)數(shù)學(xué)問題情境創(chuàng)設(shè)策略的研究
- 電子競技員技能理論考試復(fù)習(xí)題庫(含答案)
- 思想道德與法治2023版教學(xué)設(shè)計(jì)第六章 學(xué)習(xí)法治思想 提升法治素養(yǎng)
- 電路原理-疊加定理課件
- DB50T 1429-2023 居家康復(fù)輔助器具適配服務(wù)規(guī)范
評(píng)論
0/150
提交評(píng)論