版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章順序結(jié)構(gòu)程序設(shè)計 3.1程序的3種基本控制結(jié)構(gòu) 3.2順序執(zhí)行語句 3.3格式化輸出函數(shù)printf() 3.4格式化輸入函數(shù)scanf() 3.5單個字符的輸入/輸出函數(shù) 3.6小結(jié) 3.7練習(xí)、作業(yè)及實驗第3章順序結(jié)構(gòu)程序設(shè)計 3.1程序的3種基本控制結(jié)構(gòu)算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計程序)的三種基本結(jié)構(gòu)
程序=數(shù)據(jù)+算法算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計程序)的三種基本結(jié)一、程序設(shè)計的過程
程序設(shè)計的基本步驟包括:
1、對問題進(jìn)行說明(明確要解決的問題和所設(shè)計程序的功能);
2、分解問題(功能模塊劃分);
3、編制各模塊(對各模塊分別設(shè)計算法并編寫程序);
4、測試并完善各模塊(做一步測試一步,在前一步測試通過的前提下,再做下一步);
5、組裝全部模塊;
6、整體測試。一、程序設(shè)計的過程程序設(shè)計的基本步驟包括:一、程序設(shè)計的過程
也可以表示如下:
1、拿到任務(wù)后明確目標(biāo);
2、設(shè)計算法(設(shè)計好一步一步怎么做);
3、根據(jù)算法用語言編程實現(xiàn);
4、測試、調(diào)試直得到正確結(jié)果。一、程序設(shè)計的過程也可以表示如下:一、程序設(shè)計的過程
設(shè)計算法→編寫程序一、程序設(shè)計的過程二、算法的描述
算法:解決問題的方法和思路,及正確的求解步驟,它是計算機編程解決問題的前提和關(guān)鍵。算法描述可以用:自然語言、偽程序語言或程序流程圖(傳統(tǒng)流程圖)N-S盒圖(結(jié)構(gòu)化流程圖)等。用自然語言描述比較自然,但容易產(chǎn)生歧義,在嚴(yán)謹(jǐn)?shù)挠嬎銠C程序設(shè)計文檔中一般使用程序流程圖/N-S盒圖來表示。二、算法的描述算法:解決問題的方法和思路,及正確的求二、算法的描述(自然語言)1、自然語言描述:用自然語言把問題的求解步驟表示出來。舉例1:用自然語言表示輸入圓的半徑,計算并輸出圓的面積的算法。
1、輸入半徑r;
2、根據(jù)圓的面積公式計算:
S=pr2
3、輸出結(jié)果S。二、算法的描述(自然語言)1、自然語言描述:用自然語言2、程序流程圖:一組專門規(guī)定的符號來描述算法(ANSI)。
1、開始、結(jié)束框:
2、數(shù)據(jù)輸入/輸出框:
3、判斷框:
邏輯表達(dá)式的真假寫在流線上
4、數(shù)據(jù)處理(過程)框:
5、流程線:連接以上框圖,指出執(zhí)行順序三、算法的描述(程序流程圖)輸入/輸出數(shù)據(jù)信息邏輯表達(dá)式2、程序流程圖:一組專門規(guī)定的符號來描述算法(ANSI
傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對流程線的使用沒有嚴(yán)格限制。使用者可以毫不受限制地使流程隨意地轉(zhuǎn)來轉(zhuǎn)去,使流程圖變得毫無規(guī)律,閱讀者要花很大精力去追蹤流程,使人難以理解算法的邏輯,從而使算法的可讀性、可靠性和可維護性差?!墙Y(jié)構(gòu)化的流程“意大利面條”如何使寫出的算法能限制這種無規(guī)律的流程的隨意轉(zhuǎn)向呢?三、算法的描述傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對流程線
為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們設(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)ABabABabp成立不成立Aabp成立為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們設(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)Aabp成立不成立Aabp成立不成立為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們設(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:N-S盒圖三、三種基本的算法結(jié)構(gòu)ABPYnAB當(dāng)p成立AA直到p成立為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流
舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法。順序結(jié)構(gòu) 程序代碼三、算法的描述(求圓的面積2)開始輸入r計算面積S輸出面積S結(jié)束舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法
舉例3:用程序流程圖表示如下二次方程求實根算法,ax2+bx+c=0。條件分支結(jié)構(gòu) 程序代碼 三、算法的描述(解方程)開始輸入a,b,c計算△=b2-4ac結(jié)束△≥0?錯誤,無實根輸出解xYN舉例3:用程序流程圖表示如下二次方程求實根算法,ax舉例4:五級記分制需要按:優(yōu)([95,100])、良([85-94])、中([75,84])、及格([74,60])、不及格([0,60))分等級,請將輸入的分?jǐn)?shù)轉(zhuǎn)換成相應(yīng)的等級。多分支結(jié)構(gòu) 程序代碼三、算法的描述(成績評定)開始輸入分?jǐn)?shù)結(jié)束分?jǐn)?shù)≥95YN成績=優(yōu)分?jǐn)?shù)≥85Y成績=良N分?jǐn)?shù)≥75Y成績=中N分?jǐn)?shù)≥60Y成績=不及格成績=及格N舉例4:五級記分制需要按:三、算法的描述(成績評定)開始輸入3、循環(huán)結(jié)構(gòu): 求1,2,3,…,100的累加和。 程序代碼
循環(huán)結(jié)構(gòu))開始和nSum=0記數(shù)nCount=1輸出累加和結(jié)束nCount<=100NYnSum=nSum+nCount3、循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu))開始和nSum=0輸出累加和課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。結(jié)構(gòu)化程序設(shè)計概念
結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計(structuredprogramming)是進(jìn)行以模塊功能和處理過程設(shè)計為主的詳細(xì)設(shè)計的基本原則。其概念最早由E.W.Dijikstra在1965年提出的。是軟件發(fā)展的一個重要的里程碑,它的主要觀點是采用自頂向下、逐步求精的程序設(shè)計方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、重復(fù)三種基本控制結(jié)構(gòu)順序地構(gòu)造
。
詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。
圖形:程序流程圖、N-S圖、PAD圖 表格:判定表
語言:過程設(shè)計語言(PDL)
結(jié)構(gòu)化程序設(shè)計概念
結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計概念
中文名: 艾茲格·迪科斯徹外文名: EdsgerWybeDijkstra國籍: 荷蘭出生地: 荷蘭鹿特丹(Rotterdam)出生日期: 1930年5月11日逝世日期: 2002年8月6日結(jié)構(gòu)化程序設(shè)計概念
中文名: 艾茲格·迪科斯徹結(jié)構(gòu)化程序設(shè)計的要點
結(jié)構(gòu)化程序設(shè)計曾被稱為軟件發(fā)展中的第三個里程碑。該方法的要點是:
(1)
沒有GOTO語句;//在有資料里面說可以用,但要謹(jǐn)慎嚴(yán)格控制GOTO語句,僅在下列情形才可使用:
用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造。
在某種可以改善而不是損害程序可讀性的情況下。
(2)
一個入口,一個出口;
(3)
自頂向下、逐步求精的分解;
(4)
主程序員組。
其中(1)、(2)是解決程序結(jié)構(gòu)規(guī)范化問題;(3)是解決將大劃小,將難化簡的求解方法問題;(4)是解決軟件開發(fā)的人員組織結(jié)構(gòu)問題。
結(jié)構(gòu)化程序設(shè)計的要點結(jié)構(gòu)化程序設(shè)計曾被稱為軟件發(fā)展中的第結(jié)構(gòu)化程序設(shè)計原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計的具體實施中,要注意把握如下要素:
1.使用程序設(shè)計語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯;
2.選用的控制結(jié)構(gòu)只準(zhǔn)有一個入口和一個出口;
3.程序語句組成容易識別的塊,每塊只有一個入口和一個出口;
4.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實現(xiàn);
5.語言中沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;
6.嚴(yán)格控制
GOTO語句的使用。其意思是指:
(1)用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造;
(2)若不使用
GOTO語句會使功能模糊;
(3)在某種可以改善而不是損害程序可讀性的情況下。結(jié)構(gòu)化程序設(shè)計原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計的具體實施C語言程序中的基本單位——語句
C語言源程序是語句的序列,語句是C語言源程序的基本單位。C語言中的語句有如下幾類: 1、流程控制語句 2、表達(dá)式語句: 3、函數(shù)調(diào)用語句: 4、空語句:; 5、復(fù)合語句:{}。C語言程序中的基本單位——語句C語言源程序是語句的序列,
結(jié)構(gòu)化程序設(shè)計:不使用直接跳轉(zhuǎn)語句(GOTO),每個程序段只有一個入口和出口,并且只使用順序結(jié)構(gòu)、條件分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及子程序等來構(gòu)成整個程序。
1、順序結(jié)構(gòu):語句序列一條一條地順序執(zhí)行。
2、條件分支結(jié)構(gòu):根據(jù)條件的不同而執(zhí)行不同的語句序列
3、循環(huán)結(jié)構(gòu):語句序列重復(fù)執(zhí)行??梢栽偌由献映绦颍K):可完成某一獨立功能,且要被重復(fù)多處利用的。四、程序的結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計:不使用直接跳轉(zhuǎn)語句(GOTO),每個課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。輸入:scanf()
輸入:scanf()輸入
輸入輸入
format格式串的組成——type輸入format格式串的組成——type輸入
format格式串的組成——type輸入format格式串的組成——type輸入
format格式串的組成——flag輸入format格式串的組成——flag輸入
format格式串的組成——width和precision輸入format格式串的組成——width和prec輸入
format格式串的組成——modifier輸入format格式串的組成——modifier輸入getchar()/getch()
單字符的輸入宏輸入getchar()/getch()單字符的輸入宏輸入getchar()/getch()
單字符的輸入函數(shù)輸入getchar()/getch()單字符的輸入函數(shù)輸入getchar()/getch()
單字符的輸入函數(shù)輸入getchar()/getch()單字符的輸入函數(shù)輸入gets()/fgets()
字符串輸入輸入gets()/fgets()字符串輸入輸入gets()/fgets()
字符串輸入輸入gets()/fgets()字符串輸入輸入cgets()
字符串輸入輸入cgets()字符串輸入輸出printf()
輸出printf()輸出fprintf()
輸出fprintf()輸出putchar()/putch
輸出putchar()/putch輸出putchar()/putch
輸出putchar()/putch輸出putchar()/putch
輸出putchar()/putch輸出puts()/fputs
輸出puts()/fputs輸出puts()/fputs
輸出puts()/fputs3.6小結(jié)1、程序折3種基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),只用這3種控制結(jié)構(gòu)就能夠編寫所有的程序。2、C語言的語句包括:表達(dá)式語句、函數(shù)調(diào)用語句、復(fù)合語句和空語句及流程控制語句。3、printf()函數(shù)的一般格式如下:
printf(“格式字符串“,輸出項表); 其中,“格式字符串”也稱為格式控制字符串或格式轉(zhuǎn)換字符串,可以包含格式指示符、轉(zhuǎn)義符和普通字符等。 “輸出項表”由若干個輸出項構(gòu)成,輸出項之間用逗號來分隔,每個輸出項可以是常量、變量或表達(dá)式。3.6小結(jié)1、程序折3種基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和3.6小結(jié)(2)4、scanf()函數(shù)一般格式
scanf(“格式字符串“,輸入項地址表); 其中,“格式字符串”可以包含3種類型的字符:格式指示符、空白字符(空格、跳格鍵、回車鍵)和非空白字符/普通字符。 輸入項地址表,由若干個輸入項地址組成,變量地址的表示方法為:&變量名。5、putchar()、getchar()6、gets()、puts()/fgets()、fputs()3.6小結(jié)(2)4、scanf()函數(shù)一般格式3.7練習(xí)、作業(yè)及實驗(1)一、練習(xí)書后練習(xí)二、作業(yè)0、簡述結(jié)構(gòu)化程序設(shè)計的概念。1、程序的語句的分類。2、C語言輸入/輸出的實現(xiàn)及常用的方法。3、編寫算法求ax2+bx+c=0的解。4、輸入兩個整數(shù)a,b,求它們的最大公約數(shù)和最小公倍數(shù)。3.7練習(xí)、作業(yè)及實驗(1)一、練習(xí)3.7練習(xí)、作業(yè)及實驗(2)三、實驗1、目的:(1)了解結(jié)構(gòu)化程序設(shè)計的方法原則及常用的三種結(jié)構(gòu);(2)掌握順序程序設(shè)計的方法;(3)掌握常用的輸入/輸出printf()、scanf()、gets()、puts()、 getchar()、putchar()的用法。2、任務(wù):(1)第三章中例程:Exam1_1.C、Exam1_2.CExam1_3.C,練習(xí)中的程序。(2)P50頁編寫程序題。(3)設(shè)計實驗測試printf()、scanf()兩個函數(shù)的返回值。要求:實驗課前必須先寫出自己的算法并以適當(dāng)方式描述出來,然后翻譯成C語言源程序,上機時直接調(diào)試。3.7練習(xí)、作業(yè)及實驗(2)三、實驗第3章順序結(jié)構(gòu)程序設(shè)計 3.1程序的3種基本控制結(jié)構(gòu) 3.2順序執(zhí)行語句 3.3格式化輸出函數(shù)printf() 3.4格式化輸入函數(shù)scanf() 3.5單個字符的輸入/輸出函數(shù) 3.6小結(jié) 3.7練習(xí)、作業(yè)及實驗第3章順序結(jié)構(gòu)程序設(shè)計 3.1程序的3種基本控制結(jié)構(gòu)算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計程序)的三種基本結(jié)構(gòu)
程序=數(shù)據(jù)+算法算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計程序)的三種基本結(jié)一、程序設(shè)計的過程
程序設(shè)計的基本步驟包括:
1、對問題進(jìn)行說明(明確要解決的問題和所設(shè)計程序的功能);
2、分解問題(功能模塊劃分);
3、編制各模塊(對各模塊分別設(shè)計算法并編寫程序);
4、測試并完善各模塊(做一步測試一步,在前一步測試通過的前提下,再做下一步);
5、組裝全部模塊;
6、整體測試。一、程序設(shè)計的過程程序設(shè)計的基本步驟包括:一、程序設(shè)計的過程
也可以表示如下:
1、拿到任務(wù)后明確目標(biāo);
2、設(shè)計算法(設(shè)計好一步一步怎么做);
3、根據(jù)算法用語言編程實現(xiàn);
4、測試、調(diào)試直得到正確結(jié)果。一、程序設(shè)計的過程也可以表示如下:一、程序設(shè)計的過程
設(shè)計算法→編寫程序一、程序設(shè)計的過程二、算法的描述
算法:解決問題的方法和思路,及正確的求解步驟,它是計算機編程解決問題的前提和關(guān)鍵。算法描述可以用:自然語言、偽程序語言或程序流程圖(傳統(tǒng)流程圖)N-S盒圖(結(jié)構(gòu)化流程圖)等。用自然語言描述比較自然,但容易產(chǎn)生歧義,在嚴(yán)謹(jǐn)?shù)挠嬎銠C程序設(shè)計文檔中一般使用程序流程圖/N-S盒圖來表示。二、算法的描述算法:解決問題的方法和思路,及正確的求二、算法的描述(自然語言)1、自然語言描述:用自然語言把問題的求解步驟表示出來。舉例1:用自然語言表示輸入圓的半徑,計算并輸出圓的面積的算法。
1、輸入半徑r;
2、根據(jù)圓的面積公式計算:
S=pr2
3、輸出結(jié)果S。二、算法的描述(自然語言)1、自然語言描述:用自然語言2、程序流程圖:一組專門規(guī)定的符號來描述算法(ANSI)。
1、開始、結(jié)束框:
2、數(shù)據(jù)輸入/輸出框:
3、判斷框:
邏輯表達(dá)式的真假寫在流線上
4、數(shù)據(jù)處理(過程)框:
5、流程線:連接以上框圖,指出執(zhí)行順序三、算法的描述(程序流程圖)輸入/輸出數(shù)據(jù)信息邏輯表達(dá)式2、程序流程圖:一組專門規(guī)定的符號來描述算法(ANSI
傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對流程線的使用沒有嚴(yán)格限制。使用者可以毫不受限制地使流程隨意地轉(zhuǎn)來轉(zhuǎn)去,使流程圖變得毫無規(guī)律,閱讀者要花很大精力去追蹤流程,使人難以理解算法的邏輯,從而使算法的可讀性、可靠性和可維護性差?!墙Y(jié)構(gòu)化的流程“意大利面條”如何使寫出的算法能限制這種無規(guī)律的流程的隨意轉(zhuǎn)向呢?三、算法的描述傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對流程線
為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們設(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)ABabABabp成立不成立Aabp成立為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們設(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)Aabp成立不成立Aabp成立不成立為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們設(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:N-S盒圖三、三種基本的算法結(jié)構(gòu)ABPYnAB當(dāng)p成立AA直到p成立為了提高算法的質(zhì)量,使算法的設(shè)計和閱讀方便,就限制流
舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法。順序結(jié)構(gòu) 程序代碼三、算法的描述(求圓的面積2)開始輸入r計算面積S輸出面積S結(jié)束舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法
舉例3:用程序流程圖表示如下二次方程求實根算法,ax2+bx+c=0。條件分支結(jié)構(gòu) 程序代碼 三、算法的描述(解方程)開始輸入a,b,c計算△=b2-4ac結(jié)束△≥0?錯誤,無實根輸出解xYN舉例3:用程序流程圖表示如下二次方程求實根算法,ax舉例4:五級記分制需要按:優(yōu)([95,100])、良([85-94])、中([75,84])、及格([74,60])、不及格([0,60))分等級,請將輸入的分?jǐn)?shù)轉(zhuǎn)換成相應(yīng)的等級。多分支結(jié)構(gòu) 程序代碼三、算法的描述(成績評定)開始輸入分?jǐn)?shù)結(jié)束分?jǐn)?shù)≥95YN成績=優(yōu)分?jǐn)?shù)≥85Y成績=良N分?jǐn)?shù)≥75Y成績=中N分?jǐn)?shù)≥60Y成績=不及格成績=及格N舉例4:五級記分制需要按:三、算法的描述(成績評定)開始輸入3、循環(huán)結(jié)構(gòu): 求1,2,3,…,100的累加和。 程序代碼
循環(huán)結(jié)構(gòu))開始和nSum=0記數(shù)nCount=1輸出累加和結(jié)束nCount<=100NYnSum=nSum+nCount3、循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu))開始和nSum=0輸出累加和課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。結(jié)構(gòu)化程序設(shè)計概念
結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計(structuredprogramming)是進(jìn)行以模塊功能和處理過程設(shè)計為主的詳細(xì)設(shè)計的基本原則。其概念最早由E.W.Dijikstra在1965年提出的。是軟件發(fā)展的一個重要的里程碑,它的主要觀點是采用自頂向下、逐步求精的程序設(shè)計方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、重復(fù)三種基本控制結(jié)構(gòu)順序地構(gòu)造
。
詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。
圖形:程序流程圖、N-S圖、PAD圖 表格:判定表
語言:過程設(shè)計語言(PDL)
結(jié)構(gòu)化程序設(shè)計概念
結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計概念
中文名: 艾茲格·迪科斯徹外文名: EdsgerWybeDijkstra國籍: 荷蘭出生地: 荷蘭鹿特丹(Rotterdam)出生日期: 1930年5月11日逝世日期: 2002年8月6日結(jié)構(gòu)化程序設(shè)計概念
中文名: 艾茲格·迪科斯徹結(jié)構(gòu)化程序設(shè)計的要點
結(jié)構(gòu)化程序設(shè)計曾被稱為軟件發(fā)展中的第三個里程碑。該方法的要點是:
(1)
沒有GOTO語句;//在有資料里面說可以用,但要謹(jǐn)慎嚴(yán)格控制GOTO語句,僅在下列情形才可使用:
用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造。
在某種可以改善而不是損害程序可讀性的情況下。
(2)
一個入口,一個出口;
(3)
自頂向下、逐步求精的分解;
(4)
主程序員組。
其中(1)、(2)是解決程序結(jié)構(gòu)規(guī)范化問題;(3)是解決將大劃小,將難化簡的求解方法問題;(4)是解決軟件開發(fā)的人員組織結(jié)構(gòu)問題。
結(jié)構(gòu)化程序設(shè)計的要點結(jié)構(gòu)化程序設(shè)計曾被稱為軟件發(fā)展中的第結(jié)構(gòu)化程序設(shè)計原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計的具體實施中,要注意把握如下要素:
1.使用程序設(shè)計語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯;
2.選用的控制結(jié)構(gòu)只準(zhǔn)有一個入口和一個出口;
3.程序語句組成容易識別的塊,每塊只有一個入口和一個出口;
4.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實現(xiàn);
5.語言中沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;
6.嚴(yán)格控制
GOTO語句的使用。其意思是指:
(1)用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造;
(2)若不使用
GOTO語句會使功能模糊;
(3)在某種可以改善而不是損害程序可讀性的情況下。結(jié)構(gòu)化程序設(shè)計原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計的具體實施C語言程序中的基本單位——語句
C語言源程序是語句的序列,語句是C語言源程序的基本單位。C語言中的語句有如下幾類: 1、流程控制語句 2、表達(dá)式語句: 3、函數(shù)調(diào)用語句: 4、空語句:; 5、復(fù)合語句:{}。C語言程序中的基本單位——語句C語言源程序是語句的序列,
結(jié)構(gòu)化程序設(shè)計:不使用直接跳轉(zhuǎn)語句(GOTO),每個程序段只有一個入口和出口,并且只使用順序結(jié)構(gòu)、條件分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及子程序等來構(gòu)成整個程序。
1、順序結(jié)構(gòu):語句序列一條一條地順序執(zhí)行。
2、條件分支結(jié)構(gòu):根據(jù)條件的不同而執(zhí)行不同的語句序列
3、循環(huán)結(jié)構(gòu):語句序列重復(fù)執(zhí)行??梢栽偌由献映绦颍K):可完成某一獨立功能,且要被重復(fù)多處利用的。四、程序的結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計:不使用直接跳轉(zhuǎn)語句(GOTO),每個課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請在網(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。輸入:scanf()
輸入:scanf()輸入
輸入輸入
format格式串的組成——type輸入format格式串的組成——type輸入
format格式串的組成——type輸入format格式串的組成——type輸入
format格式串的組成——flag輸入format格式串的組成——flag輸入
format格式串的組成——width和precision輸入format格式串的組成——width和prec輸入
format格式串的組成——modifier輸入format格式串的組成——modifier輸入getchar()/getch()
單字符的輸入宏輸入getchar()/getch()單字符的輸入宏輸入getchar()/getch()
單字符的輸入函數(shù)輸入getchar()/getch()單字符的輸入函數(shù)輸入getchar()/getch()
單字符的輸入函數(shù)輸入getchar()/getch()單字符的輸入函數(shù)輸入gets()/fgets()
字符串輸入輸入gets()/fgets()字符串輸入輸入gets()/fgets()
字符串輸入輸入gets()/fgets()字符串輸入輸入cgets()
字符串輸入輸入cgets()
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分析儀器在船舶尾氣排放檢測的技術(shù)考核試卷
- 鐵路與城市軌道工程技術(shù)作業(yè)指導(dǎo)書
- 教育行業(yè)在線教育與互動課堂解決方案
- 旅游線路設(shè)計課程設(shè)計
- 帶傳動的設(shè)計課程設(shè)計
- 我的小桃樹課程設(shè)計
- 有趣的樹枝課程設(shè)計
- 金融機構(gòu)反洗錢工作方案
- 小學(xué)生生活中的智慧故事征文
- 服務(wù)業(yè)智能家居與在線服務(wù)平臺建設(shè)方案
- 垃圾焚燒發(fā)電廠消防系統(tǒng)安裝方案
- 老年性白內(nèi)障臨床路徑(2021年版)
- 廣東省公共數(shù)據(jù)管理辦法
- 露天礦山危險源辨識與風(fēng)險評價
- 六年級下冊數(shù)學(xué)教案-第3課時 鴿巢問題(練習(xí)課)-人教版
- DGJ 08-70-2021 建筑物、構(gòu)筑物拆除技術(shù)標(biāo)準(zhǔn)
- 閥芯設(shè)計計算
- 百草園項目實施方案
- 史學(xué)概論考試復(fù)習(xí)資料(共13頁)
- 2024年義務(wù)教育國家課程設(shè)置實施方案
- 某乳業(yè)公司價格策略研究
評論
0/150
提交評論