数据库系统与Visual-FoxPro第四章课件.ppt
《数据库系统与Visual-FoxPro第四章课件.ppt》由会员分享,可在线阅读,更多相关《数据库系统与Visual-FoxPro第四章课件.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 程序设计基础程序设计基础1/11/20231第四章4.1程序的建立、修改和运行程序的建立、修改和运行一、程序文件的建立与修改一、程序文件的建立与修改 1.方法一方法一:用命令方式命令格式:MODIFYCOMMAND功能:打开文本编辑窗口,用来建立或修改程序文件。2.方法二方法二:用菜单方式1/11/20232第四章 二、程序的运行二、程序的运行 1.方法一方法一:用命令方式命令格式:DO功能:执行由表示的程序。2.方法二方法二:用菜单方式如要运行的程序没有打开,可单击主窗口中的“程序”菜单下的“运行”命令,弹出运行对话框,选择要运行的程序,单击“运行”按钮。1/11/20233第
2、四章4.2 结构化程序设计结构化程序设计4.2.1程序文件中的常用命令程序文件中的常用命令一、程序结尾的专用命令一、程序结尾的专用命令1.RETURN命令命令格式:RETURNTOMASTER功能:程序、过程或函数的末尾可放一条RETURN命令,它能使程序执行结束,并返回到调用它的上级程序继续执行,若无上级程序则返回到命令窗口。说明:表达式指定返回调用程序的表达式;TOMASTER将返回最高层次的调用程序。1/11/20234第四章2.CANCEL命令命令格式:CANCEL功能:CANCEL能使程序运行终止,清除程序的私有变量,并返回到命令窗口。3.QUIT命令命令格式:QUIT功能:该命令与
3、文件菜单的退出命令功能相同,使系统正常退出VisualFoxPro6.0,返回到Windows。1/11/20235第四章二、注释命令二、注释命令格式格式1:NOTE|*格式格式2:&说明:注释命令不做任何操作,只是注释标记,用于说明程序或命令的功能。NOTE或*用于整行注释,它必须写在每一个注释行的开头;而&用于注释一行的部分内容,它可以写在行中(命令的尾部)。1/11/20236第四章三、程序中两个常用命令三、程序中两个常用命令1.清屏命令清屏命令格式:CLEAR功能:清除屏幕上的显示内容。一般用于程序开头。2.SET TALK ON|OFF功能:用于设置一些非输出语句(如APPEND、S
4、ORT、GO等)是否显示命令的执行结果。ON为允许显示,OFF为不允许显示。一般在程序开始设置为OFF状态。1/11/20237第四章四、输入输出专用命令四、输入输出专用命令1.字符接收命令字符接收命令格式:ACCEPTTO功能:将从键盘上接收的字符串存入指定的内存变量中。说明:执行此语句时,先在屏幕上显示,光标紧跟其后,然后暂停程序运行,等待用户从键盘上输入信息。例:ACCEPT“请输入姓名:”TOXM1/11/20238第四章格式:INPUTTO功能:用于接收从键盘上输入的表达式,并将计算结果存入指定的内存变量中。说明:INPUT语句与ACCEPT语句的执行过程相同,功能相似。INPUT语
5、句与ACCEPT语句的区别是:ACCEPT命令只能接收字符串,而INPUT语句可以接收任意类型的数据;如果输入的是字符串,ACCEPT语句在接受数据时,不用使用字符型定界符;而INPUT接受字符型数据时,必须用定界符括起来。1/11/20239第四章3.输入一个字符语句输入一个字符语句格式:WAITTOWINDOWAT,NOWAITCLEAR|NOCLEARTIMEOUT功能:暂停程序的运行,直到用户输入一个字符。也可只用于输出一条提示信息。例:WAIT“请检查输人内容!”WINDOW1/11/202310第四章(二二)定位输入输出命令定位输入输出命令格式:SAYGETDEFAULT功能:在屏
6、幕的指定行列输出SAY子句的表达式值,并可修改GET子句的变量值。说明:(1)表示数据在窗口中显示的位置。(2)SAY子句用来输出数据,GET子句用来输入及编辑数据。1/11/202311第四章(3)GET子句中的变量必须具有初值,或用DEFAULT子句的指定初值。(4)GET子句的变量必须用READ命令来激活。例:3,10SAY姓名4,10SAY“成绩:”GETCJDEFAULT0READ1/11/202312第四章 4.2.2 程序的控制结构程序的控制结构1.顺序结构顺序结构在程序执行时,按程序中命令的书写顺序依次执行。2.分支结构分支结构能根据指定条件的不同当前值,在两条或多条程序路径中
7、选择一条执行。3.循环结构循环结构能使循环体中的语句(或命令)序列重复执行若干次。4.过程结构过程结构1/11/202313第四章4.2.3 顺序结构顺序结构例例4-1:从键盘随机输入某个表的文件名,要求打开并显示此表的内容。CLEARSETTALKOFFACCEPT“请输入表文件名”TOFILENAMEUSE(FILENAME)LISTUSE1/11/202314第四章例:圆的面积计算程序为SETTALKOFFCLEARINPUT“请输入圆半径:”TORS=3.1416*R*R?“圆面积=”,S上述3条命令的先后次序不能颠倒:只有执行INPUT后才能计算S,随后才能输出S,否则会因变量找不到
8、而无法继续下去。1/11/202315第四章4.2.4 分支结构分支结构一、简单的条件语句一、简单的条件语句语句格式:IFENDIF功能:首先计算的值,若其值为真,对IF与ENDIF之间的语句顺序执行,然后执行ENDIF后面的语句;若其值为假,直接执行ENDIF后面的语句。1/11/202316第四章 例例4-3:将商品销售表DBF中第一个单价在2500元以上的商品价格降低5%。USE商品销售表LOCATEFOR单价2500IFFOUND()DISPLAY商品编号,单价REPLACE单价WITH单价*0.95DISPLAY商品编号,单价ENDIFUSERETURN1/11/202317第四章
9、二、带二、带ELSE的条件语句的条件语句语句格式:IFELSEENDIF功能:若值为真,先执行,然后再执行ENDIF后面的语句;若其值为假,先执行,然后再执行ENDIF后面的语句。1/11/202318第四章例例4-4:铁路托运行李,假设每张车票可按每千克0.5元托运50千克以内的行李,如果超过50千克时,超过部分每千克加价0.3元。计算公式和程序如下:0.5*W(W50)1/11/202319第四章SETTALKOFFINPUT“请输入行李的重量:”TOWIFW=50X=0.5*WELSEX=0.5*500.8*(W50)ENDIF?“行李重量为”STR(W,6,2)“千克,运费为”+STR
10、(X,6,2)“元”CANCEL1/11/202320第四章语句格式:IFELSEIFELSEENDIFENDIF1/11/202321第四章例例4-5:上例托运行李的计算公式改为:0.5*W(W=W50)0.5*500.8*501.0*(W100)(W100)1/11/202322第四章STETALKOFFINPUT“输入行李重量”TOWIFW=50X=0.5*WELSEIFW=100X=0.5*500.8*(W50)ELSEX=0.5*500.8*501.0*(W100)ENDIFENDIF?“行李运费为:”,XCANCEL1/11/202323第四章 三、多分支语句三、多分支语句DOCA
11、SECASECSAECASEOTHERWISEENDCASE1/11/202324第四章功能:执行多分支语句时,系统将依次判断逻辑表达式值是否为真,若某个逻辑表达式值为真,则执行该CASE段的语句序列,然后执行ENDCASE后面的语句。在各逻辑表达式值均为假的情况下,若有OTHERWISE子句,就执行,然后结束多分支语句,否则直接结束多分支语句。1/11/202325第四章我们用DOCASE语句来实现例4-5的计算,只要将IF语句的嵌套部分改为:DOCASECASEW=50X=0.5*WCASEW50X=0.5*500.8*(W50)CASEW100X=0.5*500.8*501.0*(W10
12、0)ENDCASE1/11/202326第四章例例4-6:显示当前季节程序CLEARYue=MONTH(DATE()DOCASECASEINLIST(yue,3,4,5)JJ=“春”CASEINLIST(yue,6,7,8)JJ=“夏”CASEINLIST(yue,9,10,11)JJ=“秋”CASEINLIST(yue,12,1,2)JJ=“冬”ENDCASEWAITJJWINDOW1/11/202327第四章在构成分支结构时需注意:(1)条件语句中的IF和ENDIF必须配对出现;同样,多分支语句中的DOCASE和ENDCASE也须配对出现。(2)为使程序清晰易读,对分支、循环等结构应使用缩
13、格书写方式,见上述例。(3)分支、循环的每种语句都不允许在一个命令行中输入完,必须按本书所示语句格式一行一个回车分行键人。由此可见,这些语句不能用于命令窗口中。1/11/202328第四章4.2.4 循环结构循环结构一、条件循环一、条件循环语句格式:DOWHILEENDDO功能:若DOWHILE子句的循环条件为假循环就结束,执行ENDDO子句后面的语句;条件为真则执行循环体,一旦遇到ENDDO就自动返回到DOWHILE重新判断循环条件是否成立,以决定是否继续循环。1/11/202329第四章说明:1.语句格式中的称为循环条件,称为循环体,循环体可以是一个语句或一组语句。2.ENDDO语句是循环
14、终止语句,表示循环以此语句为终点。但执行到ENDDO语句时并不是直接退出循环,而是转到DOWHILE语句去判断的值的真假。3.循环语句本身不会修改执行条件,因此循环体内一定要设置修改循环条件的语句。否则,可能出现死循环,无法退出循环。1/11/202330第四章例例4-7:试编一程序,显示商品销售表.DBF中所有单价超过2000元的商品编号。CLEARUSE商品销售表DOWHILE.NOT.EOF()IF单价2000?商品编号ENDIFSKIPENDDOUSE1/11/202331第四章例4-8:STORE0TOK1,K2,K3ZS=1DOWHILEZS=200ACCEPT“请输入选票代号”T
15、OXPDOCASECASEXP=“1”K1=K11CASEXP=“2”K2=K2lCASEXP=“3”K3=K31ENDCASEZS=ZS1ENDDO?“甲得票数:”STR(K1)?“乙得票数:”STR(K2)?“丙得票数:”STR(K3)RETURN1/11/202332第四章二、步长循环二、步长循环语句格式:FOR=TOSETPENDFOR|NEXT说明:语句格式中的称为循环变量,、分别称为初值、终值、步长。步长的缺省时值为1。1/11/202333第四章功能:语句执行时,通过比较循环变量值与终值来决定是否执行。步长为正数时,若循环变量值不大于终值就执行循环体;步长为负数时,若循环变量值不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 Visual FoxPro 第四 课件
限制150内