c3順序結(jié)構(gòu)程序設(shè)計(jì).ppt_第1頁(yè)
c3順序結(jié)構(gòu)程序設(shè)計(jì).ppt_第2頁(yè)
c3順序結(jié)構(gòu)程序設(shè)計(jì).ppt_第3頁(yè)
c3順序結(jié)構(gòu)程序設(shè)計(jì).ppt_第4頁(yè)
c3順序結(jié)構(gòu)程序設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第三章 順序結(jié)構(gòu)程序設(shè)計(jì),1 利用計(jì)算機(jī)解決實(shí)際問(wèn)題的步驟,2 算法的概念,3 結(jié)構(gòu)化程序設(shè)計(jì),本章內(nèi)容,4 C+語(yǔ)句,5 C+的輸入與輸出,6 順序結(jié)構(gòu)程序設(shè)計(jì),1 利用計(jì)算機(jī)解決實(shí)際問(wèn)題的步驟,算法分析,最有效的方法,問(wèn)題,選擇實(shí)現(xiàn)語(yǔ)言,運(yùn)行程序,分析、論證,算法流程,結(jié)束,測(cè)試程序,2 算法的概念,一、算法的概念,程序,對(duì)數(shù)據(jù)的描述:在程序中要指定數(shù)據(jù)的類(lèi)型和數(shù)據(jù) 的組織形式,即數(shù)據(jù)結(jié)構(gòu),對(duì)操作的描述:即操作步驟,也就是算法,算法:為解決一個(gè)問(wèn)題而采取的方法和步驟,稱(chēng)為“算法” 它是程序設(shè)計(jì)的靈魂,是解決“做什么”和“怎么做”的 問(wèn)題,處理的對(duì)象是數(shù)據(jù),2 算法的概念,二、算法的特性,1、有窮性 2、確定性 3、有效性/可行性 4、有零個(gè)或多個(gè)輸入 5、有一個(gè)或多個(gè)輸出,2 算法的概念,三、算法的表示,自然語(yǔ)言表示法 傳統(tǒng)流程圖表示法 NS結(jié)構(gòu)化流程圖 偽代碼 PAD圖等,2 算法的概念,三、算法的表示,1、自然語(yǔ)言表示法 例:對(duì)于一個(gè)大于等于3的正整數(shù),判斷其是否素?cái)?shù) 算法如下: S1:輸入n的值 S2:i2作為除數(shù) S3:n被i除,得余數(shù)r S4:如果r0,表示n能被i整除,則打印“不是素?cái)?shù)”,算法結(jié)束; 否則,繼續(xù)下一步 S5:i1i S6:如果in1,返回執(zhí)行S3;否則,打印“是素?cái)?shù)”,算法結(jié)束,2 算法的概念,三、算法的表示,2、傳統(tǒng)流程圖表示法,傳統(tǒng)流程圖表示前例,2 算法的概念,三、算法的表示,3、算法的三種基本結(jié)構(gòu),Bohra和Jacopini提出了以下三種基本結(jié)構(gòu): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 用這三種基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元。,順序結(jié)構(gòu),選擇結(jié)構(gòu),三種基本結(jié)構(gòu),當(dāng)型(While型)循環(huán),直到型(Until型)循環(huán),三種基本結(jié)構(gòu),三種基本結(jié)構(gòu)的共同特點(diǎn):,2 算法的概念,三、算法的表示,3、算法的三種基本結(jié)構(gòu),(1)只有一個(gè)入口; (2)只有一個(gè)出口;(請(qǐng)注意:一個(gè)菱形判斷框有兩個(gè)出口,而一個(gè)選擇結(jié)構(gòu)只有一個(gè)出口。不要將菱形框的出口和選擇結(jié)構(gòu)的出口混淆。) (3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到; (4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無(wú)終止的循環(huán))。,2 算法的概念,三、算法的表示,3、NS結(jié)構(gòu)化流程圖,1973年美國(guó)學(xué)者I.Nassi和B.Shneiderman提出了一種新的流程圖形式。在這種流程圖中,完全去掉了帶箭頭的流程線。全部算法寫(xiě)在一個(gè)矩形框內(nèi),在該框內(nèi)還可以包含其它的從屬于它的框,或者說(shuō),由一些基本的框組成一個(gè)大的框。這種流程圖又稱(chēng)N-S結(jié)構(gòu)化流程圖 。,N-S流程圖用以下的流程圖符號(hào):,(1)順序結(jié)構(gòu),(2)選擇結(jié)構(gòu),(3)直到型循環(huán),(3)當(dāng)型循環(huán),N-S圖表示算法的優(yōu)點(diǎn),比文字描述直觀、形象、 易于理解;比傳統(tǒng)流程圖緊湊易畫(huà)。尤其是它廢除了流程線,整個(gè)算法結(jié)構(gòu)是由各個(gè)基本結(jié)構(gòu)按順序組成的,N-S流程圖中的上下順序就是執(zhí)行時(shí)的順序。用N-S圖表示的算法都是結(jié)構(gòu)化的算法,因?yàn)樗豢赡艹霈F(xiàn)流程無(wú)規(guī)律的跳轉(zhuǎn),而只能自上而下地順序執(zhí)行。,3 結(jié)構(gòu)化程序設(shè)計(jì),一個(gè)結(jié)構(gòu)化程序 就是用高級(jí)語(yǔ)言表示的結(jié)構(gòu)化算法。用三種基本結(jié)構(gòu)組成的程序必然是結(jié)構(gòu)化的程序,這種程序便于編寫(xiě)、便于閱讀、便于修改和維護(hù)。 結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。 結(jié)構(gòu)化程序設(shè)計(jì)方法的基本思路是:把一個(gè)復(fù)雜問(wèn)題的求解過(guò)程 分階段進(jìn)行,每個(gè)階段處理的問(wèn)題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。,結(jié)構(gòu)化程序設(shè)計(jì)方法,采取以下方法來(lái)保證得到結(jié)構(gòu)化的程序: 自頂向下; 逐步細(xì)化; 模塊化設(shè)計(jì); 結(jié)構(gòu)化編碼。,兩種不同的方法: 自頂向下,逐步細(xì)化; 自下而上,逐步積累。,自頂向下,逐步細(xì)化方法的優(yōu)點(diǎn): 考慮周全,結(jié)構(gòu)清晰,層次分明,作者容易寫(xiě),讀者容易看。如果發(fā)現(xiàn)某一部分中有一段內(nèi)容不妥,需要修改,只需找出該部分修改有關(guān)段落即可,與其它部分無(wú)關(guān)。我們提倡用這種方法設(shè)計(jì)程序。這就是用工程的方法設(shè)計(jì)程序。,模塊設(shè)計(jì)的方法: 模塊化設(shè)計(jì)的思想實(shí)際上是一種“分而治之”的思想,把一個(gè)大任務(wù)分為若干個(gè)子任務(wù),每一個(gè)子任務(wù)就相對(duì)簡(jiǎn)單了。 在拿到一個(gè)程序模塊以后,根據(jù)程序模塊的功能將它劃分為若干個(gè)子模塊,如果這些子模塊的規(guī)模還嫌大,還再可以劃分為更小的模塊。這個(gè)過(guò)程采用自頂向下方法來(lái)實(shí)現(xiàn)。 子模塊一般不超過(guò)50行 劃分子模塊時(shí)應(yīng)注意模塊的獨(dú)立性,即:使一個(gè)模塊完成一項(xiàng)功能,耦合性愈少愈好。,4 C+語(yǔ)句,一、語(yǔ)句的概念,C+語(yǔ)句用來(lái)向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令,它都是用來(lái)完成一定操作任務(wù)的。,二、C+語(yǔ)句的分類(lèi),聲明語(yǔ)句 執(zhí)行語(yǔ)句 空語(yǔ)句 復(fù)合語(yǔ)句,二、C+語(yǔ)句的分類(lèi),1、聲明語(yǔ)句 對(duì)變量及其它對(duì)象的定義,可以出現(xiàn)在函數(shù)中的任何行,也可放在函數(shù)外 如:int a,b;,2、執(zhí)行語(yǔ)句 通知計(jì)算機(jī)完成一定的操作 包括控制語(yǔ)句、函數(shù)和流調(diào)用語(yǔ)句、表達(dá)式語(yǔ)句,2、執(zhí)行語(yǔ)句,(1) 控制語(yǔ)句 完成一定的控制功能,if ( ) else 條件 for ( ) 、while ( ) 、do while ( ) 循環(huán) continue 、break 結(jié)束循環(huán) switch 多分支選擇語(yǔ)句 goto 跳轉(zhuǎn)語(yǔ)句 return 從函數(shù)返回語(yǔ)句,二、C+語(yǔ)句的分類(lèi),2、執(zhí)行語(yǔ)句,(2) 函數(shù)和流對(duì)象調(diào)用語(yǔ)句 由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一條語(yǔ)句 例 max(a,b); coutxendl; (3) 表達(dá)式語(yǔ)句 由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成一條語(yǔ)句,但構(gòu) 成的語(yǔ)句應(yīng)該有意義,最典型的為賦值語(yǔ)句 a=3 表達(dá)式 a=3; 賦值語(yǔ)句 i+1 表達(dá)式 i+1; 表達(dá)式語(yǔ)句 無(wú)實(shí)際意義,二、C+語(yǔ)句的分類(lèi),2、執(zhí)行語(yǔ)句,3、空語(yǔ)句 只有一個(gè)分號(hào)的語(yǔ)句,什么也不做 主要用來(lái)完善程序的結(jié)構(gòu),有時(shí)用來(lái)做被轉(zhuǎn)向點(diǎn)或循環(huán)語(yǔ)句中的循環(huán)體 4、復(fù)合語(yǔ)句 用 把一些語(yǔ)句括起來(lái)成為復(fù)合語(yǔ)句 例 P49,二、C+語(yǔ)句的分類(lèi),5 數(shù)據(jù)輸出與輸入,不論C語(yǔ)言還是C+,輸入與輸出都不是其語(yǔ)言中的正式組成部分,如需使用C中的輸入輸出函數(shù)或C+中的輸入輸出流,都必須用預(yù)處理命令將頭文件包含到本文件中 如:#include #include ,一、輸入流與輸出流,1、一般格式: cout變量1變量2變量n;,說(shuō)明(1)cout可分寫(xiě)成若干行,cout“This is a simple C+ program.“endl;,cout“This is“ “a C+“ “program.“ endl;,cout“This is“; cout “a C+“; cout “program. “; cout endl;,(2)不能用一個(gè)插入運(yùn)算符“”插入多個(gè)輸出項(xiàng) (3)cout輸出時(shí)系統(tǒng)會(huì)自動(dòng)判別輸出數(shù)據(jù)類(lèi)型,使輸出數(shù)據(jù)按相應(yīng)類(lèi)型輸出 (4)cin也可以分成若干行,cinabcd;,cina b c d;,cina; cin b; cin c; cin d;,(5)cin輸入時(shí)系統(tǒng)會(huì)根據(jù)變量的類(lèi)型從輸入流中提取相應(yīng)長(zhǎng)度的字節(jié),char c1,c2; int a; float b;,cinc1c2ab; 輸入:1234 56.78,用cin語(yǔ)句得不到空格和回車(chē)字符,2、輸入輸出流的控制符 P53 表3.1 如使用控制符,還需在程序開(kāi)頭加 #include ,一、輸入流與輸出流,例:輸出雙精度 輸出整數(shù) 例3.1,二、getchar和putchar,1、字符格式輸出函數(shù) putchar( ),功能:向終端輸出一個(gè)字符 形式:putchar(參數(shù)) 參數(shù):可以為常量,也可以為變量,還可以是任意整型表達(dá)式,參數(shù)的值代表的是某字符對(duì)應(yīng)的ASCII碼值,也可輸出轉(zhuǎn)義字符 使用時(shí)需加頭文件 #include 例 P55 例3.2,二、getchar和putchar,2、字符格式輸入函數(shù) getchar( ),功能:從終端輸入一個(gè)字符 形式:getchar( ) 無(wú)參數(shù),函數(shù)的值就是從輸入設(shè)備得到的字符,得到的字符可以賦給一個(gè)字符變量或整型變量;也可以不賦給任何變量,作為表達(dá)式的一部分 使用時(shí)需加頭文件 #include 例 P56 例3.3,三、scanf和printf,1、輸出函數(shù) printf( ) 功能:向終端輸出若干個(gè)任意類(lèi)型的數(shù)據(jù),格式:printf(格式控制,輸出表列) 輸出表列:需要輸出的數(shù)據(jù),可以是表達(dá)式 格式控制:用雙引號(hào)括起來(lái)的字符串(包括格式說(shuō)明、普通字符) 格式說(shuō)明:由“”和格式字符組成,將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出 普通字符:需要原樣輸出的字符,三、scanf和printf,2、據(jù)輸入函數(shù) scanf( ) 功能:從輸入設(shè)備向計(jì)算機(jī)輸入任意類(lèi)型的數(shù)據(jù)到相應(yīng)的變量中,格式:scanf(格式

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論