第7章程序設(shè)計(jì)基礎(chǔ)ppt課件_第1頁
第7章程序設(shè)計(jì)基礎(chǔ)ppt課件_第2頁
第7章程序設(shè)計(jì)基礎(chǔ)ppt課件_第3頁
第7章程序設(shè)計(jì)基礎(chǔ)ppt課件_第4頁
第7章程序設(shè)計(jì)基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、大學(xué)計(jì)算機(jī)根底 第2版第7章 程序設(shè)計(jì)根底7.1 程序、程序設(shè)計(jì)與程序設(shè)計(jì)言語7.2 程序設(shè)計(jì)的根本方法7.3 程序設(shè)計(jì)的根本構(gòu)造7.4 面向?qū)ο蟮某绦蛟O(shè)計(jì)簡介 內(nèi) 容7.1.1 程序7.1.2 程序設(shè)計(jì)7.1.3 程序設(shè)計(jì)言語 7.1 程序、程序設(shè)計(jì)與程序設(shè)計(jì)言語 程序是計(jì)算機(jī)處理某個(gè)或某些問題,按照計(jì)算機(jī)能識(shí)別的言語編寫的語句序列。 7.1.1 程序 程序設(shè)計(jì)是用計(jì)算機(jī)言語來實(shí)現(xiàn)所求解問題算法的過程。 程序設(shè)計(jì)是用一種計(jì)算機(jī)言語程序設(shè)計(jì)言語對(duì)求解的問題確定解題方式、設(shè)計(jì)程序流程圖、使問題內(nèi)容或解題方案變?yōu)橛?jì)算機(jī)可以接受的指令或語句序列的過程,通常也稱程序編制。它是創(chuàng)建計(jì)算機(jī)程序的技巧和科學(xué)

2、。 7.1.2 程序設(shè)計(jì) 程序設(shè)計(jì)言語是人與計(jì)算機(jī)交流的工具,是用來編寫計(jì)算機(jī)程序的工具。 按照程序設(shè)計(jì)言語開展的過程,可以分為機(jī)器言語、匯編言語和高級(jí)言語3種。 高級(jí)言語可以分為3類。 面向過程的言語 面向問題的言語 面向?qū)ο蟮难哉Z 7.1.3 程序設(shè)計(jì)言語7.2.1 面向計(jì)算機(jī)的程序設(shè)計(jì) 7.2.2 面向過程的程序設(shè)計(jì)7.2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)7.2.4 三種程序設(shè)計(jì)方法的比較7.2 程序設(shè)計(jì)的根本方法 人類最早的編程言語是機(jī)器言語,就是計(jì)算機(jī)能直接識(shí)別和執(zhí)行的二進(jìn)制指令編寫的二進(jìn)制言語。用機(jī)器言語編寫程序任務(wù)量極大,所編寫的程序又難讀、難記、難修正,只需非常專業(yè)的計(jì)算機(jī)編程人員軟件工

3、程師才干編寫程序。這一時(shí)期的程序設(shè)計(jì)屬于面向計(jì)算機(jī)的程序設(shè)計(jì),軟件開發(fā)的難度大,周期長,開發(fā)出來的軟件功能簡單,界面也不友好,計(jì)算機(jī)的運(yùn)用僅限于科學(xué)計(jì)算。 7.2.1 面向計(jì)算機(jī)的程序設(shè)計(jì) 20世紀(jì)50年代后期,更接近人類思想習(xí)慣的高級(jí)言語誕生了,先是FORTRAN,隨后COBOL、PASCAL、BASIC等相繼誕生。 在面向過程的程序設(shè)計(jì)中,由于數(shù)據(jù)和操作的分別,使程序的重用性差,維護(hù)代價(jià)高,不便于程序的更新?lián)Q代。為了抑制這一缺陷,人們提出了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。 7.2.2 面向過程的程序設(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì)Object-Oriented Programming,OOP思想是:注重對(duì)

