计算机等级考试vfp程序设计.ppt

上传人:牧羊曲112 文档编号:6202303 上传时间:2023-10-04 格式:PPT 页数:58 大小:258.77KB
返回 下载 相关 举报
计算机等级考试vfp程序设计.ppt_第1页
第1页 / 共58页
计算机等级考试vfp程序设计.ppt_第2页
第2页 / 共58页
计算机等级考试vfp程序设计.ppt_第3页
第3页 / 共58页
计算机等级考试vfp程序设计.ppt_第4页
第4页 / 共58页
计算机等级考试vfp程序设计.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《计算机等级考试vfp程序设计.ppt》由会员分享,可在线阅读,更多相关《计算机等级考试vfp程序设计.ppt(58页珍藏版)》请在三一办公上搜索。

1、程序设计基础,本章要点,掌握 Visual FoxPro 的工作方式,掌握程序文件的创建与编辑方法与步骤,掌握程序的基本结构,掌握顺序结构语句设计方法,掌握分支结构语句设计方法,掌握循环结构语句设计方法,掌握过程 使用方法。,Visual FoxPro 的工作方式,1、命令方式,Visual FoxPro命令方式是在“命令”窗口来实现的,在“命令”窗口中,可以输入单个的操作命令、系统命令和SQL语句,完成对数据库的操作、系统环境的设置和创建、运行程序文件等。命令方式的工作特点是:输入一条操作命令,系统完成一个数据库操作。,2、菜单方式,在Visual FoxPro环境下,也可以通过系统菜单提供

2、的菜单命令对数据库进行操作,对系统环境进行设置以及创建、运行程序文件。菜单方式的工作特点是:通过选择菜单命令完成所需的操作。,3、程序文件方式,11.1 Visual FoxPro的工作方式,11.1.3 程序文件方式,程序文件(简称程序)也称命令文件。在Visual FoxPro环境下,利用程序文件方式进行数据库管理,是通过程序文件编辑工具,将对数据库操作的命令和对系统环境进行设置的命令,集中在一个以(.PRG)为扩展名的程序文件中,然后再通过菜单方式或命令方式运行程序文件。,4、程序文件的创建与编辑,11.1 Visual FoxPro的工作方式,11.1.4 程序文件的创建与编辑,1).

3、使用Modify Command命令命令格式:Modify Command 命令功能:创建、编辑以为名的程序文件。,11.1 Visual FoxPro的工作方式,11.1.4 程序文件的创建与编辑,2.以菜单方式创建、编辑程序文件1)创建程序文件操作步骤如下:打开“文件”菜单,选择“新建”命令,进入“新建”窗口。在“新建”窗口,选择“程序”选项,按“新建”按钮,进入“程序”编辑窗口。在“程序”编辑窗口,输入程序文件并保存,此时,创建程序文件的操作结束。,2)编辑程序文件打开“文件”菜单,选择“打开”命令,进入“打开”窗口。在“打开”窗口,输入程序文件名,按“确定”按钮,进入“程序”编辑窗口。

4、在“程序”编辑窗口,编辑该程序文件并保存,完成编辑程序文件的操作,11.1 Visual FoxPro的工作方式,11.1.4 程序文件的创建与编辑,3.利用设计工具建立程序代码 在Visual FoxPro系统中,除了用上面介绍的方法创建、编辑程序文件外,还可以借助于“表单设计器”、“类设计器”、“菜单设计器”、“报表设计器”和“项目管理器”等代码设计工具完成程序代码的创建与编辑。,5、程序文件的调用,11.1 Visual FoxPro的工作方式,11.1.5 程序文件的调用,1).使用Do命令调用程序文件命令格式:Do 命令功能:运行以为名的程序文件。,2).以菜单方式调用程序文件操作步

5、骤如下:(1)打开“程序”菜单,选择“运行”命令,进入“运行”窗口。(2)在“运行”窗口,选择要调用的程序文件,按“运行”按钮,即可运行程序文件。,程序的基本结构,11.2 程序的基本结构,1.顺序结构 顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。Visual FoxPro系统中的大多数命令都可以作为顺序结构中的语句。2.分支结构 分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。,3.循环结构 循环结构则能够使某些语句或程序段重复执行若干次。如果某些语句或程序段需要在一个固定的位置上重复操作,使用循环结构语句是最好的选择

6、,但是基于面向对象的程序设计思想,循环控制的操作形式更丰富,不仅限于循环结构语句。,顺序结构语句,程序中的常用语句 一.屏幕输出语句:格式:?|?功能:在屏幕上输出表达式的内容。1个问号为换行输出,2个问号为不换行输出,【例1】编制1个命令文件text.prg,保存到f:myvfp中,统计“教师工资表”中的奖金和工资总额。程序文件内容:use 教师工资表sum all 工资 to n&计算工资总和?“奖金为:”,m?“工资总额为:”,n,二.注释语句:格式:&注释内容功能:为程序中的语句作注释,注释内容不会执行。三.输入字符串语句:格式:accept 字符串 to 内存变量功能:执行该语句时,

