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

下載本文檔

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

文檔簡介

第7章程序設(shè)計基礎(chǔ)第7章程序設(shè)計基礎(chǔ)7.1程序、程序設(shè)計與程序設(shè)計語言7.2程序設(shè)計的基本方法7.3程序設(shè)計的基本結(jié)構(gòu)7.4面向?qū)ο蟮某绦蛟O(shè)計簡介

內(nèi)容7.1.1程序7.1.2程序設(shè)計7.1.3程序設(shè)計語言

7.1程序、程序設(shè)計與程序設(shè)計語言程序是計算機解決某個(或某些)問題,依照計算機能識別的語言編寫的語句序列。

7.1.1程序程序設(shè)計是用計算機語言來實現(xiàn)所求解問題算法的過程。程序設(shè)計是用一種計算機語言(程序設(shè)計語言)對求解的問題確定解題方式、設(shè)計程序流程圖、使問題內(nèi)容或解題計劃變?yōu)橛嬎銠C能夠接受的指令或語句序列的過程,通常也稱程序編制。它是創(chuàng)建計算機程序的技巧和科學(xué)。

7.1.2程序設(shè)計

程序設(shè)計語言是人與計算機交流的工具,是用來編寫計算機程序的工具。按照程序設(shè)計語言發(fā)展的過程,可以分為機器語言、匯編語言和高級語言3種。高級語言可以分為3類。⑴面向過程的語言⑵面向問題的語言⑶面向?qū)ο蟮恼Z言

7.1.3程序設(shè)計語言7.2.1面向計算機的程序設(shè)計7.2.2面向過程的程序設(shè)計7.2.3面向?qū)ο蟮某绦蛟O(shè)計7.2.4三種程序設(shè)計方法的比較7.2程序設(shè)計的基本方法

人類最早的編程語言是機器語言,就是計算機能直接識別和執(zhí)行的二進制指令編寫的二進制語言。用機器語言編寫程序工作量極大,所編寫的程序又難讀、難記、難修改,只有非常專業(yè)的計算機編程人員(軟件工程師)才能編寫程序。這一時期的程序設(shè)計屬于面向計算機的程序設(shè)計,軟件開發(fā)的難度大,周期長,開發(fā)出來的軟件功能簡單,界面也不友好,計算機的應(yīng)用僅限于科學(xué)計算。

7.2.1面向計算機的程序設(shè)計20世紀50年代后期,更接近人類思維習(xí)慣的高級語言誕生了,先是FORTRAN,隨后COBOL、PASCAL、BASIC等相繼誕生。在面向過程的程序設(shè)計中,由于數(shù)據(jù)和操作的分離,使程序的重用性差,維護代價高,不便于程序的更新?lián)Q代。為了克服這一缺點,人們提出了面向?qū)ο蟮某绦蛟O(shè)計方法。

7.2.2面向過程的程序設(shè)計面向?qū)ο蟮某绦蛟O(shè)計(Object-OrientedProgramming,OOP)思想是:注重對象,抽象成類。⒈對象對象是系統(tǒng)中描述客觀事物的實體,是由描述事物屬性結(jié)構(gòu)的數(shù)據(jù)和定義在數(shù)據(jù)上的一組操作組成的實體。

7.2.3面向?qū)ο蟮某绦蛟O(shè)計⒉類類是一組對象的抽象,是具有相同的屬性結(jié)構(gòu)和操作的一組對象的集合。⒊封裝封裝是OOP的一個重要特性,它是指對象在把數(shù)據(jù)與操作作為一個整體時,其數(shù)據(jù)的表示方式及對數(shù)據(jù)的操作細節(jié)是盡可能地被隱藏的。

7.2.3面向?qū)ο蟮某绦蛟O(shè)計⒋繼承繼承是OOP的又一個重要特性,它是指特殊類的對象擁有其一般類的全部屬性結(jié)構(gòu)的操作行為。⒌多態(tài)性多態(tài)性也是OOP的又一個重要特性,它是指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或不同的行為。

7.2.3面向?qū)ο蟮某绦蛟O(shè)計

7.2.4三種程序設(shè)計方法的比較7.3.1順序結(jié)構(gòu)7.3.2選擇結(jié)構(gòu)7.3.3循環(huán)結(jié)構(gòu)

7.3程序設(shè)計的基本結(jié)構(gòu)順序結(jié)構(gòu)的程序其語句的執(zhí)行順序是自上而下順序執(zhí)行。例如某程序由3條語句組成,書寫順序為:語句1語句2語句3則該程序的執(zhí)行順序是先執(zhí)行語句1,然后執(zhí)行語句2,最后執(zhí)行語句3。

7.3.1順序結(jié)構(gòu)【例7.2】輸入任意兩個數(shù),計算它們的和、差、積、商。用QBASIC編制計算程序。程序如下:INPUT“X,Y=”;X,Y‘鍵盤輸入語句,程序運行時輸入數(shù)據(jù)HE=X+YCHA=X-YJI=X*YSH=X/YPRINT“HE=”;HE,“CHA=”;CHA,“JI=”;JI,“SH=”;SHEND運行結(jié)果:X,Y=15,3HE=18CHA=12JI=45SH=5