4、象,籠統(tǒng)成類。 對(duì)象 對(duì)象是系統(tǒng)中描畫客觀事物的實(shí)體,是由描畫事物屬性構(gòu)造的數(shù)據(jù)和定義在數(shù)據(jù)上的一組操作組成的實(shí)體。 7.2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)類 類是一組對(duì)象的籠統(tǒng),是具有一樣的屬性構(gòu)造和操作的一組對(duì)象的集合。 封裝 封裝是OOP的一個(gè)重要特性,它是指對(duì)象在把數(shù)據(jù)與操作作為一個(gè)整體時(shí),其數(shù)據(jù)的表示方式及對(duì)數(shù)據(jù)的操作細(xì)節(jié)是盡能夠地被隱藏的。 7.2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)承繼 承繼是OOP的又一個(gè)重要特性,它是指特殊類的對(duì)象擁有其普通類的全部屬性構(gòu)造的操作行為。 多態(tài)性 多態(tài)性也是OOP的又一個(gè)重要特性,它是指在普通類中定義的屬性或行為,被特殊類承繼之后,可以具有不同的數(shù)據(jù)類型或不同的行為

5、。 7.2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì) 7.2.4 三種程序設(shè)計(jì)方法的比較7.3.1 順序構(gòu)造7.3.2 選擇構(gòu)造7.3.3 循環(huán)構(gòu)造 7.3 程序設(shè)計(jì)的根本構(gòu)造 順序構(gòu)造的程序其語句的執(zhí)行順序是自上而下順序執(zhí)行。例如某程序由3條語句組成,書寫順序?yàn)椋?語句1 語句2 語句3 那么該程序的執(zhí)行順序是先執(zhí)行語句1,然后執(zhí)行語句2,最后執(zhí)行語句3。 7.3.1 順序構(gòu)造【例7.2】輸入恣意兩個(gè)數(shù),計(jì)算它們的和、差、積、商。用QBASIC編制計(jì)算程序。程序如下:INPUT “X,Y=; X,Y 鍵盤輸入語句,程序運(yùn)轉(zhuǎn)時(shí)輸入數(shù)據(jù)HE=X+YCHA=X-YJI=X*YSH=X/YPRINT “HE=;HE,

6、 “CHA=;CHA, “JI=;JI, “SH=;SHEND運(yùn)轉(zhuǎn)結(jié)果:X,Y=15,3HE=18 CHA=12 JI=45 SH=5 7.3.1 順序構(gòu)造【例7.3】知某圓的半徑為6,計(jì)算該圓的周長和面積。用QBASIC編制計(jì)算程序。程序如下:CONST PI=3.14159 定義常數(shù)值為3.14159LET R=6C=2*PI*RS=PI*R*RPRINT “R=;R, “C=;C, “S=;SEND運(yùn)轉(zhuǎn)結(jié)果:R=6 C=37.69908 S=113.09724 7.3.1 順序構(gòu)造 選擇構(gòu)造中的語句能否執(zhí)行是由某個(gè)條件來控制的,這種構(gòu)造有3種方式。 7.3.2 選擇構(gòu)造單分支選擇構(gòu)造 單

7、分支選擇構(gòu)造是按照某個(gè)條件能否成立來決議某條語句能否執(zhí)行。其流程圖如圖7.3所示。【例7.4】輸入一個(gè)正整數(shù),假設(shè)該數(shù)為奇數(shù),打印“*;假設(shè)為偶數(shù),那么打印“*。用QBASIC編寫程序。程序如下:INPUT “X; X IF X MOD 2=0 THEN 利用求余運(yùn)算,來判別X是奇數(shù)還是偶數(shù)PRINT “* 能被2整除,那么是偶數(shù),打印出2個(gè)*號(hào)END IFIF X MOD 20 THEN PRINT “* END IF 單分支選擇構(gòu)造 雙分支選擇構(gòu)造是按照某個(gè)條件能否成立,從兩條語句中選取一條語句來執(zhí)行。其流程圖如圖7.4所示。 雙分支選擇構(gòu)造【例7.5】輸入3個(gè)數(shù),用QBASIC編寫程序,