7、暂停程序的运行,在屏幕上显示“字符串”的内容作为提示信息,等待用户通过键盘输入数据;输入数据后回车,输入的内容保存到指定的内存变量中。,输入表达式语句:格式:input 表达式 to 内存变量说明:(1).该命令功能比accept强,accept只能输入字符型数据;而input可输入字符型、数值型、逻辑型和日期型。(2).使用input时,输入字符型数据时,必须加双引号等定界符;输入逻辑型数据时,要用圆点定界符(如.T.);输入日期型数据要用转换函数,如ctod(“11/15/2005”)。,五.清屏语句:格式:clear功能:清除主屏幕上的显示信息。六.交互状态控制:格式:set talk

8、off/on说明:该命令规定是否将命令执行结果显示在屏幕上。默认为on,此时,每执行完1条命令,结果即显示在屏幕上;设置为off时,不显示执行结果。一般,我们在程序文件的开头都加上该语句,抑制显示中间结果。,七.显示提示信息:格式:wait window 提示信息字符串 timeout 秒数功能:在屏幕出现提示窗口 八.返回语句:格式:return功能:返回调用处或命令窗口。该语句可省略,因为在每个程序执行的最后,系统都会自动执行1个return语句。,顺序结构程序设计在顺序结构中,各种操作块按照出现的先后次序依次执行。基本语句1、赋值语句(1)STORE TO(2)=,2、程序的注释(1)行

9、首注释 NOTE 注释内容 或*注释内容注释内容可以是任何文字,程序不执行以NOTE或*开头的语句,只起给程序说明的作用。(2)行尾注释&注释内容。,【例9.4】:求任意半径的圆的面积。clearinput“请输入圆的半径:”to rs=3.1415926*r*r?“圆的面积是:”,sreturn,选择结构程序设计 选择结构就是对指定的条件进行判断,如果条件成立,则执行指定的语句序列。1、IFELSEENDIF2、DO CASEENDCASE单条件选择语句IF双分支结构格式一:IF ENDIF执行过程是:如果所给定的条件为真,则执行“语句序列”,否则执行END IF之后的语句。,格式二:IF

10、ELSE ENDIF 执行过程是:如果所给定的条件为真,则执行“语句序列1”,否则执行“语句序列2”说明:(1)语句序列又可以是IF结构,称为IF语句的嵌套。(2)IF和ENDIF必须成对出现。,2、IIF函数IIF函数可以实现一些简单的选择。其语法结构为:IIF(条件,表达式1,表达式2)说明:(1)当条件为真时,函数返回表达式1的值。(2)当条件为假时,函数返回表达式2的值。(3)Y=IIF(条件,表达式1,表达式2)相当于:IF 条件 Y=表达式1ELSE Y=表达式2END IF。,多分支条件选择语句DO CASE格式:DO CASE CASE 条件1 语句序列1 CASE 条件2 语

11、句序列2 OTHERWISE 语句序列n ENDCASE,某种商品一次购买 100件以上时,可享受8%的优惠。试编程根据输入的单价和数量计算应付金额。CLEARINPUT 数量:TO aINPUT 单价:TO bj=a*bIF sl=100j=j*0.92ENDIF?应付金额:“,jreturn,出租车不超过5公里时一律收费10元,超过时则超过部分每公里加收1.6元。试编程根据里程数计算并显示出应付车费。CLEARINPUT 里程:TO cIF c=5?车费为:十元ELSEf=10+(c-5)*1.6?车费为:“,fENDIFRETURN,编程计算银行存款整存整取应得的利息。CLEARINPU

12、T 本金(元):TO bINPUT 存期(年):TO cDO CASECASE c=5rate=4.5&年利率为4.5%CASE c=3 rate=3.6&年利率为3.6%CASE c=2rate=3.1&年利率为3.1%,CASE c=1rate=2.7&年利率为2.7%CASE c=0.5rate=2.21&年利率为2.21%otherwiserate=1.23&年利率为1.23%ENDCASElixi=b*c*rate/100?&输出一个空行?应得利息:“,lixireturn,【例9.6】:设计1个程序名为test4.prg,使用do case语句在“学生情况表”中按学号或姓名查询程序

13、文件内容:clearuse 学生情况表wait“请选择按姓名或按学号查询(M/X)”to xzdo casecase xz$“Mm”&此条件为真,说明选择了M,即按姓名查询accept“请输入待查人姓名:”to xmlocate for 姓名=xmcaxe xz$“Xx”accept“请输入待查学号:”to xhlocate for 学号=xhotherwisewait“查询选择错误!按任意键退出!”windendcase,循环结构程序设计 程序设计中的循环结构(简称循环)是指在该程序中,从某处开始有规律地反复执行某一操作(或程序块)的现象。被重复执行的的部分称为循环体,必须确保循环的重复执行

