浙江萬里學院VFP學生自主學習報告_第1頁
浙江萬里學院VFP學生自主學習報告_第2頁
浙江萬里學院VFP學生自主學習報告_第3頁
浙江萬里學院VFP學生自主學習報告_第4頁
浙江萬里學院VFP學生自主學習報告_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上Visual FoxPro程序設計課程學生自主學習報告( 學年 第二學期)班級: 學號: 姓名: 組 別組長任課老師小組成員浙江萬里學院基礎學院計算機部Visual FoxPro程序設計課程組討論一 VFP基礎知識一.討論準備:學生分組討論VFP數據類型、表達式、運算符、常用函數及表的基本操作命令等基礎知識,由組長安排時間地點組織分組研究學習并完成基礎知識練習題。二.討論目的:使學生熟練掌握VFP數據類型、表達式、常用函數等基礎知識,為后續的算法設計打好堅實的語法知識。三.討論要求:各分組由學生小組長負責記錄成員任務分工及學習討論學習情況,并完成小組活動記錄手冊。各組

2、成員在討論學習基礎上完成自主學習報告一。四.討論內容:(1)VFP提供的數據類型有哪些?可用于字段變量、內存變量和常量的數據類型分別有哪些?(2) VFP提供的運算符有哪些?運算符可分為幾類?VFP表達式有幾類,VFP表達式與數學表達式有何區別?(3)VFP常用函數有哪些?對常用函數按其功能分類并舉例說明函數使用格式及其功能。(4)VFP有關表操作的常用命令有哪些?對常用命令分類并舉例說明命令使用格式及作用。五. VFP基礎知識練習題1) 數據庫DB、數據庫系統DBS、數據庫管理系統DBMS三者之間的關系是:AA) DBS包括DB和DBMSB) DBMS包括DB和DBSC) DB包括DBS和D

3、BMSD) DBS就是DB,也就是DBMS2) Visual FoxPro 6.0數據庫系統是(C)型數據庫系統。A) 網絡B) 層次C) 關系D) 鏈狀3) 設A=“123”,B=“234”,表達式(C)的值為假(.F.)。A) .NOT.(A=B) .OR.(B$“ABC”)B) .NOT.(A$“ABC”).AND.(A<>B)C) .NOT.(A<>B) D) .NOT.(A>=B)4) 將邏輯假值賦給內存變量DY的正確方法是BA) DY=FALSE B) STORE .F. TO DYC) DY=“.F.” D) STORE “F” TO DY5) 假定

4、Y=2,執行命令 ?Y=Y+2 后,其結果是CA) 3B) 4C) .F.D) .T.6) 在下列Visual FoxPro表達式中,結果為日期型的正確表達式是BA) DATE()+TIME ()B) DATE()+120C) DATE()-CTOD(02/01/99)D) 288-DATE ()7) 變量string=“1999年上半年全國計算機等級考試”,能夠顯示”1999年上半年計算機等級考試”的命令是CA) ?string-”全國”B) ?SUBSTR(string,1,8)+SUBSTR(string,11,17)C) ?SUBSTR(string,1,12)+SUBSTR(stri

5、ng,17,14)D) ?STR(string,1,12)+ STR(string,17,14)8) 如果沒有定義變量F,執行下列命令后,其結果為U的表達式是BA) ?TYPE(”.F.”)B) ?TYPE(”F”)C) ?TYPE(.F.)D) ?TYPE(F)9) 命令序列W1=“GOOD MORNING!”W2=SUBSTR(STUFF(W1,6,0,”LUCKY”),1,10)?W2執行后,其結果為CA) GOOD MORNINGB) GOOD LUCKY MORNINGC) GOOD LUCKYD) LUCKY MORNING10) 安全可靠地退出Visual Foxpro系統地正確

6、方法是AA) 在命令窗口中執行QUIT命令B) 關掉計算機電源C) 在命令窗口執行EXIT命令D) 在”文件”菜單中執行”關閉”11) 使用DIMENSION命令定義數組后,各數組元素在沒有賦值之前數據類型是CA) 字符型B) 數值型C) 邏輯型D) 未定義12) 在下列Visual Foxpro表達式中,運算結果一定是邏輯值的是CA) 字符表達式B) 數值表達式C) 關系表達式D) 日期表達式13) 在Visual Foxpro中,MIN(ROUND(8.89,1),9)的值是BA) 8B) 8.9C) 9D) 8.8914) 函數LEN(ABC-ABC)的值是BA) 0B) 6C) 7D)

