![教學(xué)第3章順序結(jié)構(gòu)程序設(shè)計(jì)課件_第1頁](http://file4.renrendoc.com/view/611bb559e191d63cae8bc81e550857f6/611bb559e191d63cae8bc81e550857f61.gif)
![教學(xué)第3章順序結(jié)構(gòu)程序設(shè)計(jì)課件_第2頁](http://file4.renrendoc.com/view/611bb559e191d63cae8bc81e550857f6/611bb559e191d63cae8bc81e550857f62.gif)
![教學(xué)第3章順序結(jié)構(gòu)程序設(shè)計(jì)課件_第3頁](http://file4.renrendoc.com/view/611bb559e191d63cae8bc81e550857f6/611bb559e191d63cae8bc81e550857f63.gif)
![教學(xué)第3章順序結(jié)構(gòu)程序設(shè)計(jì)課件_第4頁](http://file4.renrendoc.com/view/611bb559e191d63cae8bc81e550857f6/611bb559e191d63cae8bc81e550857f64.gif)
![教學(xué)第3章順序結(jié)構(gòu)程序設(shè)計(jì)課件_第5頁](http://file4.renrendoc.com/view/611bb559e191d63cae8bc81e550857f6/611bb559e191d63cae8bc81e550857f65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章順序結(jié)構(gòu)程序設(shè)計(jì) 3.1程序的3種基本控制結(jié)構(gòu) 3.2順序執(zhí)行語句 3.3格式化輸出函數(shù)printf() 3.4格式化輸入函數(shù)scanf() 3.5單個(gè)字符的輸入/輸出函數(shù) 3.6小結(jié) 3.7練習(xí)、作業(yè)及實(shí)驗(yàn)第3章順序結(jié)構(gòu)程序設(shè)計(jì) 3.1程序的3種基本控制結(jié)構(gòu)算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計(jì)程序)的三種基本結(jié)構(gòu)
程序=數(shù)據(jù)+算法算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計(jì)程序)的三種基本結(jié)一、程序設(shè)計(jì)的過程
程序設(shè)計(jì)的基本步驟包括:
1、對(duì)問題進(jìn)行說明(明確要解決的問題和所設(shè)計(jì)程序的功能);
2、分解問題(功能模塊劃分);
3、編制各模塊(對(duì)各模塊分別設(shè)計(jì)算法并編寫程序);
4、測試并完善各模塊(做一步測試一步,在前一步測試通過的前提下,再做下一步);
5、組裝全部模塊;
6、整體測試。一、程序設(shè)計(jì)的過程程序設(shè)計(jì)的基本步驟包括:一、程序設(shè)計(jì)的過程
也可以表示如下:
1、拿到任務(wù)后明確目標(biāo);
2、設(shè)計(jì)算法(設(shè)計(jì)好一步一步怎么做);
3、根據(jù)算法用語言編程實(shí)現(xiàn);
4、測試、調(diào)試直得到正確結(jié)果。一、程序設(shè)計(jì)的過程也可以表示如下:一、程序設(shè)計(jì)的過程
設(shè)計(jì)算法→編寫程序一、程序設(shè)計(jì)的過程二、算法的描述
算法:解決問題的方法和思路,及正確的求解步驟,它是計(jì)算機(jī)編程解決問題的前提和關(guān)鍵。算法描述可以用:自然語言、偽程序語言或程序流程圖(傳統(tǒng)流程圖)N-S盒圖(結(jié)構(gòu)化流程圖)等。用自然語言描述比較自然,但容易產(chǎn)生歧義,在嚴(yán)謹(jǐn)?shù)挠?jì)算機(jī)程序設(shè)計(jì)文檔中一般使用程序流程圖/N-S盒圖來表示。二、算法的描述算法:解決問題的方法和思路,及正確的求二、算法的描述(自然語言)1、自然語言描述:用自然語言把問題的求解步驟表示出來。舉例1:用自然語言表示輸入圓的半徑,計(jì)算并輸出圓的面積的算法。
1、輸入半徑r;
2、根據(jù)圓的面積公式計(jì)算:
S=pr2
3、輸出結(jié)果S。二、算法的描述(自然語言)1、自然語言描述:用自然語言2、程序流程圖:一組專門規(guī)定的符號(hào)來描述算法(ANSI)。
1、開始、結(jié)束框:
2、數(shù)據(jù)輸入/輸出框:
3、判斷框:
邏輯表達(dá)式的真假寫在流線上
4、數(shù)據(jù)處理(過程)框:
5、流程線:連接以上框圖,指出執(zhí)行順序三、算法的描述(程序流程圖)輸入/輸出數(shù)據(jù)信息邏輯表達(dá)式2、程序流程圖:一組專門規(guī)定的符號(hào)來描述算法(ANSI
傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對(duì)流程線的使用沒有嚴(yán)格限制。使用者可以毫不受限制地使流程隨意地轉(zhuǎn)來轉(zhuǎn)去,使流程圖變得毫無規(guī)律,閱讀者要花很大精力去追蹤流程,使人難以理解算法的邏輯,從而使算法的可讀性、可靠性和可維護(hù)性差。————非結(jié)構(gòu)化的流程“意大利面條”如何使寫出的算法能限制這種無規(guī)律的流程的隨意轉(zhuǎn)向呢?三、算法的描述傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對(duì)流程線
為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們?cè)O(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個(gè)結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)ABabABabp成立不成立Aabp成立為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們?cè)O(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個(gè)結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)Aabp成立不成立Aabp成立不成立為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們?cè)O(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個(gè)結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:N-S盒圖三、三種基本的算法結(jié)構(gòu)ABPYnAB當(dāng)p成立AA直到p成立為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流
舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法。順序結(jié)構(gòu) 程序代碼三、算法的描述(求圓的面積2)開始輸入r計(jì)算面積S輸出面積S結(jié)束舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法
舉例3:用程序流程圖表示如下二次方程求實(shí)根算法,ax2+bx+c=0。條件分支結(jié)構(gòu) 程序代碼 三、算法的描述(解方程)開始輸入a,b,c計(jì)算△=b2-4ac結(jié)束△≥0?錯(cuò)誤,無實(shí)根輸出解xYN舉例3:用程序流程圖表示如下二次方程求實(shí)根算法,ax舉例4:五級(jí)記分制需要按:優(yōu)([95,100])、良([85-94])、中([75,84])、及格([74,60])、不及格([0,60))分等級(jí),請(qǐng)將輸入的分?jǐn)?shù)轉(zhuǎn)換成相應(yīng)的等級(jí)。多分支結(jié)構(gòu) 程序代碼三、算法的描述(成績?cè)u(píng)定)開始輸入分?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:五級(jí)記分制需要按:三、算法的描述(成績?cè)u(píng)定)開始輸入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è)請(qǐng)?jiān)诰W(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請(qǐng)?jiān)诰W(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。結(jié)構(gòu)化程序設(shè)計(jì)概念
結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)(structuredprogramming)是進(jìn)行以模塊功能和處理過程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。其概念最早由E.W.Dijikstra在1965年提出的。是軟件發(fā)展的一個(gè)重要的里程碑,它的主要觀點(diǎn)是采用自頂向下、逐步求精的程序設(shè)計(jì)方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、重復(fù)三種基本控制結(jié)構(gòu)順序地構(gòu)造
。
詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。
圖形:程序流程圖、N-S圖、PAD圖 表格:判定表
語言:過程設(shè)計(jì)語言(PDL)
結(jié)構(gòu)化程序設(shè)計(jì)概念
結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)概念
中文名: 艾茲格·迪科斯徹外文名: EdsgerWybeDijkstra國籍: 荷蘭出生地: 荷蘭鹿特丹(Rotterdam)出生日期: 1930年5月11日逝世日期: 2002年8月6日結(jié)構(gòu)化程序設(shè)計(jì)概念
中文名: 艾茲格·迪科斯徹結(jié)構(gòu)化程序設(shè)計(jì)的要點(diǎn)
結(jié)構(gòu)化程序設(shè)計(jì)曾被稱為軟件發(fā)展中的第三個(gè)里程碑。該方法的要點(diǎn)是:
(1)
沒有GOTO語句;//在有資料里面說可以用,但要謹(jǐn)慎嚴(yán)格控制GOTO語句,僅在下列情形才可使用:
用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造。
在某種可以改善而不是損害程序可讀性的情況下。
(2)
一個(gè)入口,一個(gè)出口;
(3)
自頂向下、逐步求精的分解;
(4)
主程序員組。
其中(1)、(2)是解決程序結(jié)構(gòu)規(guī)范化問題;(3)是解決將大劃小,將難化簡的求解方法問題;(4)是解決軟件開發(fā)的人員組織結(jié)構(gòu)問題。
結(jié)構(gòu)化程序設(shè)計(jì)的要點(diǎn)結(jié)構(gòu)化程序設(shè)計(jì)曾被稱為軟件發(fā)展中的第結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計(jì)的具體實(shí)施中,要注意把握如下要素:
1.使用程序設(shè)計(jì)語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯;
2.選用的控制結(jié)構(gòu)只準(zhǔn)有一個(gè)入口和一個(gè)出口;
3.程序語句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口;
4.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn);
5.語言中沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;
6.嚴(yán)格控制
GOTO語句的使用。其意思是指:
(1)用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造;
(2)若不使用
GOTO語句會(huì)使功能模糊;
(3)在某種可以改善而不是損害程序可讀性的情況下。結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計(jì)的具體實(shí)施C語言程序中的基本單位——語句
C語言源程序是語句的序列,語句是C語言源程序的基本單位。C語言中的語句有如下幾類: 1、流程控制語句 2、表達(dá)式語句: 3、函數(shù)調(diào)用語句: 4、空語句:; 5、復(fù)合語句:{}。C語言程序中的基本單位——語句C語言源程序是語句的序列,
結(jié)構(gòu)化程序設(shè)計(jì):不使用直接跳轉(zhuǎn)語句(GOTO),每個(gè)程序段只有一個(gè)入口和出口,并且只使用順序結(jié)構(gòu)、條件分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及子程序等來構(gòu)成整個(gè)程序。
1、順序結(jié)構(gòu):語句序列一條一條地順序執(zhí)行。
2、條件分支結(jié)構(gòu):根據(jù)條件的不同而執(zhí)行不同的語句序列
3、循環(huán)結(jié)構(gòu):語句序列重復(fù)執(zhí)行。可以再加上子程序(模塊):可完成某一獨(dú)立功能,且要被重復(fù)多處利用的。四、程序的結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì):不使用直接跳轉(zhuǎn)語句(GOTO),每個(gè)課外作業(yè)請(qǐng)?jiān)诰W(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請(qǐng)?jiān)诰W(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(“格式字符串“,輸出項(xiàng)表); 其中,“格式字符串”也稱為格式控制字符串或格式轉(zhuǎn)換字符串,可以包含格式指示符、轉(zhuǎn)義符和普通字符等。 “輸出項(xiàng)表”由若干個(gè)輸出項(xiàng)構(gòu)成,輸出項(xiàng)之間用逗號(hào)來分隔,每個(gè)輸出項(xiàng)可以是常量、變量或表達(dá)式。3.6小結(jié)1、程序折3種基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和3.6小結(jié)(2)4、scanf()函數(shù)一般格式
scanf(“格式字符串“,輸入項(xiàng)地址表); 其中,“格式字符串”可以包含3種類型的字符:格式指示符、空白字符(空格、跳格鍵、回車鍵)和非空白字符/普通字符。 輸入項(xiàng)地址表,由若干個(gè)輸入項(xiàng)地址組成,變量地址的表示方法為:&變量名。5、putchar()、getchar()6、gets()、puts()/fgets()、fputs()3.6小結(jié)(2)4、scanf()函數(shù)一般格式3.7練習(xí)、作業(yè)及實(shí)驗(yàn)(1)一、練習(xí)書后練習(xí)二、作業(yè)0、簡述結(jié)構(gòu)化程序設(shè)計(jì)的概念。1、程序的語句的分類。2、C語言輸入/輸出的實(shí)現(xiàn)及常用的方法。3、編寫算法求ax2+bx+c=0的解。4、輸入兩個(gè)整數(shù)a,b,求它們的最大公約數(shù)和最小公倍數(shù)。3.7練習(xí)、作業(yè)及實(shí)驗(yàn)(1)一、練習(xí)3.7練習(xí)、作業(yè)及實(shí)驗(yàn)(2)三、實(shí)驗(yàn)1、目的:(1)了解結(jié)構(gòu)化程序設(shè)計(jì)的方法原則及常用的三種結(jié)構(gòu);(2)掌握順序程序設(shè)計(jì)的方法;(3)掌握常用的輸入/輸出printf()、scanf()、gets()、puts()、 getchar()、putchar()的用法。2、任務(wù):(1)第三章中例程:Exam1_1.C、Exam1_2.CExam1_3.C,練習(xí)中的程序。(2)P50頁編寫程序題。(3)設(shè)計(jì)實(shí)驗(yàn)測試printf()、scanf()兩個(gè)函數(shù)的返回值。要求:實(shí)驗(yàn)課前必須先寫出自己的算法并以適當(dāng)方式描述出來,然后翻譯成C語言源程序,上機(jī)時(shí)直接調(diào)試。3.7練習(xí)、作業(yè)及實(shí)驗(yàn)(2)三、實(shí)驗(yàn)第3章順序結(jié)構(gòu)程序設(shè)計(jì) 3.1程序的3種基本控制結(jié)構(gòu) 3.2順序執(zhí)行語句 3.3格式化輸出函數(shù)printf() 3.4格式化輸入函數(shù)scanf() 3.5單個(gè)字符的輸入/輸出函數(shù) 3.6小結(jié) 3.7練習(xí)、作業(yè)及實(shí)驗(yàn)第3章順序結(jié)構(gòu)程序設(shè)計(jì) 3.1程序的3種基本控制結(jié)構(gòu)算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計(jì)程序)的三種基本結(jié)構(gòu)
程序=數(shù)據(jù)+算法算法的三種基本結(jié)構(gòu)
和SP(結(jié)構(gòu)化程序設(shè)計(jì)程序)的三種基本結(jié)一、程序設(shè)計(jì)的過程
程序設(shè)計(jì)的基本步驟包括:
1、對(duì)問題進(jìn)行說明(明確要解決的問題和所設(shè)計(jì)程序的功能);
2、分解問題(功能模塊劃分);
3、編制各模塊(對(duì)各模塊分別設(shè)計(jì)算法并編寫程序);
4、測試并完善各模塊(做一步測試一步,在前一步測試通過的前提下,再做下一步);
5、組裝全部模塊;
6、整體測試。一、程序設(shè)計(jì)的過程程序設(shè)計(jì)的基本步驟包括:一、程序設(shè)計(jì)的過程
也可以表示如下:
1、拿到任務(wù)后明確目標(biāo);
2、設(shè)計(jì)算法(設(shè)計(jì)好一步一步怎么做);
3、根據(jù)算法用語言編程實(shí)現(xiàn);
4、測試、調(diào)試直得到正確結(jié)果。一、程序設(shè)計(jì)的過程也可以表示如下:一、程序設(shè)計(jì)的過程
設(shè)計(jì)算法→編寫程序一、程序設(shè)計(jì)的過程二、算法的描述
算法:解決問題的方法和思路,及正確的求解步驟,它是計(jì)算機(jī)編程解決問題的前提和關(guān)鍵。算法描述可以用:自然語言、偽程序語言或程序流程圖(傳統(tǒng)流程圖)N-S盒圖(結(jié)構(gòu)化流程圖)等。用自然語言描述比較自然,但容易產(chǎn)生歧義,在嚴(yán)謹(jǐn)?shù)挠?jì)算機(jī)程序設(shè)計(jì)文檔中一般使用程序流程圖/N-S盒圖來表示。二、算法的描述算法:解決問題的方法和思路,及正確的求二、算法的描述(自然語言)1、自然語言描述:用自然語言把問題的求解步驟表示出來。舉例1:用自然語言表示輸入圓的半徑,計(jì)算并輸出圓的面積的算法。
1、輸入半徑r;
2、根據(jù)圓的面積公式計(jì)算:
S=pr2
3、輸出結(jié)果S。二、算法的描述(自然語言)1、自然語言描述:用自然語言2、程序流程圖:一組專門規(guī)定的符號(hào)來描述算法(ANSI)。
1、開始、結(jié)束框:
2、數(shù)據(jù)輸入/輸出框:
3、判斷框:
邏輯表達(dá)式的真假寫在流線上
4、數(shù)據(jù)處理(過程)框:
5、流程線:連接以上框圖,指出執(zhí)行順序三、算法的描述(程序流程圖)輸入/輸出數(shù)據(jù)信息邏輯表達(dá)式2、程序流程圖:一組專門規(guī)定的符號(hào)來描述算法(ANSI
傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對(duì)流程線的使用沒有嚴(yán)格限制。使用者可以毫不受限制地使流程隨意地轉(zhuǎn)來轉(zhuǎn)去,使流程圖變得毫無規(guī)律,閱讀者要花很大精力去追蹤流程,使人難以理解算法的邏輯,從而使算法的可讀性、可靠性和可維護(hù)性差。————非結(jié)構(gòu)化的流程“意大利面條”如何使寫出的算法能限制這種無規(guī)律的流程的隨意轉(zhuǎn)向呢?三、算法的描述傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,并且對(duì)流程線
為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們?cè)O(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個(gè)結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)ABabABabp成立不成立Aabp成立為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們?cè)O(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個(gè)結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:三、三種基本的算法結(jié)構(gòu)Aabp成立不成立Aabp成立不成立為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流
為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流程線的隨意轉(zhuǎn)向,不允許無規(guī)律地使用流程隨意轉(zhuǎn)向,只能順序地走下去。人們?cè)O(shè)想,可以用幾種基本的算法結(jié)構(gòu)順序組成一個(gè)結(jié)構(gòu)化的算法。三種基本算法結(jié)構(gòu)作為良好算法的基本單元:N-S盒圖三、三種基本的算法結(jié)構(gòu)ABPYnAB當(dāng)p成立AA直到p成立為了提高算法的質(zhì)量,使算法的設(shè)計(jì)和閱讀方便,就限制流
舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法。順序結(jié)構(gòu) 程序代碼三、算法的描述(求圓的面積2)開始輸入r計(jì)算面積S輸出面積S結(jié)束舉例2:用程序流程圖描述已知圓的半徑,求圓的面積算法
舉例3:用程序流程圖表示如下二次方程求實(shí)根算法,ax2+bx+c=0。條件分支結(jié)構(gòu) 程序代碼 三、算法的描述(解方程)開始輸入a,b,c計(jì)算△=b2-4ac結(jié)束△≥0?錯(cuò)誤,無實(shí)根輸出解xYN舉例3:用程序流程圖表示如下二次方程求實(shí)根算法,ax舉例4:五級(jí)記分制需要按:優(yōu)([95,100])、良([85-94])、中([75,84])、及格([74,60])、不及格([0,60))分等級(jí),請(qǐng)將輸入的分?jǐn)?shù)轉(zhuǎn)換成相應(yīng)的等級(jí)。多分支結(jié)構(gòu) 程序代碼三、算法的描述(成績?cè)u(píng)定)開始輸入分?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:五級(jí)記分制需要按:三、算法的描述(成績?cè)u(píng)定)開始輸入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è)請(qǐng)?jiān)诰W(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請(qǐng)?jiān)诰W(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。結(jié)構(gòu)化程序設(shè)計(jì)概念
結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)(structuredprogramming)是進(jìn)行以模塊功能和處理過程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。其概念最早由E.W.Dijikstra在1965年提出的。是軟件發(fā)展的一個(gè)重要的里程碑,它的主要觀點(diǎn)是采用自頂向下、逐步求精的程序設(shè)計(jì)方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、重復(fù)三種基本控制結(jié)構(gòu)順序地構(gòu)造
。
詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。
圖形:程序流程圖、N-S圖、PAD圖 表格:判定表
語言:過程設(shè)計(jì)語言(PDL)
結(jié)構(gòu)化程序設(shè)計(jì)概念
結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)概念
中文名: 艾茲格·迪科斯徹外文名: EdsgerWybeDijkstra國籍: 荷蘭出生地: 荷蘭鹿特丹(Rotterdam)出生日期: 1930年5月11日逝世日期: 2002年8月6日結(jié)構(gòu)化程序設(shè)計(jì)概念
中文名: 艾茲格·迪科斯徹結(jié)構(gòu)化程序設(shè)計(jì)的要點(diǎn)
結(jié)構(gòu)化程序設(shè)計(jì)曾被稱為軟件發(fā)展中的第三個(gè)里程碑。該方法的要點(diǎn)是:
(1)
沒有GOTO語句;//在有資料里面說可以用,但要謹(jǐn)慎嚴(yán)格控制GOTO語句,僅在下列情形才可使用:
用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造。
在某種可以改善而不是損害程序可讀性的情況下。
(2)
一個(gè)入口,一個(gè)出口;
(3)
自頂向下、逐步求精的分解;
(4)
主程序員組。
其中(1)、(2)是解決程序結(jié)構(gòu)規(guī)范化問題;(3)是解決將大劃小,將難化簡的求解方法問題;(4)是解決軟件開發(fā)的人員組織結(jié)構(gòu)問題。
結(jié)構(gòu)化程序設(shè)計(jì)的要點(diǎn)結(jié)構(gòu)化程序設(shè)計(jì)曾被稱為軟件發(fā)展中的第結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計(jì)的具體實(shí)施中,要注意把握如下要素:
1.使用程序設(shè)計(jì)語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯;
2.選用的控制結(jié)構(gòu)只準(zhǔn)有一個(gè)入口和一個(gè)出口;
3.程序語句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口;
4.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn);
5.語言中沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;
6.嚴(yán)格控制
GOTO語句的使用。其意思是指:
(1)用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造;
(2)若不使用
GOTO語句會(huì)使功能模糊;
(3)在某種可以改善而不是損害程序可讀性的情況下。結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用在結(jié)構(gòu)化程序設(shè)計(jì)的具體實(shí)施C語言程序中的基本單位——語句
C語言源程序是語句的序列,語句是C語言源程序的基本單位。C語言中的語句有如下幾類: 1、流程控制語句 2、表達(dá)式語句: 3、函數(shù)調(diào)用語句: 4、空語句:; 5、復(fù)合語句:{}。C語言程序中的基本單位——語句C語言源程序是語句的序列,
結(jié)構(gòu)化程序設(shè)計(jì):不使用直接跳轉(zhuǎn)語句(GOTO),每個(gè)程序段只有一個(gè)入口和出口,并且只使用順序結(jié)構(gòu)、條件分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及子程序等來構(gòu)成整個(gè)程序。
1、順序結(jié)構(gòu):語句序列一條一條地順序執(zhí)行。
2、條件分支結(jié)構(gòu):根據(jù)條件的不同而執(zhí)行不同的語句序列
3、循環(huán)結(jié)構(gòu):語句序列重復(fù)執(zhí)行??梢栽偌由献映绦颍K):可完成某一獨(dú)立功能,且要被重復(fù)多處利用的。四、程序的結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì):不使用直接跳轉(zhuǎn)語句(GOTO),每個(gè)課外作業(yè)請(qǐng)?jiān)诰W(wǎng)上搜索程序員的定義及相關(guān)內(nèi)容。寫程序的人,一種職業(yè),一種追求課外作業(yè)請(qǐng)?jiān)诰W(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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手手機(jī)購買合同(三篇)
- 2025年買賣協(xié)議經(jīng)典版(2篇)
- 2025年臨時(shí)供用水協(xié)議(2篇)
- 2025年個(gè)人股份轉(zhuǎn)讓合同標(biāo)準(zhǔn)版本(三篇)
- 2025年個(gè)人房屋出租賃合同樣本(三篇)
- 2025年個(gè)人房屋購房合同標(biāo)準(zhǔn)樣本(2篇)
- 服裝店裝修承包協(xié)議
- 服裝店裝修合同范本公裝
- 農(nóng)村養(yǎng)殖場裝修協(xié)議模板
- 市政項(xiàng)目土石方運(yùn)輸合同
- 《發(fā)展?jié)h語(第二版)中級(jí)綜合(Ⅰ)》第9課+課件
- 2023-2024學(xué)年四川省成都市小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)期末提升試題
- GB/T 7462-1994表面活性劑發(fā)泡力的測定改進(jìn)Ross-Miles法
- GB/T 2934-2007聯(lián)運(yùn)通用平托盤主要尺寸及公差
- GB/T 21709.13-2013針灸技術(shù)操作規(guī)范第13部分:芒針
- 2022年青島職業(yè)技術(shù)學(xué)院單招語文考試試題及答案解析
- 急診科進(jìn)修匯報(bào)課件
- DL∕T 617-2019 氣體絕緣金屬封閉開關(guān)設(shè)備技術(shù)條件
- 一年級(jí)家訪記錄表(常用)
- 信息技術(shù)基礎(chǔ)ppt課件(完整版)
- 電子課件-《飯店服務(wù)心理(第四版)》-A11-2549
評(píng)論
0/150
提交評(píng)論