14、能被终止(无死循环)。按照循环体执行的方式和条件,在VFP中提供了“当型”和“步长型”和“表扫描型”三种循环语句:DO whileenddo(当型)、FOR endfor(步长型)、SCANENDSCAN(表扫描型)。,当型循环命令DO WHILE格式:DO WHILE 语句序列 EXIT 语句序列 LOOP 语句序列 ENDDO,说明:(1)每执行一次循环体,程序自动返回到DO WHILE语句,判断一次。(2)EXIT是无条件结束循环命令。它使程序跳出循环,转去执行ENDDO之后的语句。(3)LOOP是无条件循环命令。它将控制直接转回到DO WHILE语句,而不执行LOOP和ENDDO之间的

15、语句。(4)DO WHILE和ENDDO必须各占一行,且必须成对出现。,求1+2+3+.+100的累计值。CLEARN=0S=0DO WHILE n100n=n+1s=s+nENDDO?累计值为:“,sRETURN,步长型循环命令FOR若事先知道循环次数,则可以用步长型循环结构。FOR=TO STEP 语句序列EXIT语句序列LOOP语句序列 ENDFOR说明:(1)是一个作为计数器的内存变量,在该结构之前可以不存在。是计数器的初值,是计数器值的增长或减小量。(2)其余情况与DO WHILE结构相似。,1+2+3+.+100的累计值。CLEARs=0FOR n=1 TO 100 s=s+nEN

16、DFOR?S=“,sRETURN,求N!Set talk offp=1For y=1 to nP=p*yEndfor,【例9.8】:求1!+2!+3!+20!的值。可在计算按钮的Click事件中编写如下代码:S=0FOR N=1 TO 20 T=1 FOR M=1 TO N T=T*M ENDFOR S=S+TENDFOR,表扫描型SCANENDSCAN格式:scan 范围for 条件语句序列endscan功能:对表中指定范围,满足条件的记录执行循环体语句,每执行一次循环,记录指针自动移动到下一条记录。操作表时,使用该语句功能强,效率高。,【例9.9】:使用scan语句编程,显示“教师基本信息

17、表”中的党员的姓名和职称。use 教师基本信息表scan for.not.党员否display 姓名,职称endscanusereturn,用扫描型循环结构编程,输出职工档案数据表中基本工资在800元以下的职工姓名及其基本工资数,并输出这些职工的人数。CLEAR ALLUSE zgdaCLEARSTORE 0 TO nSCAN FOR基本工资800?姓名,基本工资 n=n+1ENDSCAN?基本工资在800元以下的职工共有:+STR(n,3)+人CLOSE DATABASERETURN,使用循环语句的注意事项,11.5 循环结构语句,11.5.4 使用循环语句的注意事项,(1)Do While

18、和EndDo、For和EndFor、Scan和EndScan必须配对使用。(2)可以是任何FoxPro命令或语句,也可以是循环语句,即可以为多重循环。(3)应是数值型的内存变量或数组元素。,(4)Exit和Loop命令嵌入在循环体内,可以改变循环次数,但是不能单独使用。Exit的功能是跳出循环,转去执行EndDo、EndFor、EndScan后面的第一条命令;Loop的功能是转回到循环的开始处,重新对“条件”进行判断,相当于执行了一次EndDo、EndFor、EndScan命令,它可以改变中部分命令的执行次数;Exit、Loop可以出现在的任意位置。,练习:1、以下循环体共执行了()次For

19、i=1 to 10?ii=i+1EndforA.10 B.5 C.0 D.语法错误,以下程序的运行结果是:(1)。a=10if a0b=a2 else b=sqrt(a)endif?b,s=0for n=1 to 10 s=s+n endfor?s,2、以下程序正确的运行结果是()Do while.not.Eof()locate for xb=“男”DisplayContinueenddo,3、数据库文件CJ.DBF中有两条记录,内容如下:XM ZF1 李四 500.002 张三 600.00Set talk offUse cjA=0Do while.not.eof()A=a+zfSkipEn

20、ddo?aReturn程序运行的结果是()A.1100 B.1000 C.1600 D.1200,本程序运行后输出的结果是()A=10B=11C=12D=13If baC=dA=cEndif?a,Set talk offStore 0 to mFor n=1 to 8M=m+nEndfor?”m=“,m结果为()a.36 b.35 c.30 d.26,设成绩库cjk.dbf中“数学”这门课程的学分为4,其学分计算的方法如下:数学=90,学分值为480=数学90,学分值为370=数学80,学分值为260=数学70,学分值为1数学60,学分值为0计算任一学生数学这门课程的学分值的程序。,Set talk offUse cjkAccpet”输入学号:“to xhXf=0Locate for 学号=xhDo case Case_ Xf=4 case_ xf=3 case_ xf=2 case_ xf=1,Othersize xf=0Endcase?”学号:”,xh?”数学的学分值:“,xfUsereturn,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号