7、 315) 若變量X=10,KK=“X=123”,則函數TYPE(“KK”)的值為CA) LB) NC) CD) 錯誤16) 條件函數IIF(LEN(SPACE(1)-“1”)=2),1,-1)的值是AA) 1B) 2C) -1D) 017) 順序執行以下賦值命令X=“50”,Y=6*8,Z=LEFT(“Visual Foxpro”,3)之后,下列表達式中,合法的表達式只有DA) X+Y B) Y+Z C) X-Z+YD) &X+Y18) 執行下列命令序列ABC=“萬里學院”? SUBSTR(ABC,LEN(ABC)/2+1,4)結果是BA) 萬里B) 學院C) 里學D) 變量未找到1

8、9) 表達式ASC(“APPEND”)的值為CA) 128B) 97C) 65D) “A”20) 執行以下命令序列(設今天為2005年2月1日)B?YEAR(DATE()-365) 的結果為A) 其中有語法錯誤B) 2004C) 2000D) 2002-1-5 21) 下列4個表達式中,運算結果為數值型的是DA) ? ”9988”-”1255”B) ? 200+800=1000C) ? 2015/05/16-20D) ? LEN(SPACE(3)22) 設變量X=12345.678,現欲求變量X的整數位數,應使用表達式 CA) LEN(INT(X)B) LEN(STR(INT(X)C) LEN

9、(LTRIM(STR(X)D) LEN(ALLTRIM(INT(X)23) 將字符型數據轉換成日期型數據,使用的函數是CA) dtocB) strC) ctodD) val24) 2005/01/05+15是一個( C )A) 日期常量B) 數值常量C) 日期表達式D) 非法表達式25) 以下選項中,( A )是合法的字符型常量A) 123+E456B) 123C) 123.456D) 123*1026) 下面哪個不是給內存變量賦值的正確語句DA) x35 B) x=“35”C) x=int(3+5)D) x=val(“3+5”)27) 與其它三個關系運算符不等價的是DA) <>B

10、) #C) !=D) ><28) 建立一個表文件結構時,若該庫文件中有備注型字段,則保存時會(D ) A) 只創建一個表文件,擴展名為. dbfB) 在創建一個表文件同時還創建一個備注文件,擴展名為.CDXC) 在創建一個表文件同時還創建一個備注文件,擴展名為.txtD) 在創建一個表文件同時還創建一個備注文件,擴展名為.fpt 29) 要求數據表文件某數值型字段的整數是5位,小數是1位,該字段的寬度至少定義為(B ) A) 8位B) 7位C) 6位D) 5位 30) 一個表的全部備注字段的內容存儲在(D )中A) 同一數據表文件B) 不同表備注文件C) 同一文本文件D) 同一表備

11、注文件31) 下述命令中的哪一條不能關閉表( A)A) CLEARB) CLOSE DATABASEC) USED) CLEAR ALL32) 建立一個表文件結構,表中有編號字段(C型,6字節),出生年月字段(D型)和團員否字段(L型),則表中總的字段寬度是(C)A) 18B) 17C) 16D) 1533) 下列命令中,修改表文件結構的命令是(B )A) MODIFY FILEB) MODIFY STRUCTUREC) MODIFY COMMANDD) CREATE STRUCTURE34) 在Visual FoxPro 的表結構中,邏輯型,日期型和備注型字段的寬度分別為(A)A) 1,8,

12、4 B) 1,8,10 C) 3,8,10D) 3,8,任意35) 要顯示表中當前記錄的內容,可使用命令( B)A) LISTB) DISPLAYC) BROWSED) modify36) 用APPEND 命令插入一條記錄時,被插入的記錄在表中的位置是( A)A) 表最后面B) 表最前面C) 當前記錄之前D) 當前記錄之后37) 不能對記錄進行編輯修改的命令是( C)A) BROWSEB) CHANGEC) MODIFY STRUCTURED) EDIT38) Visual FoxPro表文件由兩部分組成,即(B )A) .DBF文件和.FPT文件B) 表結構和記錄數據C) .DBF文件和.B

13、AK文件D) PRG文件和.FXP文件39) XS.DBF是一個具有一個備注字段和一個通用字段的表文件,使用COPY TO PXS 命令進行復制操作,其結果為(B )A) 得到一個新表文件B) 得到一個新的表文件和一個新的表備注文件C) 得到一個新的表文件和一個新的表備注文件,以及一個新的表通用文件D) 得到一個新的表文件和兩個新的表備注文件40) 在Visual FoxPro系統中,”DBF”文件被稱為(B )A) 數據庫文件B) 表文件C) 程序文件D) 項目文件41) 如果要給當前表增加一個字段,應使用的命令是( B)A) APPENDB) MODIFY STRUCTUREC) INSE