7.3.1順序結(jié)構(gòu)【例7.3】已知某圓的半徑為6,計算該圓的周長和面積。用QBASIC編制計算程序。程序如下:CONSTPI=3.14159‘定義常數(shù)π值為3.14159LETR=6C=2*PI*RS=PI*R*RPRINT“R=”;R,“C=”;C,“S=”;SEND運行結(jié)果:R=6C=37.69908S=113.09724

7.3.1順序結(jié)構(gòu)選擇結(jié)構(gòu)中的語句是否執(zhí)行是由某個條件來控制的,這種結(jié)構(gòu)有3種形式。

7.3.2選擇結(jié)構(gòu)⒈單分支選擇結(jié)構(gòu)單分支選擇結(jié)構(gòu)是按照某個條件是否成立來決定某條語句是否執(zhí)行。其流程圖如圖7.3所示。【例7.4】輸入一個正整數(shù),若該數(shù)為奇數(shù),打印“*”;若為偶數(shù),則打印“**”。用QBASIC編寫程序。程序如下:INPUT“X”;XIFXMOD2=0THEN‘利用求余運算,來判斷X是奇數(shù)還是偶數(shù)PRINT“**”

‘能被2整除,則是偶數(shù),打印出 2個*號ENDIFIFXMOD2<>0THENPRINT“*”

ENDIF⒈單分支選擇結(jié)構(gòu)雙分支選擇結(jié)構(gòu)是按照某個條件是否成立,從兩條語句中選取一條語句來執(zhí)行。其流程圖如圖7.4所示。

⒉雙分支選擇結(jié)構(gòu)【例7.5】輸入3個數(shù),用QBASIC編寫程序,求出其中的最大數(shù)和最小數(shù)。程序如下:INPUT“X,Y,Z”;X,Y,ZIFX>YTHENMAX=X:MIN=YELSEMAX=Y:MIN=XENDIFIFZ>MAXTHENMAX=ZENDIFIFZ<MINTHENMIN=ZENDIFPRINTMAX,MINEND

⒉雙分支選擇結(jié)構(gòu)

多分支選擇結(jié)構(gòu)是用n個條件控制n+1條語句。哪個條件成立,就去執(zhí)行相應(yīng)的語句。所有條件均不成立,則執(zhí)行第n+1條語句。其流程圖如圖7.5所示。

⒊多分支選擇結(jié)構(gòu)【例7.6】某學(xué)校要開教工運動會,按照年齡對運動員進行分組,28歲以下為A組,28~35歲為B組,35~45歲為C組,45~55歲為D組,55歲以上為E組。用QBASIC編程,輸入某教工年齡,對其進行分組。程序如下:INPUT“age=”;ageSELECTCASEageCASEIS<28PRINT“A組”CASE28TO35PRINT“B組”CASE35TO45PRINT“C組”CASE45TO55PRINT“D組”CASEIS>55PRINT“E組”ENDSELECTEND

⒊多分支選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)是由某個條件(稱為循環(huán)控制條件)來控制某個語句或多個語句(稱為循環(huán)體)是否反復(fù)執(zhí)行。循環(huán)結(jié)構(gòu)也有3種形式:當型循環(huán)結(jié)構(gòu)、直到型循環(huán)結(jié)構(gòu)和次數(shù)型循環(huán)結(jié)構(gòu)。⒈當型循環(huán)結(jié)構(gòu)當型循環(huán)結(jié)構(gòu)是先判斷控制循環(huán)的條件,若條件成立,則執(zhí)行循環(huán)體。返回再判斷控制循環(huán)的條件,反復(fù)上述操作,直至控制循環(huán)的條件不成立,退出循環(huán),執(zhí)行后續(xù)語句。其流程圖如圖7.6所示。

7.3.3循環(huán)結(jié)構(gòu)

7.3.3循環(huán)結(jié)構(gòu)

⒈當型循環(huán)結(jié)構(gòu)【例7.7】求S=12+22+32+……+n2(設(shè)n為100),用QBASIC編其計算程序。S=0:N=0WHILEN<100N=N+1S=S+N*NWENDPRINT“S=”;SEND

⒉直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)是執(zhí)行語句(循環(huán)體),然后判斷控制循環(huán)的條件,若條件成立,則繼續(xù)上述操作(循環(huán)),直到條件不成立時為止,退出循環(huán)。其流程圖如下?!纠?.8】在100~999之間找出所有“水仙花”數(shù)。所謂“水仙花”數(shù),就是指一個3位數(shù),其值等于各位數(shù)值的立方和,如371=33+73+13。用QBASIC編其計算程序。程序如下:N=100DOWHILEN<1000I=N/100‘求出百位數(shù)J=(N-I*100)/10‘求出十位數(shù)K=N-I*100-J*10‘求出個位數(shù)S=I*I*I+J*J*J+K*K*KIFN=STHENPRINTN;“