8、求出其中的最大數(shù)和最小數(shù)。程序如下:INPUT “X,Y,Z; X,Y,Z IF XY THEN MAX=X: MIN=YELSEMAX=Y: MIN=XEND IFIF ZMAX THEN MAX=Z END IFIF ZMIN THEN MIN=Z END IFPRINT MAX,MINEND 雙分支選擇構(gòu)造 多分支選擇構(gòu)造是用n個(gè)條件控制n+1條語句。哪個(gè)條件成立,就去執(zhí)行相應(yīng)的語句。一切條件均不成立,那么執(zhí)行第n+1條語句。其流程圖如圖7.5所示。 多分支選擇構(gòu)造【例7.6】某學(xué)校要開教工運(yùn)動(dòng)會(huì),按照年齡對(duì)運(yùn)發(fā)動(dòng)進(jìn)展分組,28歲以下為A組,2835歲為B組,3545歲為C組,4555歲

9、為D組,55歲以上為E組。用QBASIC編程,輸入某教工年齡,對(duì)其進(jìn)展分組。程序如下:INPUT “age=; ageSELECT CASE age CASE IS55 PRINT “E組END SELECTEND 多分支選擇構(gòu)造 循環(huán)構(gòu)造是由某個(gè)條件稱為循環(huán)控制條件來控制某個(gè)語句或多個(gè)語句稱為循環(huán)體能否反復(fù)執(zhí)行。循環(huán)構(gòu)造也有3種方式:當(dāng)型循環(huán)構(gòu)造、直到型循環(huán)構(gòu)造和次數(shù)型循環(huán)構(gòu)造。 當(dāng)型循環(huán)構(gòu)造 當(dāng)型循環(huán)構(gòu)造是先判別控制循環(huán)的條件,假設(shè)條件成立,那么執(zhí)行循環(huán)體。前往再判別控制循環(huán)的條件,反復(fù)上述操作,直至控制循環(huán)的條件不成立,退出循環(huán),執(zhí)行后續(xù)語句。其流程圖如圖7.6所示。 7.3.3 循環(huán)構(gòu)

10、造 7.3.3 循環(huán)構(gòu)造 當(dāng)型循環(huán)構(gòu)造【例7.7】求S=12+22+32+ n2設(shè)n為100,用QBASIC編其計(jì)算程序。S=0: N=0WHILE N100 N=N+1 S=S+N*NWENDPRINT “S=;SEND 直到型循環(huán)構(gòu)造直到型循環(huán)構(gòu)造是執(zhí)行語句循環(huán)體,然后判別控制循環(huán)的條件,假設(shè)條件成立,那么繼續(xù)上述操作循環(huán),直到條件不成立時(shí)為止,退出循環(huán)。其流程圖如下?!纠?.8】在100999之間找出一切“水仙花數(shù)。所謂“水仙花數(shù),就是指一個(gè)3位數(shù),其值等于各位數(shù)值的立方和,如371=33+73+13。用QBASIC編其計(jì)算程序。程序如下:N=100DO WHILE N0 THENX=X

11、+1ELSEIF A0 THENY=Y+1ELSEZ=Z+1ENDIFNEXTPRINT “X=;X, “Y=;Y, “Z=;ZEND 次數(shù)型循環(huán)構(gòu)造【例7.10】求S=1!+2!+3!+10!。用QBASIC編其計(jì)算程序。程序如下:S=0FOR I=1 TO 10 循環(huán)的嵌套,外循環(huán)計(jì)算累加T=1FOR J=1 TO I 內(nèi)循環(huán)計(jì)算階乘T=T*JNEXTS=S+TNEXTPRINT “S=;SEND 次數(shù)型循環(huán)構(gòu)造【例7.11】求出3100之間的一切素?cái)?shù)。用QBASIC編其計(jì)算程序。程序如下:FOR I=3 TO 100 STEP 2 只需檢測(cè)奇數(shù)即可X=0 I不為素?cái)?shù)時(shí)的標(biāo)志FOR J=2

12、 TO I-1 循環(huán)嵌套IF I MOD J=0 THEN 判別I能否為素?cái)?shù)X=1 是素?cái)?shù),那么設(shè)X=1為標(biāo)志EXIT FOR 退出內(nèi)循環(huán)ENDIFNEXT JIF X1 THEN X1,闡明I為素?cái)?shù)PRINT I; “ “ 打印出素?cái)?shù)ENDIFNEXT IEND 次數(shù)型循環(huán)構(gòu)造7.4.1 Visual Basic概述7.4.2 VB的集成開發(fā)環(huán)境7.4.3 面向?qū)ο蟪绦蛟O(shè)計(jì)7.4.4 創(chuàng)建一個(gè)VB運(yùn)用程序 7.4 面向?qū)ο蟮某绦蛟O(shè)計(jì)簡介 Visual Basic簡稱VB是Microsoft公司勝利開發(fā)的面向?qū)ο蟮某绦蛟O(shè)計(jì)言語新產(chǎn)品。 Visual Basic 6.0具有以下特點(diǎn): VB易學(xué)易