14、RTD) EDIT42) 在表的備注字段中可以輸入的內容有( D)A)圖像 B)波形聲音 C)視頻剪輯 D)文字43) 當RECALL命令不帶任何范圍和條件時,表示(D )。A)恢復所有帶刪除標記的記錄B)恢復從當前記錄以后所有帶刪除標記的記錄C)恢復當前記錄開始下一條帶刪除標記的記錄D)恢復當前記錄44) 在已打開表文件的第3條記錄前插入一條記錄,可使用( B)命令。A)GO 3 B)GO 3 INSERT INSERT BEFOREC)GO 3 D)GO 4 INSERT BLANK INSERT BEFORE45) 下列敘述正確的是(C)A)只能打開一個數據庫 B)備注字段的數據保存在表

15、文件中C)可以使用多個工作區打開多個表 C)一個工作區可以同時打開多個表46) 已建立一個”學生”表Student.dbf,并輸入5名學生的記錄,用APPEND命令追加一條新記錄,這個新記錄的記錄號是(B ):A) 5 B) 6 C) 7 D) 447) 將邏輯真值賦給內存變量X的正確方法是(D)。A)X=True B)STORE “.T.” TO XC)X=T D)STORE .T. TO X48) 在下列函數中,函數值為數值的是( C )。A) BOF() B) CTOD('01/01/96')C) AT('人民','中華人民共和國') D)

16、 SUBSTR(DTOC(DATE(),7)49) 在Visual FoxPro的表文件中,每條記錄總長度比定義的所有字段寬度之和多一個字節,該字節用于( D )。A) 存放索引關鍵字 B) 存放記錄號C) 存放記錄寬度 D) 存放刪除標記50) 在命令窗口中,已打開學生表,要將記錄指針定位在第一個獎學金大于75元的記錄上,用命令( B )。 A) FIND FOR 獎學金>75 B) LOCATAE FOR獎學金>75 C) SEEK FOR 獎學金>75 D) LIST FOR 獎學金>7551) 現有以下命令:T=23400M=MOD(T,60) HH=INT(T

17、/60) H=MOD(HH,24) D=INT(HH/24) ? D,H,M執行上述命令后的結果為( C)。A)0 616 B)6 16 0C)16 6 0D)6 0 1652) 在Visual FoxPro中,Max(ROUND(9.26, 1),8)的值是(A )。A)9.3B)9C)1D)853) 命令序列A=8B=6? IIF(A<>B,8,6)的值是( B)。A)6B)8C).T.D)054) 在下列Visual FoxPro表達式中,結果為字符串的正確表達式是( A )。A)“1234”-”43” B)”ABCD”+“XYZ”=“ABCDXYZ”C)DTOC(DATE(

18、)>“09/24/09” D)DATE()55) Visual FoxPro中,打開表文件后,若要瀏覽表中的數據,可以執行(C)命令。A)CREATE B)MODIFY C)BROWSE D)SKIP56) 設當前已打開表文件X.DBF,執行命令COPY STRU TO Y的作用是( D)。A)僅將當前一條記錄拷貝到Y.DBF中B)將X.DBF的全部記錄拷貝到Y.DBF中C)將X.DBF和Y.DBF的內容連接后再存入Y.DBF中D)僅將表文件X.DBF的結構復制到新建立的Y.DBF文件中57) 表文件中有10條記錄,當前記錄號為3,執行命令LIST Next 4(回車)所顯示的記錄的序號

19、為( C)。A)47 B)58 C)36 D)31058) 設當前記錄號是10,執行命令SKIP -6后,當前記錄號變為(A)A)4 B)5 C)6 D)359) 已建立一個學生表Student.dbf,并輸入10名學生的記錄,當前記錄為5,用ZAP命令刪除記錄,刪除的記錄是(C):A) 第5條記錄 B)第510條記錄 C)全部記錄 D)沒有記錄刪除60) ? “化學” $ “北京語言文化學院”的運算結果是( A )。 A).T. B).F. C)9 D)561) 執行下面命令序列后,最后一條命令顯示的結果為( A)。USE 庫存表DISPDISPDISP NEXT 2? RECNO()A)2