“;ENDIFN=N+1LOOPENDDOEND

⒉直到型循環(huán)結(jié)構(gòu)

⒊次數(shù)型循環(huán)結(jié)構(gòu)次數(shù)型循環(huán)結(jié)構(gòu)是反復(fù)執(zhí)行某語句(循環(huán)體)指定的次數(shù)。其流程圖如圖7.8所示。【例7.9】輸入任意10個數(shù),統(tǒng)計其中正數(shù)、負數(shù)和零的個數(shù)。用QBASIC編其計算程序。程序如下:X=0:Y=0:Z=0‘設(shè)統(tǒng)計正、負、零個數(shù)的變量初值為0FORI=1TO10‘控制循環(huán)次數(shù)為10次INPUT“A=”;A‘循環(huán)中嵌套選擇IFA>0THENX=X+1ELSEIFA<0THENY=Y+1ELSEZ=Z+1ENDIFNEXTPRINT“X=”;X,“Y=”;Y,“Z=”;ZEND

⒊次數(shù)型循環(huán)結(jié)構(gòu)【例7.10】求S=1!+2!+3!+……+10!。用QBASIC編其計算程序。程序如下:S=0FORI=1TO10‘循環(huán)的嵌套,外循環(huán)計算累加T=1FORJ=1TOI‘內(nèi)循環(huán)計算階乘T=T*JNEXTS=S+TNEXTPRINT“S=”;SEND

⒊次數(shù)型循環(huán)結(jié)構(gòu)【例7.11】求出3~100之間的所有素數(shù)。用QBASIC編其計算程序。程序如下:FORI=3TO100STEP2‘只要檢測奇數(shù)即可X=0‘I不為素數(shù)時的標志FORJ=2TOI-1‘循環(huán)嵌套IFIMODJ=0THEN‘判斷I是否為素數(shù)X=1‘是素數(shù),則設(shè)X=1為標志EXITFOR‘退出內(nèi)循環(huán)ENDIFNEXTJIFX<>1THEN‘X<>1,說明I為素數(shù)PRINTI;“

‘打印出素數(shù)ENDIFNEXTIEND

⒊次數(shù)型循環(huán)結(jié)構(gòu)7.4.1VisualBasic概述7.4.2VB的集成開發(fā)環(huán)境7.4.3面向?qū)ο蟪绦蛟O(shè)計7.4.4創(chuàng)建一個VB應(yīng)用程序

7.4面向?qū)ο蟮某绦蛟O(shè)計簡介VisualBasic(簡稱VB)是Microsoft公司成功開發(fā)的面向?qū)ο蟮某绦蛟O(shè)計語言新產(chǎn)品。VisualBasic6.0具有以下特點:⑴VB易學(xué)易用,功能強大。⑵Microsoft公司非常重視VB程序設(shè)計語言的開發(fā),在其中引用了最新的程序設(shè)計思想,并不斷把最新的技術(shù)運用到VB中。⑶使用嵌入式VB語言VBforApplication(VBA)能對流行軟件(如MicrosoftOffice、AutoDesk、AutoCAD、CorelDRAW等)進行二次開發(fā)。7.4.1VisualBasic概述⒈啟動VB6.0和“新建工程”對話框通常采用二種方法:一是使用“開始”/“程序”/“MicrosoftVisualBasic6.0”;二是雙擊桌面上vb6.exe的快捷方式。⒉VB的主窗口主窗口也稱設(shè)計窗口。它由標題欄、菜單欄、“標準”工具欄、窗體設(shè)計器、工程資源管理器窗口、屬性窗口、布局窗口、工具箱等組成。

7.4.2VB的集成開發(fā)環(huán)境(1)標題欄(2)菜單欄(3)“標準”工具欄⑷窗體設(shè)計器⑸工程資源管理器窗口⑹屬性窗口⑺工具箱窗口⑻窗體布局窗口⑼代碼窗口⑽立即窗口

7.4.2VB的集成開發(fā)環(huán)境⒈對象(Object)在VB程序中,對象是指VB可以訪問的實體。如窗體、命令按鈕、標簽、文件、變量等等。⒉屬性(Property)在VB6.0中,建立了對象后,可以通過兩種方法設(shè)置對象屬性。⑴在程序設(shè)計狀態(tài),通過屬性窗口對該對象的屬性進行修改或設(shè)置。⑵在程序運行狀態(tài),通過程序中的語句動態(tài)地更改對象的屬性。語句的一般格式如下:對象名.屬性名稱=新設(shè)置屬性值

7.4.3面向?qū)ο蟪绦蛟O(shè)計⒊方法(Method)方法指的是對象所具有的動作和行為。方法只能在代碼中使用,用下面的格式調(diào)用:對象名.方法名[參數(shù)]⒋事

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論