13、用,功能強(qiáng)大。 Microsoft公司非常注重VB程序設(shè)計(jì)言語的開發(fā),在其中援用了最新的程序設(shè)計(jì)思想,并不斷把最新的技術(shù)運(yùn)用到VB中。 運(yùn)用嵌入式VB言語VB for ApplicationVBA能對(duì)流行軟件如Microsoft Office、AutoDesk、AutoCAD、CorelDRAW等進(jìn)展二次開發(fā)。 7.4.1 Visual Basic概述啟動(dòng)VB6.0和“新建工程對(duì)話框 通常采用二種方法: 一是運(yùn)用“開場(chǎng)/“程序/“Microsoft Visual Basic 6.0; 二是雙擊桌面上vb6.exe 的快捷方式。VB的主窗口 主窗口也稱設(shè)計(jì)窗口。它由標(biāo)題欄、菜單欄、“規(guī)范工具欄、

14、窗體設(shè)計(jì)器、工程資源管理器窗口、屬性窗口、規(guī)劃窗口、工具箱等組成。 7.4.2 VB的集成開發(fā)環(huán)境(1)標(biāo)題欄(2)菜單欄(3)“規(guī)范工具欄窗體設(shè)計(jì)器工程資源管理器窗口屬性窗口工具箱窗口窗體規(guī)劃窗口代碼窗口立刻窗口 7.4.2 VB的集成開發(fā)環(huán)境對(duì)象Object 在VB程序中,對(duì)象是指VB可以訪問的實(shí)體。如窗體、命令按鈕、標(biāo)簽、文件、變量等等。 屬性Property 在VB6.0中,建立了對(duì)象后,可以經(jīng)過兩種方法設(shè)置對(duì)象屬性。 在程序設(shè)計(jì)形狀,經(jīng)過屬性窗口對(duì)該對(duì)象的屬性進(jìn)展修正或設(shè)置。 在程序運(yùn)轉(zhuǎn)形狀,經(jīng)過程序中的語句動(dòng)態(tài)地更改對(duì)象的屬性。語句的普通格式如下: 對(duì)象名屬性稱號(hào)新設(shè)置屬性值 7.

15、4.3 面向?qū)ο蟪绦蛟O(shè)計(jì)方法(Method) 方法指的是對(duì)象所具有的動(dòng)作和行為。 方法只能在代碼中運(yùn)用,用下面的格式調(diào)用: 對(duì)象名方法名 參數(shù)事件(Event) 在VB中,事件就是VB預(yù)先設(shè)置好的可以被對(duì)象識(shí)別的動(dòng)作。 如Click單擊、DblClick雙擊、Load裝入、MouseDown鼠標(biāo)按鈕按下、KeyPress鍵盤按鍵等等。 呼應(yīng)某個(gè)事件所需運(yùn)轉(zhuǎn)的程序代碼稱為事件過程Event Procedure。 7.4.3 面向?qū)ο蟪绦蛟O(shè)計(jì) 當(dāng)VB執(zhí)行完某一事件過程后,程序會(huì)進(jìn)入等待形狀,直到下一個(gè)事件發(fā)生為止。簡單地說,VB程序的執(zhí)行步驟為: 等待事件的發(fā)生。 事件發(fā)生時(shí),執(zhí)行其對(duì)應(yīng)的事件過程。 反復(fù)步驟。 如此周而復(fù)始地執(zhí)行,直到程序終了。 7.4.3 面向?qū)ο蟪绦蛟O(shè)計(jì) 編制VB運(yùn)用程序需求經(jīng)過3個(gè)根本步驟:界面設(shè)計(jì)包括界面特性設(shè)置、過程設(shè)計(jì)和調(diào)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論