20、 B)3 C)4 D)562) 表文件中有數學,英語,計算機和總分四個數值型字段,要將當前記錄的三科成績匯總后存入總分字段中,應使用命令( B)。A)TOTAL 數學+英語+計算機 TO 總分B)REPLACE 總分 WITH 數學+英語+計算機C)SUM 數學+英語+計算機 TO 總分D)REPLACE ALL 數學+英語+計算機 WITH 總分63) 在當前表中,查找第2個男同學的記錄,應使用命令( C )。A) locate for 性別=“男” next 2B) locate for 性別=“男”C)先執行locate for 性別=“男”,然后再執行 continueD) list

21、for 性別=“男” next 264) 設表TXL.DBF中有 20 條記錄。在VFP命令窗口中執行以下命令序列,最后顯示的結果是( D)。 USE TXL SKIP 3 COUNT TO N ? NA) 0 B) 3 C) 4 D) 2065) 下面哪個命令可以同時給多個變量賦值( C )。AINPUT B. ACCEPT C. STORE D. WAIT66) 表文件的表結構中有語文、物理、化學和總分字段,且都是數值型,要將所有學生的各門成績匯總后存入總分字段中,使用命令(C):A)REPLACE 總分WITH 語文+物理+化學B)REPLACE 總分WITH 語文,物理,化學C)REP

22、LACE ALL 總分WITH 語文+物理+化學 D)REPLACE ALL總分WITH 語文+物理+化學 FOR REST67) 在下列四個選項中,不屬于VFP邏輯運算符的是( D )。A. .AND. B. ! C. .OR. D. .XOR.關系中的屬性對應于二維表中的( B)。A. 記錄 B. 字段 C. 行 D. 范圍68) 已知當前表有80個記錄,當前記錄為第10號記錄。執行SKIP 3后當前記錄為第(C)號記錄。A. 7 B. 10 C. 13 D. 1569) 表學生.DBF中共有20個記錄,順序執行下面命令(C):SET DELETED OFFUSE 學生DELETECOUN

23、T TO AAPACKCOUNT TO AAZAPCOUNT TO AAUSE3次COUNT 得到的AA結果分別為:A)19,19,1 B)19,19,0 C)20,19,0 D)20,19,1970) 當EOF()函數的值為真時,記錄指針位于( B )。A. 表文件的頭 B. 表文件的尾 C. 最后一條記錄 D. 第一條記錄71) 在VFP中,最多可以有( C )個工作區。A. 10 B. 255 C. 32767 D. 任意72) 若想從字符串'計算中心'中取出'算'字,應用函數( C )。A. SUBSTR(“計算中心”,2,2) B. SUBSTR(“計

24、算中心”,2,1)C. SUBSTR(“計算中心”,3,2) D. SUBSTR(“計算中心”,5,2)73) 數據庫系統中的核心是( B)。A. 硬件系統 B. 數據庫集合 C. 數據庫管理系統 D. 數據庫管理者和用戶74) 下述命令中,不能顯示數據表記錄的命令是( D )。A. LIST B. DISP C. BROWSE D. MODI STRU75) 某數值型字段的寬度為9位,小數位數為3位,則該字段的最大值是(C )A) B)999 C)99999.999 D)99999.9976) 下列命令序列輸出結果為(C)。USE 工資表GO BOTTOM SKIP 1? EOF()A).T

