




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第七章VisualFoxPro7.0程序設計7.1程序文件的建立、修改與運行7.2簡單的交互式輸入輸出命令7.3結構化程序設計7.4過程與過程調用第七章7.1程序文件的建立、修改與運行VisualFoxPro的工作方式所謂單命令方式,即輸入一條命令,完成一個操作的工作方式。所謂菜單方式,即通過打開不同的菜單選擇并完成不同的操作。所謂程序方式,即批命令方式,是把一系列有序的命令放到一個文件中,再執(zhí)行該文件整體。VisualFoxPro的工作方式所謂單命令方式,即輸入一建立程序文件有兩種方法:一是命令方式,二是菜單方式。1、命令方式命令格式:ModifyCommand[<程序文件名>]Modifyfile[<程序文件名.prg>]2、菜單方式選擇菜單【文件】|“新建”菜單項,打開【新建】對話框。|選中“程序”單選按鈕。7.1.1建立程序文件
建立程序文件有兩種方法:一是命令方式,二是菜單方式。7.1.7.1.2修改程序文件
1、【文件】|【打開】,找到要修改的程序文件。2、命令方式:modifycommand[文件名]
程序文件編輯完后,選擇【文件】|【保存】選項按“CTRL+W”鍵,ctrl+S來保存程序,按ESC鍵放棄程序的編輯并返回命令窗口。7.1.2修改程序文件1、【文件】|【打開】,找到要修改7.1.3運行程序文件
1、命令方式:DO<程序文件名>2、在菜單方式下運行【程序】|【運行】3、打開要運行的程序文件,并單擊常用工具欄上的“運行”命令按鈕(即),來運行該程序文件。
4、快捷方式
Ctrl+E表示運行打開的當前程序。7.1.3運行程序文件1、命令方式:DO1、非格式化的輸入命令FoxPro提供了如下三個非格式化輸入命令:(1)數(shù)據(jù)輸入命令(重點)
命令格式:Input[<提示信息>]To〈內存變量名〉
功能:顯示提示信息,暫停正在運行的程序,等待用戶從鍵盤輸入數(shù)據(jù)或表達式并按回車鍵后,將數(shù)據(jù)或表達式的值存入指定的內存變量中,再執(zhí)行中斷了的程序。
7.2.1交互式輸入命令
7.2簡單的交互式輸入輸出命令
1、非格式化的輸入命令7.2.1交互式輸入命令7.2簡例1:從鍵盤隨機輸入一個正數(shù),以該正數(shù)為半徑,求圓的周長和面積。*L1.prgsettalkoffclearinput"半徑="torl=2*PI()*rs=PI()*r*r?"圓周長=",l?"圓面積=",ssettalkonreturn
該程序可以無數(shù)次運行,從而求出無數(shù)個半徑值不同的圓的周長和面積。
例1:從鍵盤隨機輸入一個正數(shù),以該正數(shù)為半徑,求圓的周長和面思考:從鍵盤輸入兩個任意正數(shù),編程求以兩數(shù)為邊長的長方形面積。SETTALKOFFCLEARINPUT“長方形一邊的長為:”TOAINPUT“長方形另一邊的長為:”TOBS=A*B?“長方形的面積為:”,SSETTALKONRETURN思考:從鍵盤輸入兩個任意正數(shù),編程求以兩數(shù)為邊長的長方形面積(2)字符串輸入命令命令格式:Accept[<提示信息>]To〈內存變量名〉功能:將用戶輸入的字符串賦值給指定的內存變量。說明:①輸入的任何數(shù)據(jù)均被當作字符型賦值給內存變量。②如輸入字符串為非空格打頭,則不需要輸入定界符③輸入字符串長度不超過254個字符④命令提示信息與INPUT相同。7.2.1交互式輸入命令
(2)字符串輸入命令7.2.1交互式輸入命令例2:重寫例1題程序。*L2.prgsettalkoffclearaccept"半徑="torl=2*PI()*val(r)s=PI()*val(r)*val(r)?"圓周長=",l?"圓面積=",ssettalkonreturn程序運行結果同例題2。7.2.1交互式輸入命令
例2:重寫例1題程序。7.2.1交互式輸入命令(3)輸入單字符命令命令格式:Wait[〈提示信息〉][To〈內存變量名〉]功能:暫停程序執(zhí)行,等待鍵入一個字符,繼續(xù)執(zhí)行。說明:①只能接受一個字符,輸入完以后立即響應,不要按回車鍵。②如有TO語句,則輸入字符保存到指定變量,否則不保存。③若該語句不帶子句,則暫停程序運行,屏幕顯示
Pressanykeytocontinue……
7.2.1交互式輸入命令
(3)輸入單字符命令7.2.1交互式輸入命令例3:重寫例1題程序。*L3.prgsettalkoffclearinput"半徑="torl=2*PI()*val(r)s=PI()*val(r)*val(r)?"圓周長=",lwait?"圓面積=",ssettalkonreturn
7.2.1交互式輸入命令
例3:重寫例1題程序。7.2.1交互式輸入命令三條輸入命令的異同:
ACCEPT命令只能接受字符型數(shù)據(jù),不需定界符,輸入完畢按回車鍵結束。
WAIT命令只能輸入單個字符,且不需定界符,輸入完畢不需按回車鍵。
INPUT命令可接受數(shù)值型、字符型、邏輯型、日期型和日期時間型數(shù)據(jù),數(shù)據(jù)形式可以是常量、變量、函數(shù)和表達式,如果是字符串,需用定界符,輸入完畢按回車鍵結束。三條輸入命令的異同:
FoxPro系統(tǒng)把屏幕橫向分成70格,用0—79表示,每格能輸出一個英文字符(一個漢字占2格);縱向分成25行,用0—24表示,每行能輸出一行字符。命令格式:@<行坐標>,<列坐標>Say<表達式>Get<變量>Read功能:在指定位置輸出表達式的值并在其后的位置輸入變量的值。
2、格式化輸入命令2、格式化輸入命令Eg:建立程序文件,要求通過程序方式在“讀者”表中添加一條新記錄。
CLEAR USE讀者
APPENDBLANK @2,7SAY"讀者基本情況輸入界面:" @4,10SAY"讀者編號:"GET讀者編號
@6,10SAY"讀者姓名:"GET姓名
@7,10SAY"讀者性別:"GET性別
@10,10SAY"出生日期:"GET出生日期
@12,10SAY"少數(shù)民族否:"GET少數(shù)民族否
@14,10SAY"籍貫"GET籍貫
READ USEEg:建立程序文件,要求通過程序方式在“讀者”表中添加一條新編寫程序文件,修改讀者表中第三條記錄的姓名和籍貫兩個字段。
SETTALKOFF USE讀者
GO3 @2,20SAY“姓名”
GET姓名
@4,20SAY"籍貫"GET籍貫
READ DISPLAY USE RETURN編寫程序文件,修改讀者表中第三條記錄的姓名和籍貫兩個字段。思考:若將上例中的要求改為對任意一條記錄進行修改,程序該做何改動?ClearUse讀者Input“要修改的記錄號:”
tonGon@2,20SAY“姓名”
GET姓名@4,20SAY"籍貫"GET籍貫READDISPLAYUSERETURN思考:若將上例中的要求改為對任意一條記錄進行修改,程序該做何
行輸出命令有兩種使用方式,一種是將表達式結果輸出到屏幕當前的光標位置,另一種方式則可以對表達式的輸出結果進行格式化,而且可以輸出到屏幕的指定位置。但無論是那種方式都可以輸出表達式列表的結果。1、行輸出命令(?|??)
2、格式化輸出命令
@<行坐標>,<列坐標>SAY<表達式>
行列坐標可以為數(shù)值型常量、變量、表達式,行坐標的取值為0—24,列坐標的取值為0—79;
7.2.2交互式輸出命令
行輸出命令有兩種使用方式,一種是將表達式結果輸出到7.2.3其它功能性命令
1、清屏命令命令格式:clear功能:清除屏幕或用戶自定義的窗口2、顯示文件內容命令命令格式:type<文件名>功能:在屏幕或打印機上輸出指定文件的內容3、文本輸出命令命令格式:text<文本信息>endtext功能:原樣輸出<文本信息>內容。
7.2.3其它功能性命令1、清屏命令4、終止執(zhí)行命令 命令格式:cancel
功能:終止程序的執(zhí)行,釋放所有的內存變量,系統(tǒng)返回到命令窗口狀態(tài)。5、注釋命令 命令格式1:note<注釋內容>
命令格式2:*<注釋內容>
命令格式3:&&<注釋內容>
功能:三個命令的功能相同,都是對程序做注釋。
4、終止執(zhí)行命令7.3結構化程序設計
結構化程序設計由若干結構組成,每一個基本結構可以包含一個或多個命令,它主要包括順序結構、分支結構和循環(huán)結構三種。使用結構化程序設計有如下優(yōu)點:1、可讀性強:每個模塊功能明確、模塊間的關系簡單、清晰。2、獨立性好:每個模塊內部的修改盡可能不影響其它模塊。3、易驗證:每個模塊的正確性容易驗證,各個模塊連接起來后整個程序也就容易驗證。7.3結構化程序設計結構化程序設計由若干結構組成,7.3.1順序結構程序設計
順序結構指計算機按程序語句的先后順序依次逐條執(zhí)行程序中各個語句,是程序中最基本、最簡單的一種結構。順序結構流程圖如圖7-5所示,該結構先執(zhí)行A操作,再執(zhí)行B操作,兩者是順序執(zhí)行的關系。ABAB7.3.1順序結構程序設計順序結構指計算機按程序語句的先例10:從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。*L10.PRGsettalkoffclearwait"請輸入一個大寫字母:"toax=asc(a)y=chr(x+32)?ysettalkonreturn
例10:從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。思考:1、修改如下程序:clearS=0Input“請輸入第一個數(shù)”toxS=s+xInput“請輸入第二個數(shù)”toxS=s+xInput“請輸入第三個數(shù)”toxS=s+x?x2、參看下例,為什么可以用這種方法交換兩個變量的值。Input“a=”toaInput“b=”tob?“交換前a,b:”,a,bT=aA=bB=t?“交換后a,b:”,a,b思考:1、修改如下程序:7.3.2分支結構程序設計1、單分支結構語句格式:If〈條件表達式〉〈語句序列〉Endif功能:執(zhí)行if語句時,首先判斷條件表達式的值,若為.T.,則執(zhí)行If到Endif之間的語句序列,再執(zhí)行Endif后面的語句,若為.F.,
則不執(zhí)行If到Endif之間的語句,直接執(zhí)行Endif后面的語句,程序執(zhí)行過程就發(fā)生了跳轉。If和Endif必須成對出現(xiàn),缺一不可,語句序列可以是一條或多條語句。
7.3.2分支結構程序設計1、單分支結構例13:輸入兩個實數(shù),依其值由大到小輸出這兩個數(shù)*L13.PRGsettalkoffinput"a="toainput"b="tobifa<bt=aa=bb=tendif?a,bsettalkonreturn例13:輸入兩個實數(shù),依其值由大到小輸出這兩個數(shù)思考2:用if…endif結構判斷用戶輸入的數(shù)能否同時被4和6整除。思考3:如何求解一元二次方程的實數(shù)解。思考1:若輸入三個數(shù)由大小的順序輸出呢?思考2:用if…endif結構判斷用戶輸入的數(shù)能否同時被4和2、選擇分支結構語句格式:If〈條件表達式〉 〈語句序列1〉 Else〈語句序列2〉Endif
功能:如條件表達式的值為.T.,則執(zhí)行語句序列1,然后執(zhí)行Endif后面的語句,否則執(zhí)行語句序列2,然后執(zhí)行Endif后的語句。其中〈條件表達式〉可以是各種表達式的組合,其值必須是邏輯值,可以是邏輯常量或變量。If、Else、Endif語句應單獨占一行。2、選擇分支結構思考:若要輸出輸入的三個數(shù)中最大的數(shù)(最小的數(shù))?clearinput"數(shù)據(jù)1:"toainput"數(shù)據(jù)2:"tobinput"數(shù)據(jù)3:"tocifa>bt=aelset=bendifift>cs=telses=cendif?sreturn思考:若要輸出輸入的三個數(shù)中最大的數(shù)(最小的數(shù))?clear思考:1、用雙向分支結構編程輸入一個數(shù)返回其絕對值。2、用雙向分支求一元二次方程的實數(shù)解,有,則輸出解的值,無解,輸出“此方程無實數(shù)解!”思考:1、用雙向分支結構編程輸入一個數(shù)返回其絕對值。3、多分支結構語句格式:DoCaseCase〈條件表達式1〉〈語句序列1〉Case〈條件表達式2〉〈語句序列2〉……Case〈條件表達式n〉〈語句序列n〉[Otherwise〈語句序列n+1〉]Endcase3、多分支結構
功能:系統(tǒng)依次檢查每個Case的條件表達式,只要遇到第一個條件為.T.時,則執(zhí)行該條件下的語句序列,之后不再判斷其他條件,也不再執(zhí)行其他語句序列,直接執(zhí)行Endcase后的語句。若所有條件均不成立,如有選擇項Otherwise語句,則執(zhí)行它后面的語句,否則執(zhí)行ENDCASE后面的語句。說明:(1)Docase結構中至少有一個case語句(2)Docase與第一個case之間的語句不會被執(zhí)行。(3)如果有多個條件表達式為.T.,則只有第一個有效,其他case子句的條件不會被判斷,其對應的語句序列也就不會被執(zhí)行。7.3.2分支結構程序設計功能:系統(tǒng)依次檢查每個Case的條件表達式,只要遇到第一個例16:CJ.DBF(成績表)中,按學生XM(姓名)進行查詢,如該生存在,判斷其英語成績ENGLISH是否為優(yōu)(70分以上),中(70分到70分),及格(60分到70分),不及格(小于60分)。
settalkoffclearusecjaccept"請輸入查看英語成績的學生姓名:"tonamelocateforxm=nameiffound()docase caseenglish>=70?"優(yōu)" caseenglish>=70?"中"
例16:CJ.DBF(成績表)中,按學生XM(姓名)進行查詢caseenglish>=60?"及格" otherwise?"不及格"endcaseelse?"找不到該學生"endifusesettalkonreturncaseenglish>=60例如:
x=2.5Docasecasex>1y=1casex>2y=2endcase?y1例如:1例如:如何判定用戶輸入的分數(shù)是哪個級別?clearinput"請輸入分數(shù):"toscoreDocasecasescore>100?"輸入錯誤!"casescore>=90?"優(yōu)秀!"casescore>=75?"良好!"casescore>=60?"及格!"casescore>=0?"不及格!"casescore<0?"輸入錯誤!"Endcase例如:如何判定用戶輸入的分數(shù)是哪個級別?casescorclearinput"請輸入分數(shù):"toscoreDocasecasescore<0?"輸入錯誤!"casescore<60?"不及格!"casescore<75?"及格!"casescore<90?"良好!"casescore=<100?"優(yōu)秀!"casescore>100?"輸入錯誤!"Endcase思考:若將上例題的分數(shù)由低到高顯示判斷,程序該做何改動?clearcasescore<75思考:若將上例題的分數(shù)由練習:假設收入(P)與稅率(R)的關系如下表,編程求稅金。
0 P<700R=0.05 700≤P<20000.07 2000≤P<50000.1 P≥5000
練習:假設收入(P)與稅率(R)的關系如CLEARINPUT“請輸入收入:”TOPDOCASECASEP<700tax=0CASEP<2000tax=0.05*(P-700)CASEP<5000tax=1400*0.05+(p-2000)*0.07OTHERWISEtax=1400*0.05+3000*0.07+(p-5000)*0.1ENDCASE?“你要繳納的稅金為:”,TAXRETURNCLEAR7.3.3循環(huán)結構程序設計
1、條件循環(huán)語句格式:DoWhile〈條件表達式〉語句序列(又稱為循環(huán)體,其中可以使用Loop、Exit等強制退出語句)
Enddo功能:重復判斷〈條件表達式〉的值,其值為.T.時,重復執(zhí)行DoWhile和Enddo之間的語句,直到〈條件表達式〉的值是.F.時結束。7.3.3循環(huán)結構程序設計1、條件循環(huán)語句7.3.3循環(huán)結構程序設計
1.DOWHILE循環(huán)語句(適用于任何循環(huán)情況)【格式1】DOWHILE<條件表達式><語句序列>
ENDDO
一個循環(huán)結構一般應具備如下的條件:(1)循環(huán)的初始條件:一般為給循環(huán)控制變量賦初值;(2)循環(huán)頭:循環(huán)語句的起始,設置、判斷循環(huán)條件;(3)循環(huán)尾:循環(huán)語句的結尾;(4)循環(huán)體:位于循環(huán)頭和循環(huán)尾之間、循環(huán)控制重復執(zhí)行的語句序列。
7.3.3循環(huán)結構程序設計1.DOWHILE循環(huán)語句(適【格式2】DOWHILE<條件表達式><語句序列1>[LOOP]<語句序列2>[EXIT]<語句序列3>ENDDOLOOP語句:強行返回到循環(huán)開始語句。EXIT語句:強行跳出循環(huán),接著執(zhí)行ENDDO后的語句【格式2】DOWHILE<條件表達式>LOO編程求1+2+3+……+100之和。SETTALKOFFCLEARS=0j=1
&&循環(huán)變量的初值(循環(huán)的初始條件)DOWHILEj<=100
&&循環(huán)頭
S=S+jj=j+1
&&循環(huán)體ENDDO
&&循環(huán)尾?”1+2+3+……+100=”,SSETTALKONRETURN編程求1+2+3+……+100之和。【例如】用DoWhile的第二種格式編程求1到100之內所有奇數(shù)的和。CLEARS=0I=0DOWHILEI<100I=I+1ifint(I/2)=I/2loopelseS=S+IendifENDDO?"1+3+5+……+99=",SRETURN【例如】用DoWhile的第二種格式編程求1到100之內思考將上例題用格式一完成程序,1到100之內所有奇數(shù)的和。SETTALKOFFCLEARS=0
I=1DOWHILEI<=100
S=S+I
I=I+2ENDDO?"1+3+5+……+99=",SSETTALKONRETURN思考將上例題用格式一完成程序,1到100之內所有奇數(shù)的和。S編程求出1*2*3*….,當積大于720時退出。
cleari=1s=1dowhile.t.s=s*ii=i+1ifs>720exitendifenddo?s,ireturncleari=1s=1dowhiles<=720s=s*ii=i+1enddo?s,ireturn編程求出1*2*3*….,當積大于720時退出。clear思考:用Dowhile循環(huán)編寫程序求100到999內水仙花數(shù)的個數(shù)?n=0x=100dowhilex<=999a=int(x/100)b=int(mod(x,100)/10)c=mod(x,10)ifa^3+b^3+c^3=xn=n+1endifx=x+1enddo?nreturn思考:用Dowhile循環(huán)編寫程序求100到999內水仙
2.FOR循環(huán)語句
(比較適用于已知循環(huán)次數(shù)的時候)【格式】
FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長>]
<語句序列1>
[LOOP]
<語句序列2>
[EXIT]
<語句序列3>ENDFOR/NEXTFOR語句的執(zhí)行流程如右圖所示。
2.FOR循環(huán)語句(比較適用于已知循環(huán)次數(shù)的時候)使用FOR循環(huán)語句的有關說明:①省略STEP<步長>,則〈步長〉為默認值1;②〈初值〉、〈終值〉和〈步長〉都可以是數(shù)值表達式,但這些表達式僅在循環(huán)語句開始執(zhí)行時計算一次。循環(huán)語句執(zhí)行過程中,初值、終值和步長是不會改變的,并由此確定循環(huán)的次數(shù);③可以在循環(huán)體內改變循環(huán)變量的值,但會改變循環(huán)執(zhí)行次數(shù);④EXIT和LOOP命令可以出現(xiàn)在循環(huán)體內。執(zhí)行LOOP命令時,結束本次循環(huán),循環(huán)變量增加一個步長值,返回FOR循環(huán)頭判斷循環(huán)條件是否成立。執(zhí)行EXIT命令時,程序跳出循環(huán),執(zhí)行循環(huán)尾后面的語句。使用FOR循環(huán)語句的有關說明:【例如】從鍵盤輸入10個數(shù),編程找出其中的最大值和最小值。CLEARINPUT"請從鍵盤輸入一個數(shù)做為初始值:"TOBSTOREBTOMAX,MINFORI=2TO10&&或者寫成forI=1to9表示9次循環(huán)即可
INPUT"請從鍵盤輸入一個數(shù):"TOAIFMAX<AMAX=AENDIFIFMIN>AMIN=AENDIFENDFOR?"最大值為:",MAX?"最小值為:",MINSETTALKONRETURN【例如】從鍵盤輸入10個數(shù),編程找出其中的最大值和最小值。也可以用如下方法:CLEARMax=0Min=100000FORI=1TO10&&表示10次循環(huán)即可
INPUT"請從鍵盤輸入一個數(shù):"TOAIFMAX<AMAX=AENDIFIFMIN>AMIN=AENDIFENDFOR?"最大值為:",MAX?"最小值為:",MINSETTALKONRETURN&&給最大值的變量賦一個較小的初值&&給最小值的變量賦一個較大的初值也可以用如下方法:CLEAR&&給最大值的變量賦一個較小的初【例如】編程判斷一個數(shù)是否素數(shù)。(非常重要)1)做什么2)怎樣做(算法問題):根據(jù)素數(shù)的定義來做。方法一:SETTALKOFFCLEARINPUT"請輸入一個數(shù):"TOxFORi=2TOx-1IFMod(x,i)=0EXITENDIFENDFORIFi>=x?STR(X)+"是素數(shù)"ELSE
?STR(X)+"不是素數(shù)"ENDIF
【例如】編程判斷一個數(shù)是否素數(shù)。(非常重要)方法一:方法二:ClearInput"請輸入數(shù):"toxFlag=1&&標準變量ForI=2tox-1ifmod(x,i)=0flag=2&&此處的flag只要不等于原來的1就可以
exit&&此程序中最有用的一條命令。
endifEndforIfflag=1?str(x)+"是素數(shù)"Else?str(x)+"不是素數(shù)"Endifreturn方法二:方法三:CLEARINPUT"請輸入數(shù):"TOxFORi=2TOINT(SQRT(x))IFMod(x,i)=0EXITENDIFENDFORIFi>=int(SQRT(x))+1?STR(X)+"是素數(shù)"ELSE
?STR(X)+"不是素數(shù)"ENDIFRETURN方法三:從鍵盤輸入任意的10個數(shù),按從大到小的順序依次輸出。
dimea(10)ForI=1to10INPUT"請輸入一個數(shù)"TOa(i)?a(i)ENDFORFORi=1TO9FORj=1TO10-iIFa(j)<a(j+1)t=a(j)a(j)=a(j+1)a(j+1)=tENDIFENDFORENDFORfori=1to10??a(i)endfor思考將最后一個輸出的For循環(huán)去掉可不可以,若可以,應做何改動?從鍵盤輸入任意的10個數(shù),按從大到小的順序依次輸出。思
3.“指針”型循環(huán)控制語句“指針”型循環(huán)控制語句,即根據(jù)用戶設置的表中的當前記錄指針,決定循環(huán)的次數(shù)。[終止的條件]:記錄指針指向表尾時結束循環(huán)?!菊Z句格式】
SCAN[〈范圍〉][FOR〈條件表達式1〉[WHILE〈條件表達式2〉]]
〈命令行序列〉ENDSCAN【語句功能】
該語句在指定的范圍內,用數(shù)據(jù)記錄指針來控制循環(huán)次數(shù)。執(zhí)行語句時,首先判斷函數(shù)EOF()的值,若其值為“真”,則結束循環(huán),否則,結合(條件表達式1)或(條件表達式2),執(zhí)行(命令行序列),記錄指針移到指定的范圍和條件內的下一條記錄,重新判斷函數(shù)EOF()的值,直到函數(shù)EOF()的值為真時結束循環(huán)。3.“指針”型循環(huán)控制語句輸出STUDENT數(shù)據(jù)庫的STUD表中所有團員的姓名和地址。SETTALKOFFCLEAROPENDATABASESTUDENTUSESTUDSCANFOR是否團員
?姓名,地址ENDSCANCLOSEDATABASESETTALKONRETURN輸出STUDENT數(shù)據(jù)庫的STUD表中所有團員的姓名和地址。
4.使用循環(huán)語句時應注意的幾點(1)DOWHILE和ENDDO、FOR和ENDFOR、SCAN和ENDSCAN必須配對使用。(2)〈命令行序列〉可以是任何FoxPro命令或語句,也可以是循環(huán)語句,即可以為多重循環(huán)。(3)〈循環(huán)變量〉應是數(shù)值型的內存變量或數(shù)組元素。(4)EXIT和LOOP命令嵌入在循環(huán)體內,可以改變循環(huán)次數(shù),但是不能單獨使用。EXIT的功能是跳出循環(huán),轉去執(zhí)行ENDDO、ENDFOR、ENDSCAN后面的第一條命令;LOOP的功能是轉回到循環(huán)的開始處,重新對“條件”進行判斷,相當于執(zhí)行了一次ENDDO、ENDFOR、ENDSCAN命令,它可以改變〈命令行序列〉中部分命令的執(zhí)行次數(shù)。EXIT、LOOP可以出現(xiàn)在〈命令行序列〉的任意位置。4.使用循環(huán)語句時應注意的幾點5.多重循環(huán)
多重循環(huán)即循環(huán)的嵌套,是在一個循環(huán)結構的循環(huán)體中又包含另一個循環(huán)。我們稱外層循環(huán)為外循環(huán),被包含的循環(huán)為內循環(huán)。嵌套層數(shù)一般沒有限制,但內循環(huán)的循環(huán)體必須完全包含在外循環(huán)的循環(huán)體中,不能相互交叉。第一種正確的嵌套關系如:
DOWHILE<條件表達式1><語句序列11>DOWHILE<條件表達式2><語句序列21>DOWHILE<條件表達式3><語句序列31>ENDDO<語句行序列22>ENDDO<語句行序列12>ENDDO5.多重循環(huán)第二種正確的嵌套關系如:
for<循環(huán)條件1>&&外層循環(huán)
for<循環(huán)條件2>&&內層循環(huán)
for<循環(huán)條件3>&&最內層循環(huán)
<語句行序列1>endfor<語句行序列2>endfor<語句行序列3>endfor注意:1、不同的循環(huán)之間可以嵌套使用。
2、內層循環(huán)變量的值的變化速度比外層循環(huán)變量的值的變化速度要快。第二種正確的嵌套關系如:【例6-19】編程輸出如下下三角形乘法口訣表。程序文件名為“乘法表.PRG”。【例6-19】編程輸出如下下三角形乘法口訣表。程序文件名為“方法一:用DOwhile循環(huán)來做SETTALKOFFCLEARX=1DOWHILEX<=9Y=1DOWHILEY<=XS=X*Y??STR(Y,1)+"*"+STR(X,1)+"="+STR(S,2)+""Y=Y+1ENDDO?&&僅僅用于換行輸出
X=X+1ENDDOSETTALKONRETURN方法一:用DOwhile循環(huán)來做方法二:以for循環(huán)來解決SETTALKOFFCLEARforx=1to9fory=1toxS=X*Y??STR(Y,1)+"*"+STR(X,1)+"="+STR(S,2)+""next?&&僅僅用于換行輸出
nextSETTALKONRETURN方法二:以for循環(huán)來解決編程序求出2+4+7+16+32+…這樣的數(shù)之和。如果累加和大于500時,則程序終止并輸出結果。clears=0n=2DOwhiles<=500s=s+nn=n*2enddo?sreturn
clears=0forj=1to500I=2^js=s+iifs>500exitendifendfor?sreturn5、兩種循環(huán)的比較使用:編程序求出2+4+7+16+32+…這樣的數(shù)之和。如果累加典型程序實例實例1、計算1!+2!+……+10!思路:先計算出n!,之后再求和。如先計算10!方法:10!=1*2*3*4……*10,實質上就是求數(shù)的累乘。P=1&&變量p用來存放10!的結果。ForI=1to10p=p*IEndfor典型程序實例實例1、計算1!+2!+……+10!P=1再在原來的基礎上求和,方法有兩種:一、直接在循環(huán)內進行累加
P=1S=0ForI=1to10p=p*IS=s+pEndfor?sreturnP=1ForI=1to10p=p*IEndfor再在原來的基礎上求和,方法有兩種:P=1二、運用兩重循環(huán),內層執(zhí)行求某個數(shù)的階乘,外層執(zhí)行累加
S=0forn=1to10p=1forI=1tonp=p*IEndfors=s+pEndfor?sreturn二、運用兩重循環(huán),內層執(zhí)行求某個數(shù)的階乘,外層執(zhí)行累加S思考:編寫程序求出14!+15!+……17!clearS=0forn=14to17p=1forI=1tonp=p*IEndfors=s+pEndfor?sreturn思考:編寫程序求出14!+15!+……17!clear實例2:可以用數(shù)組來完成程序的例子方法一:settalkoffcleara=1b=1c=2dowhilec<10000000a=bb=cc=a+benddo?"10000000以內最大的斐波那契數(shù)為:",bsettalkon斐波那契數(shù)列的前兩項是1,1,其后每一項都是前兩項之和,求10000000以內最大的斐波那契數(shù)?實例2:可以用數(shù)組來完成程序的例子方法一:a=b斐波那方法2:用數(shù)組解決上例的程序:cleardimea(1000)a(1)=1a(2)=1forn=3to1000a(n)=a(n-1)+a(n-2)ifa(n)>=10000000exitendifendfor?a(n-1)方法2:用數(shù)組解決上例的程序:方法1:cleara=1b=1s=0&&s是表示個數(shù)的變量forn=3to1000c=(n-1)*b+(n-2)*aa=bb=c數(shù)列:e(1)=e(2)=1,e(n)=(n-1)*e(n-1)+(n-2)*e(n-2)n>2每個e(n)稱為E數(shù),求[1,30000]之內E數(shù)的個數(shù)?ifc>=1andc<=30000s=s+1endifendfor?s+2Return方法1:數(shù)列:e(1)=e(2)=1,e(n)=(n-1)*方法2:cleardimensione(30000)s=0e(1)=1e(2)=1forn=3to30000e(n)=(n-1)*e(n-1)+(n-2)*e(n-2)ife(n)>=1ande(n)<=30000s=s+1endifendfor?s+2return
方法2:思考:f(0)=f(1)=1,f(2)=0,f(n)=f(n-1)-2*f(n-2)+f(n-3)(n>2),求f(0)到f(50)中最大值。597325思考:f(0)=f(1)=1,f(2)=0,f(n)=f(n思考:已知:f(n)=f(n-1)+2*f(n-2)-5*f(n-3),
f(0)=1,f(1)=2,f(2)=3,求f(0)+f(1)+……f(30)cleardimef(31)s=6f(1)=1f(2)=2f(3)=3forn=4to31f(n)=f(n-1)+2*f(n-2)-5*f(n-3)s=s+f(n)endfor?sreturn思考:已知:f(n)=f(n-1)+2*f(n-2)-5*f百馬馱百瓦問題(與此類似的還有百錢買百雞)大馬、小馬和馬駒共100匹,大馬一馱三,小馬一馱二,馬駒二馱一,共100片瓦一次馱完,三種馬都馱,共有多少種組合?clears=0dm=1dowhiledm<=100/3xm=1dowhilexm<=(100-dm*3)/2mj=100-dm-xm
ifdm*3+xm*2+mj*(1/2)=100s=s+1endifxm=xm+1enddodm=dm+1enddo?sreturn百馬馱百瓦問題(與此類似的還有百錢買百雞)大馬、小馬和馬駒共綜合練習:1、用一元紙幣兌換一分、兩分和五分的硬幣,要求兌換硬幣的總數(shù)為60枚,問共有多少種換法?(注:在兌換中一分、兩分或五分的硬幣數(shù)可以為0枚) 11
settalkoffclearn=0foryi=0to100forer=0to50forwu=0to20ifyi+er+wu=60andyi+2*er+5*wu=100n=n+1endifendforendforendfor?nsettalkonreturn綜合練習:1、用一元紙幣兌換一分、兩分和五分的硬幣,要求兌換2、編程序求出100到200之間同時滿足除3余2和除5余3條件的數(shù)的個數(shù)。6settalkoffclearn=0forx=100to200ifmod(x,3)=2andmod(x,5)=3n=n+1endifendfor?nsettalkonreturn2、編程序求出100到200之間同時滿足除3余2和除5余3條3、編寫程序,求四位數(shù)的奇數(shù)中,所有各位數(shù)字之積(且不為0)是125的倍數(shù)的數(shù)的和。 161095方法一:
settalkoffclearn=0fori=1000to9999a=int(i/1000)b=int((i-a*1000)/100)c=int((i-a*1000-b*100)/10)d=mod(i,10)ifmod(i,2)=1andmod(a*b*c*d,125)=0anda!=0andb!=0andc!=0andd!=0n=n+iendifendfor?nsettalkonreturn3、編寫程序,求四位數(shù)的奇數(shù)中,所有各位數(shù)字之積(且不為0)
方法二:settalkoffclearn=0fori=1001to9999step2a=int(i/1000)b=int((i-a*1000)/100)c=int((i-a*1000-b*100)/10)d=mod(i,10)ifmod(a*b*c*d,125)=0andat("0",str(i,4))=0n=n+iendifendfor?nsettalkonreturn方法二:方法三:settalkoffclearn=0fori=1001to9999step2a=int(i/1000)b=int((i-a*1000)/100)c=int((i-a*1000-b*100)/10)d=mod(i,10)ifmod(a*b*c*d,125)=0andat(“0”,str(i,4))=0或用occurs()函數(shù)
n=n+iendifendfor?nsettalkonreturn方法三:4、編程序求出2+4+6+7+10+…這樣的數(shù)之和。如果累加數(shù)大于500時,則程序終止并輸出結果。510clears=0n=2DOwhiles<=500s=s+nn=n+2enddo?sreturn
clears=0fori=2to500step2s=s+iifs>500exitendifendfor?sreturn4、編程序求出2+4+6+7+10+…這樣的數(shù)之和。如果累7.4程序的模塊化
結構化程序設計方法要求將一個大的系統(tǒng)分解成若干個子系統(tǒng),每個子系統(tǒng)就構成一個程序模塊。模塊是一個相對獨立的程序段,它可以為其他模塊所調用,也可以去調用其他模塊。將一個應用程序劃分成一個個功能相對簡單、單一的模塊程序,不僅有利于程序的開發(fā),也有利于程序的閱讀和維護。VFP模塊化在具體實現(xiàn)上提供三種形式,它們是子程序、過程和函數(shù)。
主程序與子程序調用關系示意圖
7.4程序的模塊化結構化程序設計方法要求將一個大的系一、子程序
子程序也叫外部過程,是以程序文件(.PRG)的形式單獨存儲在磁盤上。子程序只需錄入一次,就可反復被調用執(zhí)行。1.子程序的結構在VFP中,子程序的結構與一般的程序文件一樣,可以用MODIFYCOMMAND命令來建立、修改、和存盤,擴展名也默認為.PRG。子程序與其他程序文件的唯一區(qū)別是其末尾或返回處必須有返回語句RETURN?!菊Z句格式】
RETURN[TOMASTER|TO程序文件名|表達式]【語句功能】該命令中止一個程序、過程、或用戶自定義函數(shù)的執(zhí)行,返回上一級調用程序、最高級調用程序、另外一個程序或命令窗口。一、子程序子程序也叫外部過程,是以程序文件(.PR【語句說明】(1)通常程序執(zhí)行到RETURN時,會自動返回到上級調用程序調用語句的下一條語句繼續(xù)執(zhí)行。如果是在最高一級主程序中,則返回命令窗口。(2)選用TOMASTER子句時,則返回最高一級調用程序,即在命令窗口下,調用的第一個主程序。(3)TO程序文件名表示程序將轉向到指定的程序。(4)如選用表達式,表示將表達式的值返回調用程序,通常用于自定義函數(shù)。(5)在程序最后,如果沒有RETURN命令,則程序運行完畢后,將自動默認執(zhí)行一個RETURN命令,但過程文件除外?!菊Z句說明】2.子程序的調用:【語句格式】
DO<程序文件名>|<過程名>[WITH參數(shù)表]
【語句功能】執(zhí)行以<程序文件名>或<過程名>為名的過程。
【語句說明】WITH參數(shù)表子句用來指定傳遞到程序或過程的參數(shù),在參數(shù)表中列出的參數(shù)可以是表達式、內存變量、常量、字段名或用戶自定義函數(shù),各參數(shù)間用逗號分隔。
【例6-20】分別建立如下程序文件。
*MAIN.PRGSETTALKOFF?”正在執(zhí)行主程序”DOSUB1SETTALKON
*SUB1.PRG?”正在執(zhí)行SUB1”RETURN2.子程序的調用:【例】利用子程序方法求M!/(N!*(M-N)!)(M>N)
*main.prg*子程序sub.prgclearinput"M:"tominput"N:"tons=0x=mdosubs2=sx=ndosubs3=sx=m-ndosubs4=ss1=s2/(s3*s4)?s1s=1fori=1toxs=s*iendforreturns【例】利用子程序方法求M!/(N!*(M-N)!)(M>N)二、過程(內部過程)
內部過程:把多個過程組織在一個文件中(這個文件稱之為過程文件),或者把過程放在調用它的程序文件的末尾。
VisualFoxPro為了識別過程文件或者程序文件中的不同過程,規(guī)定過程文件或者程序文件中的過程必需用PROCEDURE語句說明。其格式為:
PROCEDURE<過程名>[PARAMETER<參數(shù)表>]<命令序列>[RETURN[<表達式>]]
過程有兩種存放方式:(1)把所有的過程集中寫入一個被稱為過程文件(.prg文件)的磁盤文件中(2)直接把過程寫在調用它的主程序文件中,主程序被打開時,過程同時被調入內存。
二、過程(內部過程)內部過程:把多個過程組織在一1.過程與主程序寫在同一個程序文件里 主程序與過程的相互關系如下圖所示。過程和子程序都是用DO<文件名>來調用,當出現(xiàn)了同名的過程和子程序時,調用的順序首先從過程與主程序在同一文件中調用,其次從過程文件中調用,最后從子程序中調用。1.過程與主程序寫在同一個程序文件里2.過程寫在過程文件里主程序與過程的相互關系如下圖所示。調用過程之前,首先要打開存放該過程的過程文件,任何時候只能打開一個過程文件。打開過程文件的命令:
SET
PROCEDURE
TO
<過程文件名>關閉過程文件的命令:
SET
PROCEDURE
TO
或用:CLOSE
PROCEDURE
2.過程寫在過程文件里三、過程文件的建立
過程文件的建立方法與程序文件相同??捎肕ODIFYCOMMAND<過程文件名>命令或調用其他文字編輯軟件來建立。過程文件的結構一般為:PROCEDURE<過程名1><命令序列1>RETURN
PROCEDURE<過程名2><命令序列2>RETURN…PROCEDURE<過程名N><命令序列N>RETURN三、過程文件的建立過程文件的建立方法與程序1.過程文件的調用
調用某過程文件中的過程時,必須先打開該過程文件,打開過程文件命令為:【格式】SETPROCEDURETO<過程文件名>任何時候系統(tǒng)只能打開一個過程文件,當打開一個新的過程文件時,原已打開的過程文件自動關閉。2.過程文件的關閉關閉過程文件可用下列命令:【格式一】SETPROCEDURETO【格式二】CLOSEPROCEDURE
1.過程文件的調用【例】請考察下述程序運行流向,求出正確運行結果。*prog2.prgCLEARSTORE2TOI,C,TDOWHILEI<=4DOPR?"F("+STR(I,1)+")="+STR(C,2)I=I+1ENDDO?"T="+STR(T,2)RETURNPROCEDUREPRC=C+2T=T+CRETURN【例】請考察下述程序運行流向,求出正確運行結果。四、自定義函數(shù)自定義函數(shù)和過程一樣,可以以獨立的程序文件形式單獨存儲在磁盤上,也可以放在過程文件或直接放在程序文件中。自定義函數(shù)具有如下語法結構:
FUNCTION<函數(shù)名>
PARAMETER<參數(shù)表><函數(shù)體命令序列>
RETURN<表達式>自定義函數(shù)的調用語法與系統(tǒng)函數(shù)的調用相同。和過程一樣,自定義函數(shù)可以是常規(guī)程序文件的一部分,也可以是獨立的程序文件。不同的是調用過程或子程序使用DO命令,調用函數(shù)名稱后面加上括號。注意:函數(shù)不是命令,函數(shù)調用只能出現(xiàn)在表達式中。四、自定義函數(shù)自定義函數(shù)和過程一樣,可以以獨立的程序文【例】計算圓面積*PROG24.PRGSETTALKOFFCLEARINPUT”請輸入圓的半徑:”TOR?”圓的面積為:”,AREA(R)SETTALKONFUNCTIONAREA &&計算面積的函數(shù)PARAMETERX &&形參說明RETURN(3.1416*X**2)【例】計算圓面積思考:使用自定義函數(shù)完成:用戶輸入矩形的長和寬,求出對應的面積。SETTALKOFFCLEARINPUT"請輸入矩形一邊的長:"TOaINPUT"請輸入矩形另外一邊的長:"TOb?"矩形的面積為:",AREA(a,b)SETTALKONFUNCTIONAREA &&計算面積的函數(shù)PARAMETERx,y &&形參說明RETURN(x*y)思考:使用自定義函數(shù)完成:用戶輸入矩形的長和寬,求出對應的面五、變量的作用域
1.公共(全局)變量公共變量是指在所有程序模塊中都有效的內存變量。在程序或過程中定義公共變量的語句為:【格式】PUBLIC<內存變量表>該命令的功能是建立公共變量,并為它們賦初值為邏輯假.F.例如,PUBLICa,b,c(5)建立了三個公共內存變量,它們的初值都是.F.
在命令窗口直接使用的內存變量(不必用PUBLIC定義)都是全局變量。五、變量的作用域1.公共(全局)變量【說明】(1)當定義多個變量時,各變量名之間用逗號隔開;(2)用PUBLIC語句定義過的內存變量,在程序執(zhí)行期間可以在任何層次的程序模塊中使用;(3)變量定義語句要放在使用此變量的語句之前,否則會出錯;(4)任何已經定義為全局變量的變量,可以用PUBLIC語句再定義,但不允許重新定義為局部變量;(5)使用全局變量可以增強模塊間的通信,但會降低模塊間的獨立性?!菊f明】2.私有變量
在程序中直接使用(沒有通過PUBLIC和LOCAL命令事先聲明)而由系統(tǒng)自動隱含建立的變量都是私有變量。私有變量的作用域是建立它的模塊及其下屬各層模塊,一旦建立它的模塊運行結束,這些私有變量將自動清除。
3.局部變量
局部變量只能在定義它的模塊中使用,不能在上層或下層模塊中使用。當定義它的模塊運行結束時,局部變量自動釋放。局部變量用LOCAL命令建立:【格式】LOCAL<內存變量表>【功能】該命令建立指定的局部內存變量,并為它們賦初值為邏輯假.F.。2.私有變量【例如】分析下面程序中變量的作用域*prog27.prgclearPUBLICx1&&建立公共變量X1LOCALx2&&建立局部變量X2STORE"f"TOx3&&建立私有變量X3DOproc1?"主程序中--"&&三個變量在主程序中都可使用?"x1=",x1?"x2=",x2?"x3=",x3RETURNPROCEDUREproc1 ?"子程序中--"&&公共變量和私有變量在子程序中可以使用?"x1=",x1?"x3=",x3RETURN【例如】分析下面程序中變量的作用域4.變量的隱藏根據(jù)結構化程序設計方法,將應用程序分成若干層不同的模塊,有可能在各層模塊中有變量同名的情況。為了解決此問題,可以在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使得這些變量在子程序中暫時無效。其語法格式為:PRIVATE內存變量表|ALL[LIKE通配符][EXCEPT通配符]該命令并不建立內存變量,它的作用是:隱藏指定的上層模塊中可能已經存在的內存變量,使得這些變量在當前模塊程序中暫時無效。于是這些變量名就可以用來命名在當前模塊或其下屬模塊中需要的私有變量或局部變量,并且不會改變上層模塊中同名變量的取值。4.變量的隱藏【例】變量的隱藏示例。*prog29.prg*過程PSETTALKOFFPROCEDUREpx=10PRIVATExy=15x=50DOpy=100?x,y?x,yRETURN運行結果:5010010100【例】變量的隱藏示例。Local與Private的比較:(
補充)Local只隱藏上層與所在模塊,而不影響下層。Private隱藏建立它的模塊及下層模塊。Local與Private的比較:(補充)【例】LOCAL和PRIVATE命令的比較示例*prog30.prgPUBLICx,yX=10Y=100DOp1?x,y&&顯示10bbb*過程P1PROCEDUREp1PRIVATEx&&隱藏上層模塊中的變量xx=5&&建立私有變量x,并賦值5LOCALy&&建立局部變量y,并隱藏同名變量DOp2?x,y&&顯示aaa.F.*過程P2PROCEDUREP2x="aaa"&&x是在P1中建立的內存變量y="bbb"&&y是在主程序中建立的公共變量RETURN【例】LOCAL和PRIVATE命令的比較示例九、參數(shù)傳遞1、接收參數(shù)Parameters<形式參數(shù)表>(最常使用的方式)Lparameters<形式參數(shù)表>2、發(fā)送參數(shù)格式1:do<文件名>|<過程名>with<實參表>格式2:<文件名>|<過程名>(實參表)九、參數(shù)傳遞1、接收參數(shù)1、采用格式1調用時:
a、如果實參是常量或表達式,傳遞的方式是按值傳遞。
b、如果實參是變量,傳遞的方式是按地址傳遞。(即引用傳遞)。
c、如果實參是用括號()括起來的,傳遞方式屬于按值傳遞。2、采用格式2調用時:
a、默認方式為按值傳遞。
b、可用setudfparmstovalue|reference來設置傳遞的方式。
1、采用格式1調用時:例如:clearstore10tox1,x2setudfparmstovaluedopwithx1,(x2)?"第一次:",x1,x2store10tox1,x2p(x1,(x2))?"第二次:",x1,x2setudfparmstoreferencedopwithx1,(x2)?"第三次:",x1,x2store10tox1,x2p(x1,(x2))?"第四次:",x1,x2procpparax1,x2x1=x1+1x2=x2+1return例如:clearsetudfparmstorefere練習:分析程序的結果。1、store0ton,sDowhile.t.n=n+1s=s+nIfn>=5exitEndifEnddo?”s=”+str(s,2)練習:分析程序的結果。1、store0ton,s2、*main.prg
clear
s=0
dosub1with10,s
?s
return
*sub1.prg
procsub1
parametersd1,d2
d1=d1+d1
d2=d1*2
return2、*main.prg
clear
s=0
dosub13、store.t.toxStore0toyDowhilexY=y+1Ifint(y/5)=y/5??yElseLoopEndifIfy>15Store.f.toxEndifenddo3、store.t.tox4、clearDimensiona(6)Fork=1to6A(k)=20-2*kEndforK=5Dowhilek>=2a(k)=a(k)-a(k-1)K=k-1Enddo?a(1),a(3),a(5)4、clear5、x=9Y=13Z=fu(x,y)?zFunctionfuParametersa,bA=a*bReturn(a)5、x=96、x=15Y=7Dosubwithx,(y)?x,yReturnProceduresubParametera,bA=a+bB=a-breturn6、x=157、clearstore2tox1,x2,x3X1=x1+1Doz1?x1+x2+x3Return*z1.prgX2=x2+1Doz2X1=x1+1ReturnZ2.prgX3=x3+1Returntomaster7、clear8、填空完成:通過字符串操作豎向顯示“偉大祖國”,橫向顯示“祖國偉大”。ClearStore“偉大祖國”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷庫的維修合同范本
- 鋪租簡單合同范本
- 中小學英語開學第一課47
- 2025年廣州寫字樓租賃合同范本
- 預防醫(yī)學知到課后答案智慧樹章節(jié)測試答案2025年春畢節(jié)醫(yī)學高等??茖W校
- 無償捐獻房屋合同范本
- 2024年中鐵集裝箱運輸有限責任公司招聘真題
- 2025年磚混結構二手房購房合同
- 2024年深圳市區(qū)級紀委監(jiān)委市內選調職員真題
- 2024年廈門市仙岳醫(yī)院招聘真題
- 投資項目財務評價與案例分析課件
- 一篇散文《水銀花開的夜晚》弄懂散文題型
- DB11T 1182-2015 專利代理機構等級評定規(guī)范
- 協(xié)會培訓管理新版制度
- 對數(shù)的概念說課稿課件
- DB52∕T 1559-2021 朱砂 工藝品-行業(yè)標準
- 山東中醫(yī)藥大學中醫(yī)學(專升本)學士學位考試復習題
- 精神障礙檢查與診斷試題
- 《功能材料概論》期末考試試卷及參考答案,2018年12月
- 【北師大版】六年級下冊數(shù)學教學設計-總復習《數(shù)的認識》(1)
- 中醫(yī)護理原則和方法
評論
0/150
提交評論