<style id="uedzd"></style>
  • <style id="uedzd"></style>
  • <dfn id="uedzd"></dfn>
  • <dfn id="uedzd"></dfn>
    1. <ruby id="uedzd"></ruby>
      <ruby id="uedzd"></ruby>
    2. 課程習題
      您當前的位置: 首頁>課程習題

      結構化程序設計

      發(fā)布時間: 2019-01-27      信息來源:       閱讀次數(shù):

      結構化程序設計

      、選擇題

      1. WAIT命令用于讓用戶輸入一個______。

      A)數(shù)字B)字符C)字符串D)以上都是

      2. 在交互式輸入命令中,可以接受邏輯型數(shù)據(jù)的命令包括______。

      A)INPUT和ACCEPTB)WAIT和INPUT

      C)INPUT和@…GETD)INPUT和@…SAY

      3. 執(zhí)行命令 ACCEPT"請輸入數(shù)據(jù): "TO XYZ 時,可以通過鍵盤輸入的內(nèi)容包括______。

      A)字符串B)數(shù)值和字符串

      C)數(shù)值,字符串和邏輯值D)數(shù)值,字符串,邏輯值和表達式

      4. 執(zhí)行命令INPUT"請輸入數(shù)據(jù): "TO AAA時,如果要通過鍵盤輸入字符串,應當使用的定界符包括______。

      A)單引號B)單引號或雙引號

      C)單引號、雙引號或方括弧D)單引號、雙引號、方括弧或圓點

      5. 在VFP中,可以通過鍵盤接受數(shù)值的命令有_______。

      A)ACCEPTB)ACCEPT和WAIT

      C)INPUT和ACCEPTD)INPUT和 @ 5,10 SAY...GET..

      6. 比較WAIT、ACCEPT和INPUT三條命令,需要以回車鍵表示輸入結束的命令是_____。

      A)WAIT、ACCEPT、INPUTB)WAIT、ACCEPT

      C)ACCEPT、INPUTD)INPUT、WAIT

      7. 以下關于ACCEPT命令的說明,正確的是______。

      A)將輸入作為字符接收B)將輸入作為數(shù)值接收

      C)將輸入作為邏輯型數(shù)據(jù)接收D)將輸入作為備注型接收

      8. 結構化程序設計所規(guī)定的三種基本控制結構是_______。

      A)輸入,處理,輸出B)樹型,網(wǎng)型,環(huán)型

      C)順序,選擇,循環(huán)D)主程序,子程序,函數(shù)

      9. 能將高級語言編寫的源程序轉換成目標程序的是_______。

      A)編程程序B)編譯程序C)解釋程序D)鏈接程序

      10. VFP中的DO CASE-ENDCASE語句屬于_______。

      A)順序結構B)選擇結構C)循環(huán)結構D)模塊結構

      11. 當前數(shù)據(jù)庫中有五個字段:學號(C,4)、姓名(C,6)、政治(N,3.0)、英語(N,3.0)、數(shù)學(N,3.0),記錄指針指向一個非空的記錄。要使用SCATTER TO X命令把當前記錄的字段值存到數(shù)組X中,數(shù)組X ______。

      A)不必事先定義

      B)必須用DIMENSION X 事先定義

      C)必須用DIMENSION X(5)事先定義

      D)必須用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定義

      12. 要判斷數(shù)值型變量Y是否能夠被7整除,錯誤的條件表達式為______。

      A)MOD(Y,7)=0B)INT(Y/7)=Y/7

      C)0=MOD(Y,7)D)INT(Y/7)=MOD(Y,7)

      13. 在VFP中,命令文件的擴展名是______。

      A)TXTB)PRGC)DBTD)FMT

      14. 以下有關VFP中過程文件的敘述,其中正確的是______。

      A)先用SET PROCEDURE TO命令關閉原來已打開的過程文件,然后用DO <過程名>執(zhí)行

      B)可直接用DO <過程名>執(zhí)行

      C)先用SET PROCEDURE TO<過程文件名>命令打開過程文件,然后用USE<過程名>執(zhí)行

      D)先用SET PROCEDURE TO <過程文件名>命令打開過程文件,然后用DO <過程名>執(zhí)行

      15. 執(zhí)行 SET DEVICE TO PRINT命令之后,能在打印機上實現(xiàn)輸出的命令是______。

      A)?姓名B)@ 10,10 SAY 姓名

      C)LIST 姓名D)@ 10,10 GET 姓名

      16. 一個過程文件最多可以包含128個過程,每個過程的第一條語句是______。

      A)PARAMETERB)DO <過程名>C) <過程名>D)PROCEDURE <過程名>

      17. 在下列命令組合中,不能配對使用的是______。

      A)@ PROMPT 和 MENU TOB)DO WITH和 PARAMETERS

      C)IF和 ENDIFD)DO CASE和 ENDDO

      18. 在VFP中,用于建立或修改過程文件的命令是_______。

      A)MODIFY <文件名>B)MODIFY COMMAND <文件名>

      C)MODIFY PROCEDURE <文件名>D)CREATE COMMAND <文件名>

      19. 在VFP中,可以在同種類型的數(shù)據(jù)之間進行“-”(減號)運算的數(shù)據(jù)類型是______。

      A)數(shù)值型、字符型、邏輯型B)數(shù)值型、字符型、日期型

      C)數(shù)值型、日期型、邏輯型D)邏輯型、字符型、日期型

      20. 要在屏幕的第二行第二列開始顯示姓名(C,8),存款數(shù)額(N,6,2)和存入日期(D)三個字段的值,應該使用命令______。

      A)@ 2,2 SAY 姓名,存款數(shù)額,存入日期

      B)@ 2,2 SAY 姓名+存款數(shù)額+存入日期

      C)@ 2,2 SAY 姓名+STR(存款數(shù)額,6,2)+DTOC(存入日期)

      D)@ 2,2 SAY 姓名+STR(存款數(shù)額,6,2)+CTOD(存入日期)

      21. 在DO WHILE/ENDDO循環(huán)中,若循環(huán)條件設置為.T.,則下列說法中正確的是______。

      A)程序無法跳出循環(huán)B)程序不會出現(xiàn)死循環(huán)

      C)用EXIT可以跳出循環(huán)D)用LOOP可以跳出循環(huán)

      22. 用戶自定義函數(shù)或過程中接受參數(shù),應使用______命令。

      A) PROCEDUREB) FUNCTIONC)WHILED)PARAMETERS

      23. 用戶自定義函數(shù)或過程可以定義在______。

      A)獨立的程序文件B)對象的事件代碼、方法代碼中

      C)數(shù)據(jù)庫的存儲過程中D)過程文件

      24. 在命令窗口賦值的變量默認的作用域是______。

      A)全局B)局部C)私有D)不一定

      25. 使用命令DECLARE mm(2,3)定義的數(shù)組,包含的數(shù)組元素(下標變量)的個數(shù)為______。

      A)2個B)3個C)5個D)6個

      26. 下列______語句可以將變量A、B的值互換。

      A)A=BB)A= (A+B)/2C)A=A+BD)A=C

      B=A B= (A-B)/2 B=A-B C=B

      A=A-B B=C

      27. 結構化程序設計的三種基本邏輯結構是______。

      A)選擇結構、循環(huán)結構和嵌套結構

      B)順序結構、選擇結構和循環(huán)結構

      C)選擇結構、循環(huán)結構和模塊結構

      D)順序結構、遞歸結構和循環(huán)結構

      28. 如果一個過程不包含RETURN語句,或RETURN語句中沒有指定表達式,那么該過程_____。

      A)沒有返回值B)返回0C)返回.T.D)返回.F.

      29. 作為整個應用程序入口點的主程序至少應具有以下功能_____。

      A)初始化環(huán)境

      B)初始化環(huán)境、顯示初始的用戶界面、控制事件循環(huán),退出時恢復環(huán)境

      C)初始化環(huán)境、顯示初始用戶界面

      D)初始化環(huán)境、顯示初始用戶界面、控制事件循環(huán)

      30. 下面關于過程調(diào)用的陳述中,______是正確的。

      A)實參與形參的數(shù)量必須相等

      B)當實參的數(shù)量多于形參的數(shù)量時,出現(xiàn)運行時錯誤。

      C)當形參的數(shù)量多于實參的數(shù)量時,多余的實參為邏輯假

      D)上面B和C都對

      31. 將內(nèi)存變量定義為全局變量的Visual FoxPro命令是______。

      A)LOCALB)PRIVATEC)PUBLICD)GLOBAL

      32. 下列說法中正確的是______。

      A)若函數(shù)不帶參數(shù),則調(diào)用時函數(shù)名后面的圓括號可以省略

      B)函數(shù)若有多個參數(shù),則參數(shù)名間應用空格隔開

      C)調(diào)用函數(shù)時,參數(shù)的類型、個數(shù)和順序不一定要一致

      D)調(diào)用函數(shù)時,函數(shù)名后的圓括號不論有無參數(shù)都不能省略

      33. 在VFP中,已經(jīng)建立了一個過程文件ABC.PRG,打開此過程文件的命令是______。

      A) OPEN PROCEDURE TO ABCB) DO PROCEDURE ABC

      C) SET PROCEDURE TO ABCD) RUN PROCEDURE ABC

      34. 順序鍵入以下命令:

      STORE "21.47" TO A

      B=INT(&A+4)

      ? B

      屏幕上顯示的結果為______。

      A)24B)25C)25.47D)21.474

      35. 設數(shù)據(jù)庫文件STD.DBF中包含8個字段,并有以下命令序列:

      DIMENSION DATA(10)

      USE STD

      SCATTER TO DATA

      ? DATA(10)

      執(zhí)行以上命令序列后,屏幕顯示的結果是______。

      A)空B).T.C).F.D)0

      36. 有以下命令序列:

      STORE 123.456 TO A

      STORE STR(A+A,5) TO B

      ? LEN(B),B

      執(zhí)行以上命令序列,最后一條命令顯示的結果是______。

      A)3 123B)3 264C)5 246D)5 247

      37. 給出以下程序的運行結果:

      SET TALK OFF

      X=0

      Y=0

      DO WHILE X<100

      X=X+1

      IF INT(X/2)=X/2

      LOOP

      ELSE

      Y=Y+X

      ENDIF

      ENDDO

      ? "Y=",Y

      RETURN

      運行結果為______。

      A) Y=500B) Y=1500C) Y=2000D) Y=2500

      38. 有如下兩個程序段:

      *****程序段 1**********程序段 2*****

      USE CLASSUSE CLASS

      LOCATE FOR 政治面目="團員"LOCATE FOR 政治面目="團員"

      DO WHILE FOUND()DO WHILE政治面目="團員"

      DISPLAYDISPLAY

      CONTINUESKIP

      ENDDOENDDO

      若在完全相同的環(huán)境下分別執(zhí)行上面的兩個程序段,則______。

      A)程序段2輸出的記錄不可能比程序段1輸出的記錄多

      B)程序段1輸出的記錄不可能比程序段2輸出的記錄多

      C)程序段1和程序段2輸出的記錄一樣多

      D)無法判定

      39. 在使用@命令進行格式化輸入時,為了保證只輸入字母,應該在PICTURE短語中使用模式符______。

      A)AB)XC)ND)Z

      40. 有如下程序段:

      DO CASE

      CASE X>100

      ?? "1"

      CASE X>200

      ?? "2"

      OTHERWISE

      ?? "3"

      ENDCASE

      若在X=300的情況下執(zhí)行這個程序段,屏幕上將顯示______。

      A)1B)2C)12D)3

      41. 有如下命令序列:

      X="A"

      Y=X

      A="黃河長江"

      X+&X-Y-&Y

      執(zhí)行以上命令序列后,屏幕顯示表達式X+&X-Y-&Y的結果是______。

      A)黃河長江B)A黃河長江A黃河長江

      C)A黃河長江AD)A黃河長江黃河長江

      42. 有如下命令序列:

      SET DELETED ON

      USE ABC

      GO 3

      DELETE NEXT 2

      GO 4

      RECALL

      USE

      執(zhí)行最后一條RECALL命令時,去掉刪除標記的記錄個數(shù)是______。

      A)0B)1C)2D)3

      43. 已知proc.prg程序清單如下:proc_1.prg程序清單如下:

      SET TALK OFFPARAMETERS a,b

      n=20 b=a*b

      t=1 IF a<=2

      DO proc_1 WITH n,t RETURN

      ?t ENDIF

      SET TALK ON DO proc_1 WITH a-2,b

      RETURN RETURN

      程序proc.prg的功能是______。

      A)輸出20以內(nèi)偶數(shù)的乘積B)輸出20以內(nèi)奇數(shù)的乘積

      C)輸出結果為1D)輸出結果為0

      44. 有如下命令序列:

      SELECT 1

      USE F1

      SELECT 2

      USE F2

      SELECT 1

      SET RELATION TO RECNO()-2 INTO B

      GOTO 5

      ?RECNO(2)

      最后一條命令的輸出結果是______。

      A)5B)4C)3D)1

      45. 清除屏幕從10行,17列到14行,52列的正確語句是______。

      A)@10,17 TO CLEAR 14,52B)@10,17 CLEAR 14,52

      C)@10,17 TO 14,52 CLEARD)CLEAR FROM @10,17 TO 14,52

      46. 有如下命令序列

      SELECT 1

      USE FILE1

      SELECT 2

      USE FILE2

      SELECT 3

      USE FILE 3

      執(zhí)行以上命令序列后,要想向FILE2.DBF中追加記錄,同時保持數(shù)據(jù)庫打開的狀態(tài)不變,應當使用命令______。

      A) USE FILE2B) GO FILE2C) SELECT 2D) SELECT 4

      APPEND APPEND APPEND USE FILE2

      APPEND

      47. 有如下命令

      DISPLAY 姓名,出生日期 FOR 性別="女"

      執(zhí)行這個命令后,屏幕顯示的是所有性別字段值為“女”的記錄,這時文件指針_____。

      A)指向最后一個性別為"女"的記錄

      B)指向最后一個性別為"女"的記錄的下一個記錄

      C)指向文件尾

      D)狀態(tài)視庫文件中數(shù)據(jù)記錄的實際情況而定

      48. 有如下命令序列

      CLEAR MEMORY

      DIMENSION ARRAY(10)

      LIST MEMORY

      最后一條命令顯示定義的內(nèi)存變量的數(shù)是______。

      A)10B)1C)0D)11

      49. 在命令文件中,調(diào)用另一個命令文件用命令______。

      A) CALL <命令文件名>B) LOAD <命令文件名>

      C) PROCEDURE <命令文件名>D) DO <命令文件名>

      50. 執(zhí)行下列語句序列

      A=2200

      DO CASE

      CASE A<1000

      B=5/100

      CASE A>1000

      B=10/100

      CASE A>2000

      B=15/1000

      CASE A>3000

      B=20/100

      ENDCASE

      變量B的值是______。

      A)0.05B)0.10C)0.15D)0.20

      51. 有以下程序段:

      DO CASE

      CASE 計算機<60

      ? "計算機成績是: "+"不及格"

      CASE 計算機>=60

      ? "計算機成績是: "+"及格"

      CASE 計算機>=70

      ? "計算機成績是: "+"中"

      CASE 計算機>=80

      ?″計算機成績是:″+″良″

      CASE 計算機>=90

      ? "計算機成績是: "+"優(yōu)"

      ENDCASE

      設學生數(shù)據(jù)庫當前記錄的“計算機”字段的值是89,執(zhí)行上面程序段之后,屏幕輸出______。

      A)計算機成績是:不及格B)計算機成績是:及格

      C)計算機成績是:良D)計算機成績是:優(yōu)

      52. 執(zhí)行以下命令序列:

      USE ZGGZ

      SUM 工資 FOR 工資>=500 TO QWE

      COPY TO QAZ FIELDS 職工號,姓名 FOR 工資>=500

      USE QAZ

      NUM=RECCOUNT()

      AVER=QWE/NUM

      ? AVER

      最后顯示的值是______。

      A)所有工資在500元以上的職工人數(shù)

      B)所有工資在500元以上的職工平均工資數(shù)

      C)所有職工的平均工資數(shù)

      D)出錯

      53. 有以下程序段:

      @5,10 SAY "請輸入1─4" GET ANS

      READ

      CX="PG"+ANS+".PRG"

      DO &CX

      其功能是根據(jù)用戶輸入的數(shù)字,轉去執(zhí)行子程序PG1、PG2、PG3、PG4之一。但該程序段有一個明顯的錯誤,為此應當做以下修改______。

      A)增加STORE " " TO ANS 作為第一條命令

      B)把@ 5,10 SAY "請輸入1─4" TO ANS 命令改為 ACCEPT " 請輸入1─4" TO ANS

      C)把 CX="PG"+ANS+".PRG" 命令中的"+".PRG" 部分去掉

      D)把DO &CX 命令的&去掉

      54. 執(zhí)行如下程序

      SET TALK OFF

      S=0

      I=1

      INPUT "N=?" TO N

      DO WHILE S<=N

      S=S+I

      I=I+1

      ENDDO

      ? S

      SET TALK ON

      如果輸入N值為5,則最后S的顯示值是______。

      A)1B)3C)5D)6

      55. 某程序中有如下程序段:

      STORE "" TO PT

      @ 5,10 SAY "是否開始打印?(Y/N):"

      @ 3,10 GET PT VALID PT $"YN" PICTURE"!"

      READ

      IF PT="Y"

      DO PT.PRG && 打印 ENDIF 如果希望程序執(zhí)行后能夠實現(xiàn)打印輸出,則對于程序的提問______。

      A)只能輸入 YB)只能輸入yC)輸入Y或yD)可以直接敲回車鍵

      56. 執(zhí)行如下程序:

      STORE "" TO ANS

      DO WHILE .T.

      CLEAR

      @ 3,10 SAY "1.添加2.刪除 3.修改 4.退出"

      @ 5,15 SAY "請輸入選擇:" GET ANS

      READ

      IF TYPE("ANS")="C".AND.VAL(ANS)<=3.AND.VAL(ANS)<>0

      PROG= "PROG" +ANS+ ".PRG" DO & PROG

      ENDIF

      QUIT

      ENDDO

      如果在"請輸入選擇:"時,鍵入4,則系統(tǒng)______。

      A)調(diào)用子程序PROG4.PRGB)調(diào)用子程序&PROG.PRG

      C)返回FOXBASE提示狀態(tài)D)返回操作系統(tǒng)狀態(tài)

      以下57~62題的操作均基于下面條件:

      已建立學生數(shù)據(jù)庫STD.DBF,數(shù)據(jù)庫結構為:學號(C,6),姓名(C,8),性別(C,2),出生日期(D),平均成績(N,6,2)。用LIST命令顯示記錄如下:

      記錄號#學號姓名性別出生日期平均成績

      1021501劉淑敏10/05/8488.2

      2021502楊立宏03/12/8570.6

      3021503馬燕09/23/8467.2

      4021504趙雅潔12/10/8480.8

      5021505王力軍11/21/8490.5

      57. 依次執(zhí)行以下命令:

      USE STD

      姓名="鄭小洋"

      SKIP 2

      ? "姓名是: "+姓名

      最后一條命令的輸出結果是______。

      A)姓名是:鄭小洋B)姓名是:馬燕

      C)姓名是:楊立宏D)姓名是:趙雅潔

      58. 使用INDEX ON 性別+DTOC(出生日期,1) TO RQ建立索引之后,接著執(zhí)行LIST命令,所顯示記錄的姓名順序是______。

      A)王力軍、楊立宏、馬燕、劉淑敏、趙雅潔

      B)馬燕、劉淑敏、趙雅潔、王力軍、楊立宏

      C)楊立宏、王力軍、趙雅潔、劉淑敏、馬燕

      D)劉淑敏、楊立宏、馬燕、趙雅潔、王力軍

      59. 索引文件打開后,下列命令操作中不受索引文件影響的是______。

      A) SKIPB) DISPLAY ALLC) FINDD) GO 5

      60. 有如下程序段:

      USE STD

      INDEX ON 性別 TO XB

      TOTAL ON性別 TO STD_1

      執(zhí)行以上程序段之后,數(shù)據(jù)庫STD_1.DBF中的記錄個數(shù)為______。

      A)1B)2C)3D)4

      61. 上題所生成的數(shù)據(jù)庫STD_1.DBF中被匯總的字段是______。

      A)記錄個數(shù)B)平均成績

      C)平均成績、出生日期D)平均成績、出生日期、記錄個數(shù)

      62. 要顯示當前記錄的學號,姓名,性別,以下命令錯誤的是______。

      A) ? 學號,姓名,性別B) DISPLAY學號,姓名,性別

      C) @ 5,10 SAY學號,姓名,性別D) @ 5,10 SAY學號+姓名+性別

      填空

      1. PUBLIC用于定義______。在本次Visual FoxPro運行期間,所有過程都可以使用這些變量。

      2. VFP根據(jù)表達式的______來確定表達式的類型。

      3. 命題“n是小于正整數(shù)k的偶數(shù)”用邏輯表達式表示是______。

      4. PRIVATE用于定義______,它用于定義當前過程的變量,并將以前過程定義的同名變量保存起來,在當前過程中使用該變量而不影響這些同名變量的原始值。

      5. 有程序段如下:

      STORE 0 TO X,Y

      DO WHILE.T.

      X=X+1

      Y=Y+X

      IF X>=100

      EXIT

      ENDIF

      ENDDO

      ? "Y="+STR(Y,3)

      這個程序是計算     [1]     ,執(zhí)行后的結果是     [2]     。

      6. 請閱讀下列判斷一個自然數(shù)是否為質(zhì)數(shù)的程序,并將程序填寫完整。

      SET TALK OFF

      INPUT"請輸入一個大于1的自然數(shù): "TO N

      K=0 &&K的值為0表示所輸入的自然數(shù)是質(zhì)數(shù),為1表示不是質(zhì)數(shù)

      J=2

      DO WHILE J<n

      IF MOD(N,J)     [1]    

          [2]    

      LOOP

      ELSE

      K=1

      EXIT

      ENDIF

      ENDDO

      IF K=0

      ?     [3]     +" 是質(zhì)數(shù)"

      ENDIF

      ? "再見?。?quot;

      SET TALK ON

      RETURN

      7. 下面的函數(shù)通過參數(shù)a、b、c接收一元二次方程ax2+bx+c=0的三個系數(shù),并求解這個方程:如果有實根,通過參數(shù)x1和x2返回它的兩個根,函數(shù)的返回值為.T.;如果沒有實根或出現(xiàn)其他異常情況,函數(shù)的返回值為.F.,請?zhí)羁铡?/span>

      PARAMETERS a,b,c,x1,x2

      IF a =0

      RETURN .F.

      ENDIF

      Delta=b*b-4*a*c

      IF delta<0

          [1]    

      ENDIF

      x1= [ 2]

      x2=(-b-SQR(delta))/(2*a)

      RETURN .T.

      8. 有如下FoxBASE程序:

      *SUB.PRG

      PARAMETERS R,A

      PI=3.14

      A=PI*R*R

      RETURN

      在命令狀態(tài)下執(zhí)行了如下命令序列:

      AREA=0

      __________________

      ? AREA

      最后一條命令執(zhí)行后顯示的結果是12.56,請?zhí)羁铡?/span>

      9. 設數(shù)據(jù)庫文件PHONE.DBF中包含了“姓名”,“電話”和“地址”三個字符型字段。以下程序的功能是按用戶輸入的任一電話號碼進行查找,如果存在該號碼,則顯示其單位地址,關閉文件并結束程序。請將程序補充完整。

      SET TALK OFF

      USE PHONE

      CLEAR

      DO WHILE .T.

      PHN=SPACE(8)

      @ 10,20 SAY"電話號碼:"     [1]    

      READ

      LOCATE FOR PHN=電話

      IF FOUND( )

      @ 12,20 SAY"單位地址:"+ 地址

          [2]    

      ENDIF

      ENDDO

      CLOSE ALL

      SET TALK ON

      RETURN

      10. 在青年歌手大賽中,歌手的得分情況由GS.DBF和PW.DBF兩個數(shù)據(jù)庫(除“最后得分”字段以外,其余字段已存放了相應數(shù)據(jù))進行統(tǒng)計。

      評委數(shù)據(jù)庫PW.DBF中放有10個評委給每位歌手所打的分數(shù),數(shù)據(jù)庫結構為:

      歌手編號(C,4),評委1(N,5,2),評委2(N,5,2),…,評委10(N,5,2)

      歌手數(shù)據(jù)庫GS.DBF中存有每位歌手的基本情況和最后得分,數(shù)據(jù)庫結構為:

      歌手編號(C,4),姓名1(C,8),選送地區(qū)(C,20),最后得分(N,5,2)

      1)以下程序的功能是根據(jù)10個評委所給分數(shù),計算并填寫“最后得分”字段,具體計算方法是去掉一個最高分,去掉一個最低分,再對其余得分求平均。請?zhí)羁眨?/span>

      SELECT 0

      USE GS

      INDEX ON 歌手編號 TO GS

      SELECT 0

      USE PW

      SET RELATION TO 歌手編號 INTO GS

      GO TOP

      DO WHILE     [1]    

      SCATTER TO TEMP

      I=2

      STORE TEMP(2) TO PMIN, PMAX, S

      DO WHILE     [2]    

      I=I+1

      S=S+TEMP(I)

      DO CASE

      CASE TEMP(I)>PMAX

      PMAX= TEMP(I)

      CASE TEMP(I)<pmin

      PMIN= TEMP(I)

          [3]    

      ENDDO

      SELECT GS

      REPLACE 最后得分 WITH     [4]    

          [5]    

          [6]    

      ENDDO

      2)將GS.DBF按“最后得分”字段由高到低排序,“最后得分”相同時,按歌手編號升序建立排序文件GSPX.DBF的命令是______。

      3)計算GS.DBF中所有歌手“最后得分”的平均值,并將結果保存在變量PJ中的命令是______。

      4)以下程序是根據(jù)GS.DBF中“選送地區(qū)”字段的前兩個漢字是否為“北京”而使用PROG1.PRG和PROG2.PRG進行不同的處理:

      ……

      IF LEFT(選送地區(qū),4)="北京"

      DO PROG1

      ELSE

      DO PROG2

      ENDIF

      ……

      以上程序段中的判斷條件LEFT(選送地區(qū),4)= "北京",也可以用函數(shù)SUBSTR或AT描述。使用SUB函數(shù)描述時,判斷條件可改寫為     [1]     ;使用AT函數(shù)描述時,判斷條件可改寫為     [2]     。

      11. 有如下售書數(shù)據(jù)庫BOOK.DBF,BOOK.DBF中的記錄如下:

      書號單價數(shù)量總計

      B0168 19.8 3

      B6915 12.6 36

      B9023 40.0 100

      B4682 18.0 40

      B6329 28.0 56

      B8127 2.0 20

      要逐條計算總計并填入“總計”字段之中,計算按照如下規(guī)則:

      若數(shù)量小于等于10,總計等于“單價*數(shù)量”

      若數(shù)量大于50, 總計等于“單價*數(shù)量*(1-5/100)”

      若數(shù)量在11與50之間,總計等于“單價*數(shù)量(1-10/100)”

      請?zhí)羁?/span>:

      SET TALK OFF

      USE BOOK

      GO TOP

      DO WHILE     [1]    

      DO CASE

      CASE 數(shù)量<=10

      REPLACE 總計 WITH單價*數(shù)量

      CASE     [2]    

      REPLACE 總計 WITH 單價*數(shù)量*(1-10/100)

      CASE 數(shù)量>50

      REPLACE 總計 WITH 單價*數(shù)量*(1-5/100)

      ENDCASE

          [3]    

      ENDDO

      LIST

      USE

      SET TALK ON

      RETURN

      12. 售書數(shù)據(jù)庫BOOK.DBF(如上題所示),現(xiàn)需要調(diào)整一些書的單價,然后用調(diào)整后的“單價*數(shù)量”的值填入“總計”字段,下邊程序的功能是根據(jù)用戶輸入的書號查找到記錄,并由用戶決定是否對該記錄進行修改,請?zhí)羁眨?/span>

      SET TALK OFF

      USE BOOK

      INDEX ON 書號 TO BOOKI

      DO WHILE .T.

      CLEAR

      DISP ALL FIELDS 書號

      ACCEPT"請輸入書號" TO BNO

          [1]    

      IF FOUND()

      DISPLAY

      ACCEPT"修改/不修改繼續(xù)/終止程序(Y/N/E) " TO SR

      ELSE

      ACCEPT"書號不存在!繼續(xù)/終止程序(N/E) " TO SR

      ENDIF

      DO CASE

      CASE UPPER(SR)= "Y"

      INPUT"請輸入新單價: " TO XDJ

      REPLACE     [2]     ,總計 WITH 單價*數(shù)量

      CASE UPPER(SR)= "N"

          [3]    

      CASE UPPER(SR)= "E"

          [4]    

      ENDCASE

      ENDDO

      USE

      SET TALK ON

      RETURN

      13. 下面程序的功能是修改P2.DBF中記錄內(nèi)容,為了避免破壞數(shù)據(jù)庫數(shù)據(jù),先把記錄內(nèi)容存入數(shù)組BUFFER中,用戶先對數(shù)組進行修改,確定修改后,再把數(shù)組中的數(shù)據(jù)存入數(shù)據(jù)庫中,請?zhí)羁眨?/span>

      SET TALK OFF

      DIMENSION BUFFER(3)

      STORE"Y"TO ANS, CON

      USE P2

      DO WHILE UPPER(CON)= "Y"

      CLEAR

      @ 2,5 SAY"修改第幾條記錄? "

          [1]    

      GO RNO

      SCATTER TO BUFFER

      @ 4,10 SAY"學號"GET BUFFER(1)

      @ 6,10 SAY"姓名"GET BUFFER(2)

      @ 8,10 SAY"所屬系"GET BUFFER(3)

          [2]    

      ACCEPT"確實修改記錄嗎?(Y/N) "TO ANS

      IF UPPER(ANS)= "Y"

          [3]    

      ENDIF

      ACCEPT"繼續(xù)嗎?(Y/N) "TO CON

      ENDDO

      USE

      SET TALK ON

      RETURN

      14. 設有Student.DBF(學號,姓名,民族)和score.DBF (學號,成績)兩個數(shù)據(jù)庫,要在它們之間建立邏輯連接,然后為每個少數(shù)民族考生的成績增加5分,最后顯示全體考生的學號、姓名和成績。請對如下程序填空:

      SET TALK OFF

      SELECT 1

      USE student

          [1]     TO inx

      SELECT 2

      USE score

      SET RELATION TO     [2]    

      REPLACE 成績 WITH     [3]     FOR     [4]    

      LIST 學號,     [5]     ,成績

      SET RELATION TO

      CLOSE DATA

      SELECT 1

      SET TALK OFF

      RETURN

      15. 下面是一個口令設置程序,請在其中填空,完成此程序。

      SET TALK OFF

      CLEAR

      PASS= "ABCDEFG"

      PASSWORD= ""

      @ 10,20 SAY "請輸入口令:"

      SET CONSOLE     [1]    

      ACCEPT TO PASSWORD

      SET CONSOLE     [2]    

      IF PASSWORD<>PASS

      ? CHR(7)

      WAIT"口令輸入錯誤!敲任何鍵退出。"

      QUIT

      ELSE

      ? "歡迎使用本系統(tǒng)!"

      P=INKEY(3)

      ENDIF

      DO ZXT &&執(zhí)行相應程序。

      RETURN


      日韩无码第一页,一区_97资源人妻碰碰碰_有码无码人妻Av_午夜亚洲国产理论片2020网站 亚洲无码片AV一级 岛国av无码专区免费看
      <style id="uedzd"></style>
    3. <style id="uedzd"></style>
    4. <dfn id="uedzd"></dfn>
    5. <dfn id="uedzd"></dfn>
      1. <ruby id="uedzd"></ruby>
        <ruby id="uedzd"></ruby>