25、. B)T C).F. D)F77) 設N=“213.4”,? 21+&N的結果是(B )A)21B)234.4C)213.4D)數據類型不匹配78) 執行下列命令序列AB=“熱烈慶祝建國60周年”? SUBSTR(AB,LEN(AB)/3-1,4)結果是( B)。A)建國 B)慶祝 C)周年 D)6079) 在Visual FoxPro中,要將一個數值型變量轉換為字符型變量,應使用的函數為(D)。A)INT() B)CTOD() C)VAL() D)STR()80) 計算結果不是字符串”Teacher”的語句是( A)。A)at("ch","MyTeac

26、her") B)substr("MyTeacher",3,7 )C)left("Teacher",7 ) D)right("MyTeacher",7 )自主學習項目報告(一)項目名稱項目類別自主學時(小時)完成項目日期教師評價VFP基礎知識基礎練習理論一、 討論學習內容提綱1、VFP提供的數據類型2、VFP表達式和運算符3、自由表與數據庫表的區別4、表操作常用命令 5、VFP常用函數二、討論學習中出現的問題或體會三、討論學習內容知識點歸納及舉例說明(可粘貼附頁)要求:1、歸納VFP的運算符種類2、簡述自由表與數據庫表的區別

27、3、歸納表的基本操作命令,描述命令基本格式,并舉例說明命令功能4、歸納VFP常用函數,描述函數基本格式,并舉例說明函數功能第一題1.算數運算符(舉例結果為.t.)() 分組優先運算符 例子:(3+2)*2=10*、 乘方運算符 例子:32=9*、/ 乘除運算符 例子:2*3=6 9/3=3% 求余運算符 例子:5%2=1+、- 加減或單目運算符 例子:2+3=5 8-4=4運算符的優先級依次為括號、單目運算、乘冪、乘除、求余、加減。2.字符運算符+ 字符串連接符,功能:將運算符2邊的字符串連接起來,形成一個新字符串。例子:”ab”+”cd”=”abcd”- 串尾空格移位連接符,功能:將2個字符

28、連接時,把第一個字符串的尾部空格(若存在)移到后面字符串的尾部。例子” abc ” -”de”=”abcde ”3.關系運算符(舉例結果為.t.)< 小于 例子:3<5 > 大于 例子:5>4= 等于 例子:”asdf”=”asd”= 相等比較 例子:”abcd”=”abcd”<= 小于等于 例子:4<=5>= 大于等于 例子:7>=7<>、#、!= 不等于 例子:2+3<>3+3$ 包含運算 ”ab”$”abcde”4.邏輯運算(按優先級順序排列).NOT.或NOT或! 邏輯非 例子:.NOT.T.=.F.AND.或AN

29、D 邏輯與 例子:A=.T. B=.F.,A .AND. B=.F.OR.或OR 邏輯或 例子:A=.T. B=.F.,A .OR. B=.T.第二題歸屬于某個數據庫的表稱為數據庫表。獨立存在、不與任何數據庫相關聯的表稱為自由表。兩種表可以相互轉化的。區別:數據庫表對于自由表來說具有更加強大的功能以及擁有自由表所沒有的許多特性:長文件名、字段驗證等。所以大多數應用需要建立數據庫,并創建新表或添加自由表到數據庫中,即成為數據庫表。1.數據庫表可以使用長字段名(最多可達到128個字符),而自由表最多只能達到10個字符。2.數據庫表可以指定標題和添加注釋,可以指定規則、提示信息、默認值和輸入掩碼。

30、而自由表沒有以上設置。3. 數據庫表可以建立主索引。而自由表不能建立主索引。第三題(1)<范圍>子句用以確定顯示的記錄(即表中的行) RECORD n 顯示第n條單條記錄 NEXT n 顯示當前記錄開始的共n條連續記錄 REST 顯示當前記錄開始到表文件尾的所有記錄 ALL 顯示所有記錄(可省略)(2) FIELDS<字段名表>用以確定顯示的字段(即表中的列)若省略“FIELDS<字段名表>”子句,則表示對所有字段進行操作。(3)1.打開表文件USE<文件名>打開指定的表文件,記錄指針指向第一條記錄,表中若有備注字段,相關的備注文件自動打開(.F

31、PT)例:USE 學生成績記錄表2.關閉表文件USE關閉當前工作區表文件CLOSE TABELS關閉所有打開的表文件3.記錄指針定位 絕對移動GO/GOTORECORD<記錄號>GO/GOTO TOP 頂GO/GOTO BOTTOM 底 相對移動SKIP<±n>正整數往文件尾,負整數往文件頭例;GOTO 3 SKIP 3 ?RECNO()6(4)顯示、瀏覽表文件顯示命令格式:LIST<范圍>FIELDS<字段名表>FOR<條件>WHILE<條件>例:LIST RECO 4顯示第4條記錄瀏覽命令格式:DISPLAY

32、<范圍>FIELDS<字段名表>FOR<條件>WHILE<條件>當省略 “<范圍>”時,LIST命令顯示所有記錄;DISP命令則顯示當前記錄(5)追加與修改記錄APPEND BLANK例:向當前數據表尾部追加記錄。 APPEND(6)插入記錄(默認在當前記錄的后面插入記錄)INSERT BLANKBEFORE例:在當前記錄后插入一條空記錄。INSERT BLANK(7)記錄刪除1邏輯刪除給記錄添加一個刪除標記,可恢復DELETE <范圍>FOR 條件 例:GO 7DELE 結果:邏輯刪除第7條記錄2物理刪除從表中徹底刪除,

33、不可恢復 PACK (物理刪除被邏輯刪除的記錄)  ZAP (無條件刪除)例:刪除“職工編號”空白的記錄。DELETE ALL FOR 職工編號=""PACK(8)記錄的尋位定位LOCATE <范圍> FOR <表達式1> 繼續查找命令:CONTINUE例子:在當前的表中查找姓“張”的記錄。LOCATE FOR 姓名="張"(9)表文件復制COPY TO <文件名> <范圍>FIELDS <字段名表>FOR <條件>WHILE<條件>例子:把當前表中“

34、應發合計”大于1000元的記錄復制到新數據表GZ2中。COPY TO A:GZ2 FOR 應發合計>1000(10)從文件中追加記錄APPEND FROM <文件名> FOR <條件>FIELDS<字段名表>例子:把GZ1表中“應發合計”大于1000的記錄復制到當前的表后面。APPEND FROM GZ1 FOR 應發合計>1000(11)記錄修改用REPLACE命令修改REPLACE <范圍> <字段名1> WITH <表達式>,<字段名2>WITH<表達式2>FOR <條件&g

35、t;例子:計算各記錄“應發合計”字段的值。REPLACE ALL 應發合計 WITH 職務工資+崗位津貼+保留獎金+保留津貼第四題一、數值和數學函數 1取整函數INT(<數值表達式> ) 【功能】該函數取指定數值表達式計算機結果的整數部分例:?INT(22.4+10) 322四舍五入函數 ROUND(<數值表達式1>,<數值表達式2>) 【功能】該函數根據要求保留小數位數。 例:? ROUND(123.456,0)1233. 求余數函數MOD(<數值表達式1>,<數值表達式2>) 【功能】返回<數值表達式1>除以<數

36、值表達式2>的余數。如<數值表達式2>為正,則函數值為正,否則為負。例:?MOD(6*6,10)64. 最大值,最小值函數 MAX/ MIN (<表達式1>,< 表達式2>,< 表達式3>.) 【功能】返回數值表達式中的最大值或最小值。例:?MAX(1,2,3)35. 絕對值函數ABS(<數值表達式>)【功能】返回<數值表達式>的絕對值。 例:?ABS(-21.4) 21.46.平方根函數SQRT(<數值表達式>) 【功能】該函數返回<數值表達式>的算數平方根。例:?SQRT(9) 37. 指

37、數函數EXP(<數值表達式>) 【功能】該函數返回以e為底的指數值,<數值表達式>為e的指數部分。例:?EXP(1) 2.728. 隨機函數RAND(<數值表達式>)【功能】函數隨機返回一個01.0之間的隨機數。例:產生a-b之間的隨機整數?RAND((b-a)*RAND()+a,0)二字符處理函數1.取消前后空格函數ALLTRIM(<字符表達式>)【功能】該函數取消<字符表達式>中的前后空格例:?ALLTRIM( 123 ) 1232.刪除字符串前導空格函數 LTRIM(<字符表達式>)【功能】用于截去<字符表達式

38、>中左邊空格。例:?”abc”+LTRIM(” de”) abcde3. 刪除字符串尾部空格函數RTRIM(<字符表達式>)/TRIM(<字符表達式>) 【功能】刪除字符串尾部的空格。例:STORE ”計算機 ” TO z ?TRIM(z)+”基礎”計算機基礎4.取左子串函數 LEFT(<字符表達式>,<數值表達式>) 【功能】截取<字符表達式>最左邊的<數值表達式>個字符為一個子字符串。 例:?LEFT(“ABCDE”,2) AB5取右子串函數RIGHT(<字符表達式>,<數值表達式>) 【

39、功能】截取<字符表達式>最右邊的<數值表達式>個字符為一個子字符串。例:?LEFT(“ABCDE”,2) DE6取子串函數 SUBSTR (<字符表達式>,<數值表達式1> ,<數值表達式2> ) 【功能】這里<數值表達式1>指定取子字符的起始位置,<數值表達式2>指定取字符的個數。例:?SUBSTR(“浙江寧波”,3,2) 江7. 字符串長度函數 LEN(<字符表達式>) 【功能】返回<字符表達式>的長度。輸出值的類型為數值型。例: ?LEN(“HELLO”) 58空格函數 SPACE

40、 (<數值表達式>) 【功能】輸出一個<數值表達式>的值為空格數的若干空格。輸出值的類型為字符型。例:?”浙江”+SPACE(2+2)+”寧波” 浙江 寧波9字符串替換函數 STUFF(<字符表達式1>,<數值表達式1>,<數值表達式2>,<字符表達式2>) 【功能】可用 <字符表達式2>修改<字符表達式1>中任一部分。其中<數值表達式1>指定修改起始位置,<數值表達式2>則為要修改的字符的個數。例;?STUFF(“浙江省寧波”,5,2,” ”) 浙江寧波三日期時間函數1.系

41、統時間函數 TIME() 【功能】該函數以24小時,8個字符串格式(hh:mm:ss)時、分、秒返回當前系統時間。例:?TIME 13:20:302日期函數 DATE() 【功能】該函數返回當前系統日期。例:SET CENTURY ON?DATE ()12/05/20163.日期時間函數 DATETIME()【功能】該函數返回當前系統日期時間。例:?DATETIME()16/05/12 13:20:304.求年份函數 YEAR(<日期表達式/日期時間表達式>)【功能】該函數返回<日期表達式>或<日期時間表達式>的年份的值。輸出值的類型為數值型。例:?YEAR

42、2016/05/12 20165.求月份函數 MONTH/CMONTH(<日期表達式/日期時間表達式>)【功能】該函數返回<日期表達式>或<日期時間表達式>的月份值。輸出值的類型為數值型。例:?MONTH2016/05/12 056.求日期函數 DAY(<日期表達式/日期時間表達式>)【功能】該函數返回<日期表達式>或<日期時間表達式>的日期的數值。輸出值的類型為數值型。例:?DAY2016/05/12 127.求時、分、秒函數HOUR(<日期時間表達式>)MINUTE(<日期時間表達式>)SEC(

43、<日期時間表達式>)【功能】這三個函數分別返回<日期時間表達式>的時、分、秒值。輸出值的類型為數值型。例:?HUR(DATETIME() 21四轉換函數1.字母小寫轉大寫函數 UPPER (<字符表達式>) 【功能】該函數將<字符表達式>中所有小寫字母轉換成大寫字母。輸出值的類型為字符型。例:?UPPER(“go”) GO2字母大寫轉小寫函數 LOWER(<字符表達式>) 【功能】該函數將<字符表達式>中所有大寫字母轉換成小寫字母。輸出值的類型為字符型。例:?LOWER(“Zhe Jiang”) zhe jiang 3字符

44、日期型轉換函數CTOD(<字符表達式> ) 【功能】該函數把字符型數據轉換為日期型數據。輸出值的類型為日期型。例:?CTOD(“3/26/16”)+10 04/07/16 4日期字符型轉換函數DTOC(<日期表達式>, 1) 【功能】該函數把日期型數據轉換為字符型數據。輸出值的類型為字符型。例:?DOTC(DATE() 16/05/125. 字符轉換ASCII碼函數 ASC (<字符表達式>) 【功能】該函數返回<字符表達式>中首字母的ASCII碼字符。輸出值的類型為數值型例:?ASC(“BOY”) 666ASCII碼轉換字符型函數CHR(<

45、;數值表達式>) 【功能】該函數把<數值表達式>的值轉換為相應的ASCII碼字符。輸出值的類型為字符型。例:?CHR(97) a7. 數值字符型轉換函數 STR(<數值表達式1>,<數值表達式2> ,<數值表達式3>) 【功能】將<數值表達式1>轉換為字符型數據, <數值表達式2>是轉換的長度,<數值表達式3>指定小數位數。輸出值的類型為字符型。例:?STR(234.56,6,1) 234.68字符數值型轉換函數 VAL (<字符表達式>) 【功能】該函數將字符型數據轉換為數值型數據。輸出值的

46、類型為數值型。例:?VAL(“a123”) 0.00五字段處理函數1.字段數函數FCOUNT(<工作區號>/<別名>)【功能】該函數返回指定工作區中打開表的字段數。輸出值的類型為數值型。例:? FCOUNT(“XSCJ) 4打開的表文件中有4個字段2.字段名函數FIELD(<數值表達式>,<工作區號>/<別名>)【功能】該函數返回指定工作區中第<數值表達式>個字段的名字。輸出值的類型為字符型。例:? FIELD (2,2) 姓名2號工作區中打開表文件的第二個字段的字段名為“姓名”3.字段長度函數FSIZE(<字段名&

47、gt;<工作區號>/<別名>)【功能】該函數返回指定工作區中指定字段的大小。輸出值的類型為數值型。六記錄處理函數1表起始標識測試函數 BOF (<工作區號> | <別名>) 【功能】測試表文件開始狀態,并返回一個邏輯值。輸出值的類型為邏輯型。例:?BOF() .T.2表結束標志測試函數EOF(<工作區號> | <別名>) 【功能】該函數用來測試表文件結束狀態,如果記錄指針指向變文件最后一天記錄之后,函數返回.T.,否則為.F. 。輸出值的類型為邏輯型。例:GO BOTTOM ?EOF() .F.3記錄數函數 RECCOUN

48、T (<工作區號> | <別名>) 【功能】返回指定工作區中表文件記錄總數(包括已作刪除標記的記錄)。如果工作區中沒有打開表則返回0。輸出值的類型為數值型。例:? RECCOUNT() 94當前記錄號函數RECNO(<工作區號> | <別名>) 【功能】返回指定表中當前記錄號。輸出值的類型為數值型。例:GO TOP?RECNO()15記錄大小測試函數 RECSIZE( <工作區號> | <別名> ) 【功能】返回指定工作區中表文件記錄長度。輸出值的類型為數值型。6.記錄邏輯刪除標志測試函數 DELETED(<工作區號

49、> | <別名>) 【功能】若當前記錄已作刪除標記,該函數返回.T.,否則返回.F.。輸出值的類型為邏輯型。討論二 結構化程序的三種基本控制結構1.討論準備:根據討論的目的和討論內容的要求,設計結構化程序設計題庫并在討論課前發給學生進行小組研究學習,各小組由學生小組長負責記錄成員分工,編程討論學習情況等。2.討論目的:使學生理解結構化程序設計的三種基本控制結構順序、選擇和循環結構,通過大量結構化程序設計練習熟悉三大基本結構的特征及基本編程方法。通過編寫程序代碼及程序調試,驗證程序的正確性及程序算法優劣,訓練分析問題解決問題能力。3.討論內容:(1)實現選擇結構的語句中,ife

50、ndif語句、do caseendcase語句的區別,并通過實例說明;(2)多分支選擇結構用ifendif語句嵌套實現與用do caseendcase語句實現的區別,并通過實例說明;(3)實現循環結構的語句中,do whileenddo語句、for語句和scanendscan語句的區別及其應用范圍,并通過實例說明;(4)結構化程序設計編程實現。5.討論要求 結構化程序設計題主要以填空或改錯、編程形式練習,在閱讀程序的基礎上理解程序算法。各小組協作完成練習并完成個人自主學習報告和小組活動記錄報告。要求:(1) 個人自主學習報告中記錄編寫的程序代碼和調試情況,針對每道結構化程序設計題,同學可以按自

51、己的算法編寫代碼。(2) 小組活動記錄報告由各小組組長記錄任務分工及討論情況。并對成員參加討論情況評分。第1題要求:1、給定一個年份(從鍵盤輸入數值型數據),判斷它是否閏年。2、閏年的條件是:能被4整除但不能被100整除,或能被100整除且能被400整除。注意:程序中的錯誤行位于“*”行下,不能添加或刪除程序行。SET TALK OFFCLEAR*1*ACCEPT "Y=" TO Y*2*IF (Y%4 AND Y!%100) AND (Y%100 AND Y!%400) ? Y,"是閏年!"ELSE ? Y,"不是閏年!"ENDIF

52、SET TALK ON第2題已知:學生表結構為:學號,姓名,性別,出生年月,簡歷,獎學金,照片要求:顯示“學生”表中的全部字段名注意:程序中的錯誤行位于“*”行下,不能添加或刪除程序行。SET TALK OFFCLEARUSE 學生*1*FOR N = 1 TO RECCOUNT() *2* FOUND(N) ENDFORUSESET TALK ON第3題要求:從鍵盤輸入一個數值(09),要求輸出其對應的中文大寫數字(零玖)。注意:僅在標記"&&"之前填寫所缺代碼,不能添加或刪除程序。SET TALK OFFCLEARC="零壹貳叁肆伍陸柒捌玖&q

53、uot;*1*ACCEPT "N=" TO N*2*? N,"->"+ STR(C,2*N-1,2)SET TALK ON第4題輸出給定的正實數值表達式的值中組成數碼的最大數碼和最小數碼(如,數值2345.105中最大數碼為5,而最小數碼為0。注意:僅在標記“&&”之前填寫所缺代碼,不能添加或刪除程序。SET TALK OFFCLEARINPUT "M=" TO MN=MDO WHILE &&_ 1N=N*10ENDDOSTORE &&_ 2 &&_ 3R= &&_ 4IF R>DD=RENDI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論