收藏 分销(赏)

2023年二级VF程序设计典型例题.doc

上传人:二*** 文档编号:4515001 上传时间:2024-09-26 格式:DOC 页数:21 大小:62.54KB 下载积分:5 金币
下载 相关 举报
2023年二级VF程序设计典型例题.doc_第1页
第1页 / 共21页
本文档共21页,全文阅读请下载到手机保存,查看更方便
资源描述
计算机二级VF程序设计典型例题(六) 基本培训频道  更新:-6-20   编辑:站长  阅读: RETURN T 分析:FUNCTION 是一种子函数,语句PARAMETERS是定义子函数里面变量。 [例30]  假如说用DO命令来执行查询文献、菜单文献、那么<文献名>中必要名含——————。 分析:VISUAL FOXPRO 程序文献通过编辑、连接,可以产生不同目的代码文献,这些文献具有不同文献名。 当用DO 命令执行程序文献时,假如没有指定扩展名,系统将按下列顺序寻找程序文献源代码或某种目的代码文献 执行:.EXE->.APP->.FXP->.PRG;但是用DO命令来执行查询文献、菜单文献时,那么<文献名>中必要涉及扩展名。 答案:扩展名(.QBR或.MPR) [例31]打开银行客户关系表,输入一种控制口令控制程序执行,若口令为1,则把 “银行代码”为“001”所有记录加上删除标记;若口令为2,把“银行代码”为“002”所有记录  加上删除标记;若口令为3,把“银行代码”为“003”所有记录加上删除标记。请将程序填写完 整。    程序:       CLEAR       USE银行客户关系表EXCLUSIVE       BROWSE LAST       WATT“请输入你选取:(1-3)”TO yhdm       DO CASE          CASE  (1)           DELETE ALL FOR 银行代码=“001”           BROWSE ALL FOR银行代码=“001”           RECALL          CASE  (2)            DELETE ALL FOR 银行代码=“002”            BROWSE ALL FOR 银行代码=“002”            RECALL           CASE  (3)             DELETE ALL FOR 银行代码=“003”             BROWSE ALL FOR 银行代码=“003”             RECALL     ENDCASE     BROWSE      USE   分析:该程序执行时,依次判断语句中列出条件,当碰到取值为真时就执行该条件下语句序列。   答案:(1)yhdm=“1”,(2)yhdm=“2”,(3)yhdm=“3”     例32  按银行帐号显示存款记录,假如该帐号不存在,则会显示空记录,请将该程序 填写完整。       程序:       CLEAR        USE KH       帐号=SPASE(5)       @10.4  SAY "请出入要查循学生学号:” CET帐号       READ       ---------------- 计算机二级VF程序设计典型例题(五) 基本培训频道  更新:-4-25   编辑:站长  阅读:   RETURN      计算圆面积函数:         FUNCTION  AREA         PARAMETERS A         S=3.1415926*A*A         RETURN    分析:该语句是实现对计算圆面积函数调用,返回值赋给变量SM。这个程序所使用是一种自定义函数,自定义函数和 子程序区别就是自定义函数必要返回一种函数值,而子程序没有这个限制。自定义函数编辑办法和子程序编辑办法相似,只是要把子程序文献名改为自定义函数名。    需要注意几点是:自定义函数能以独立文献存储,也可涉及在调用程序中作为它一某些。假如[FUNCTION<函数名>]缺省,这表达该函数是一种独立文献。此外,自定义函数不能与系统函数同名,也不能与内存变量同名。      答案:SM=AREA(R)  例26   当变量I在奇偶之间变化时,求出下面程序输出成果。      程序:        CLEAR        I=O        DO WHILE I<10         IF INT(I/2)=I/2            ?"W"        ENDIF         ?"T"        I=I+1        ENDDO      分析:该程序应用是循环和条件嵌套构造。      答案:W,T,T连续显示5次 [例27]  填空完毕下列程序,仅接受输入Y和N程序,否则程序结束。         DO  WHILE  .T.           WAIT  "请输入Y/N"    TO    AS           IF  UPPER(AS)< >"Y"AND  UPPER(AS) < >"N"               (1)             ELSE             (1)           ENDIF         ENDDO     分析:该例是一种条件循环,选用EXIT是强制推出循环条件,执行它可以及时跳出循环,执行ENDDO 背面语句。选用LOOP则是一种强制缩短循环语句,其功能是终结本次循环体语句执行,把控制转到 循环构造开始。      答案:  (1)EXIT,(2)LOOP [例28]   当变量X值变化时,依次显示其成果,注意循环体内LOOP和EXIT语句。         程序:            CLEAR            X=3            DO WHILE  .T.            X=X+1            IF X=INT(X/3)*3 ?x ELSE                LOOP ENDIF        IF X>10 EXIT ENDIF ENDDO RETURN 分析:INT()是取整数函数 假如循环体内有LOOP命令,那么当晕到LOOP时,就结束循环本次执行,不再执行其后语句,而是转回DO WHILE 处重新判断条件。 假如循环体涉及EXIT命令,那么当碰到EXIT时,就结束该循环语句执行,转去执行ENDDO背面语句。 普通LOOP或EXIT出当前循环体内嵌套选取语句时,依照条件来决定是LOOP回去,还是EXIT出去。 答案:依次显示为:6,9,12 [例29] 填空完毕下列程序,求数绝对值程序。 INPTU’请输入一种数:‘TO X ?STR(X)+“它绝对值是:’+STR(f(x)) FUNCTION F (1) ——— IF T>=0 T=T ELSE T=-T ENDIF 计算机二级VF程序设计典型例题(四) 基本培训频道  更新:-2-20   编辑:站长  阅读: 答案:(1)DO WHILE N<3,(2)ENDDO,(3)N=N+1 【例20】用两种循环步长值来求1+2+3+...50值,请将程序填写完整。 程序一:     S=0     FOR__(1)___     S=S+N     ENDFOR     ? S     RETURN 程序二:     S=0     FOR__(2)___     S=S+N     ENDFOR     ?S     RETURN    分析:这是一种计数循环例子,由以上两种办法可以看出,初值和终值设定是随步长值不同而变化 ,在程序一中,由于步长为1,因此省略了。缺省时,步长值默认为1。    答案:(1)N=1 TO 50,(2)N=50 TO 1 STEP -1 [例21] 求30!,请将程序填写完整。    程序:N=1     I=I*N     N=N+1     ENDDO     ?I    分析:在进入循环前,必要组织好循环使累加器先赋初值勤,循环条件表达式中控制变量也要依照 不同状况赋初值,由于循环次数是和条件表达式中控制变量所赋初值密切有关。循环体涉及了 在循环体中书写顺序也与循环初始赋值关于。读者可以考虑一下,假如给N赋上班,那么DO WHILE 背面条件表达式该怎么来写?    答案:N<=30 [例22] 为理解决在子程序和主程序之间也许会浮现变量反复使用命令_______,这样可以使主程序中 变量暂时在子程序中无效,而不变化它值。   分析;为了避免子程序和主程序之间变量带来问题,可以使主程序中使用命令PRIVATE隐藏主程序 中也许存在变量,使得在子程序中暂时无效。该命令语法格式是:      PRIVATE<内存变量表>     答案:private<内存变量表》 例23 记录银行客房关系表中,银行代码为001,并且存款金额不不大于1500元客房人数,请将程序填写完整。 程序: clear open银行客户关系表exclusive browse all for银行代码=“001” count all to kh goto top num=0 for(1)  if(2)    num=num+1  endif  skip endfor @2,30 say"银行代码为001,存款金额不不大于1500元人数有:“num+”” endif use 分析:在该例中,for语句使用了循环变量1控制操作,道德计算出了数据表中所含记录个数num, 然后把它人微言轻循环变量终值,使循环变量从1开始,多次加入循环变量步长,直到循环变量1不不大于 num时才结束循环。 答案:(1)I=1 to kh step1,(2)金额>“1500”and,银行代码=“001” 例24 下例是关于参数传递程序,求出对的成果。 程序: clear store 3 to a,b store 2 to c,d do tub with a,b,c,d ?b store 4 to t2,t1 store 1 to t4,t3 do tub with t1,t2,t3,t3 ?t4 do tub with 6,6,3,b ?b procedure tub   PARAMETER  A,B,C,D   B=A* A-4 *C* D    DO CASE     CASE B<0        B=120     CASE B>0        B=210     CASE B=0        B=100   ENDCASE   RETURN    分析: 在程序开始对A,B赋值为3,对C,D赋值为2。然后把实参A、B、C、D传递予以程序TUB,依照表达式B=A*A-4*c*D 计算出成果为-7,因此输出成果为120,同样,如下程序执行时,依照表达式计算成果,输出依次为1和6。   答案:成果显示在3行上,依欠为120,1,6  [例25] 依照输入半和径值,计算圆面积,请将程序填写完整。  程序:      CLEAR      R=0      SM=0      @12,15 SAY “输入圆半径” CET R      READ      IF R=0         EXIT      ENDIF      ————      @16,16 SAY“圆面积为:”+ ALLTRIM(STR(SM))      ENDDO 计算机二级VF程序设计典型例题(三) 基本培训频道  更新:-2-25   编辑:站长  阅读: 答案: DO〈命令文献名〉 [例14]有下列程序:  PARAMETER A,B,C,D  D=B* B-4*A*C  DO CASE  CASE D=O CASE D〈O D=O  CASE D〉O  D=2  CASE D=O  D=1 ENDCASE 在主程序中执行如下命令: STORE 2 TO A,C DO SUB WITH A,B,C,D ?D D值为————— 分析:执行主程序DO SUB WITH A,B,C,D时,把实参1,2,1,2传递给形参A,B,C,D。在执行过程 SUB中语句D=B*B-4*A*C后D值为O,然后执行DO CASE/ENDCASE语句,条件CASE D=O成立,重新赋值D=1, 最后返回主程序时,把形参A,B,C,D值1,2,1,1传给相应实参A,B,C,D此时D值为1。 答案: 1 [例15]有如下程序: STORE O TO N,S DO WHILE.T. N=N+1 S=S+N IF  N>=1O EXIT ENDIF  ENDDO ?”S=“+STR(S,2) 本程序运营成果是————— 分析:本程序是无限次循环程序,有N值来决定何时停止循环。程序功能是求1到1O之间所有整数之 和。可得程序运营成果为S=55 答案:S=55 [例16]有如下程序:                                   *主程序:MAIN。PRG SET TALK OFF CLEAR  S=0 DO SUB WITH 10,S ?S RETU *子程序SUB。PRG PARAMETERS D1,D2 D1=D1+D1 D2=D1*2 RETURN 执行主程序后S值是__________。 分析:DO...WITH语句中实在参数除了可以是变量外,还可以是任意有数或表达式。当为常数时, 直接把值传给相应形参;当为表达式时,先求其值后把其值传给形参。主程序中变量S初值为0, S调用子程序SUB,将数值10和0相应传给子程序中参数D1和D2,执行D1=D1+D1后,D1=20,再执行D2 =D1*2,D2=40,返回到主程序时D2将值回传给S。因而,在主程序执行?S时,屏幕显示40。 答案:40 [例17]设成绩库CJK.DBF中“数学”(数值型字段)这门课程学分为4,其学分计算办法如下: 数学>=90,学分值为4 80<=数学<90,学分值为3 70<=数学<80,学分值为2 60<=数学<70,学分值为1 数学<60,学分值为0 计算任一学生数学这门课程学分值程序如下: SET TALK OFF USE CJK ACCEPT  "输入学号:"   TO XH XF=0 LOCATE FOR学号=XH DO CASE CASE______     XH=40 CASE______ XH=3 CASE__________   XF=2 CASE__________   XF=1 OTHERWISE   XF=0 ENDCASE ?"学号:",XH ?"数学学分值:",XF USE RETURN 分析:本程序考核要点是DO CASE分支语句 答案:数学>=90  数学>=80  数学>=70  数学>=60 【例18】参数两种传递办法是_______和_______。 分析:调用程序模块时,假如实参是常量或普通形式表达式,系统会计算出实参值,并把它们赋值 给相应形参变量。这种情形称为按值传递。假如实参是变量,那么传递将不是变量值,而是变量 地址。这时形参和实参事实上是同一种变量,在模块程序中对形参变量值变化,同样是对实参变量 值变化,这种情形称为引用传递。 答案:TO VALUE(按值传递),REFERENCE(按引用传递) 【例19】填空完毕下列程序,规定该程序可以三次从右向左显示变量S内容字幕程序。     CLEAR           S=SPACE(80)+"关系数据库语言VFP计算机2级教程。关系数据库."                      +SPACE(60)           N=0             ______           I=1           DO WHILE I<160           @20,0SAY SUBSTR(S,I,80)           H=INKEY(0.1,"h")           I=I+2           _____           _____           ENDDO 分析:表达式(1)是给出循环条件,表达试(3)给出循环体递增形式。 「例8」阅读下列程序,该程序运营成果是                            (      ) SET TALK OFF INPUT″请输入A,B:″TO A,B IF A〈 B    T = A    A = B    B = T ENDIF DO WHILE B〈 〉0    T = MOD(A,B)    A = B    B = T ENDDO ?A SET TALK ON  RETURN 运营时输入:12,8    A.2   B.4   C.12   D.8 分析:本程序功能是求两个数最大公约数。办法是用两个数中较小去除较大,然后将除数作为一次除被除数,余数作为下一次除除数,反复进行这样操作,直到余数为零时为止。则最后一次除除数,即为所给两个数最大公约数。 答案:B 「例9」用于阐明程序中所有内存变量都是局部变量命令是              (     )   A.PRIVATE  ALL                B.PUBLIC  ALL C.ALL=PRIVATE                 D.STORE PRIVATE TO ALL 分析:定义局部变量语句有PRIVATE<内存变量名表>和PRIVATE ALL(LIKE/EXCEPT<通配符>)。在使用PRIVATE ALL本程序中所有内存变量都阐明为局部变量。 答案:A (例10)在Visual FoxPro中,用于建立过程文献PROGI命令是                  (      ) A. CREATE PORGI                   B. MODIFY COMMAND PROGI C. MODIFY PROGI                   D. EDIT PROGI 分析:  在Visual FoxPro中,建立程序命令是MODIFY COMMAND 答案:B 例11:一种过程文献最多可以涉及128个过程,其文献扩展名是                  (      ) A. PRG                            B. FOX C. DBT                            D. TXT 分析:  过程文献也是一种命令文献,扩展名为.PRG 答案:A 例12:有Visual FoxPro程序如下: SET TALK OFF USE CJ M - >ZF=0 DO WHILE.NOT.EOF() M - >ZF=M - >ZF+ZF SKIP ENDDO ?M - >ZF RETURN 其中数据库文献CJ.DBF中有2条记录,内容如下:          XM        ZF    1    李四       500.00       2    张三    600.00 运营该程序成果应当是   A.1100                B.1000   C.1600                 D.1200 分析:分析该程序成果时,只要理解“M - >ZF”含义,程序就没有社么难度了。 答案:A 例13:在命令文献中,调用另一种命令文献。应使用命令 分析:在FoxPro系统中,LOAD命令用于将一种二进制文献调人内存,CALL命令执行一种已调人内存二进制文献。PROCEDURE仅在程序中阐明过程名,每个过程以PROCEDURE<过程名>开始,用PETURN结束,不是调用程序。要在命令文献中调用另一种命令文献应当使用命令DO<命令文献名>. 计算机二级VF程序设计典型例题(一) 基本培训频道  更新:-7-8   编辑:站长  阅读: [例1] 在(  )窗口中可以控制列表框内显示变量种类。        A.跟踪窗口                B.监视窗口        C.局部窗口                D.调动堆栈窗口     分析:局部窗口用于显示模板程序中内存变量,并显示它们名称.当前取值类型。它可以控制在列表内显示变量类型。 答案c 例2下面选项中关于ACCEPT命令说法错误是() A.ACCEPT命令格式是:ACCEPT[<字符表达式>] TO<内存变量> B.该命令只接受字符串,但是顾客在输入字符串时,必要要加上定界符 C假如不输入任何内容直接按回车键,系统就会把空串赋给指定内存变量 D假如选用<字符表达式>,那么系统就会一方面显该表达式值,作为提醒信息 分析:该命令只接受字符串,但顾客在输入时不需要加定界符;否则,系统会把定界符当作字符串一某些输出. 答案:B 例3下列关于过程说法中不对的是 A.过程文献可以放在任何程序文献代码背面,也可以保存在称为过程文献单独文献里 B.过程文献只涉及过程,这些过程只能被过程文献调用 C.假如需要打开各种过程文献,可以在调用过程语句中加ADDITVE,那么在打开过程文献时, 并不关闭原先已打开过程文献 D.关闭个别过程文献命令格式是:RELESE PROCEDURE<过程文献> 分析:过程文献只涉及过程,这些过程可以被任何其他程序调用.命令格式SETPOCEDURE TO[<过程文献>][ADDITIVE]就可以打开各种过程文献.当使用不带任何文献名SET PROCEDURE TO命令时,将会关闭所有过程文献,使用命令RELEASE PROCEDURE<过程文献>时,将关闭指定过程文献. 答案:B 例4 在一种程序定义了某些变量,选出局部变量           (   ) 1.PRG PUBLIC aI LOCAL a2,a3 SCORE’B’TO a4 LOCATE a5 A.a1                                B.a2,a3 C.a4                                D.a5 分析:A是公共变量,C是私有变量,D命令和LOCATE相似,但不存在这样定义变量命令.只有B才是定义了两个局部变量. 答案:B 例5   不需要先建立就可以使用变量是               (   ) A.局部变量              B.公共变量 C.私有变量              D.数组 分析:私有变量是指在程序中直接使用,由系统自动隐含建立变量.即没有通过PUBLIC 或LOCAL定义变量.它作用域是建立它模块及其下属各层模块.私有变量随着建立它模块运营结束自动清除,不需要先建立就可以使用. 答案:C 「例6」可以设立表达式类型断点窗口是                             (     )   A.跟踪窗口   B.监视窗口  C.局部窗口   D.调用堆栈窗口 分析:监视窗口重要就是用来指定表达式在程序调试执行过程中变化。要设立一种监视表达式,只需单击窗口中“监视”文本框,然后输入表达式内容,按回车键后表达式便添入文本框下方列表框中。 答案:B 「例7」下列命令语句对的是                                        (    )   A.INPUT″请输入账号″TO zh   B.INPUT〔-03-01〕TO rq   C.INPUT″T″TO sa            D.INPUT″∧-03-01″TO zh 分析:B对的写法是:INPUT〔∧-03-01〕TO rq;C对的写法是:INPUT.T.TO sa。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服