《数据库程序设计》第八章.ppt
《《数据库程序设计》第八章.ppt》由会员分享,可在线阅读,更多相关《《数据库程序设计》第八章.ppt(58页珍藏版)》请在三一办公上搜索。
1、1,第八章 结构化程序设计,教学内容:结构化程序设计方法;程序中专用命令;程序文件操纵方法;三种控制结构的原理、描述、设计与实现;子程序原理、定义、调用、实现;程序中数据量使用规则。重 点:三种控制结构的原理、描述、设计与实现;子程序原理、定义、调用、实现。难 点:三种控制结构和子程序的设计与实现。,2,8.1 程序文件的使用8.2 程序文件中的交互式输入输出命令8.3 程序的基本结构8.4 多模块程序,第八章 结构化程序设计,3,8.1 程序文件的使用,VFP的三种工作方式:菜单方式命令方式程序方式8.1.1 程序文件的建立格式:modify command 功能:打开程序编辑窗口,用来建立
2、或修改程序.说明:程序文件的扩展名为.prg关闭编辑窗口时按Ctrl+w或编辑窗口右上角的关闭按钮保存关闭,按ESC不保存关闭.,4,8.1 程序文件的使用,8.1.2 程序的运行格式:do 举例:计算半径为3的圆面积,需完成以下操作:给出圆的半径r 按公式S=*r*r 计算出圆面积 输出圆面积,对应程序代码如下:r=3 s=*r*r?”圆面积=”,s,问题的求解过程:输入数据 处理数据 输出数据,5,8.2 程序文件中的交互式输入输出命令,定位输入输出命令格式:SAY GET 功能:在屏幕的指定行列输出SAY子句的表达式值,并可修改GET子句的变量值说明:表示数据在窗口中显示的位置,行列都是
3、数值表达式 SAY子句用于输出提示信息 GET子句用于输入及编辑数据,GET子句中的变量必须具有初值,数值型一般为零,字符型一般为若干个空格。GET子句的变量必须用READ命令来激活,即:在若干带有GET子句的定位输入输出命令后,必须遇到READ命令才能编辑GET变量,6,8.2 程序文件中的交互式输入输出命令,WAIT命令格式:WAIT TO WINDOW AT,TIMEOUT功能:暂停程序的运行,直到用户输入一个字符,也可用于输出一条提示信息说明:显示在屏幕上,若缺省则显示“按任意间继续”TO子句中,用来保存键入的字符,如本句缺省则输入的字符不保存 WINDOW子句使主屏幕上出现一个提示窗
4、口,位置可由AT子句决定,若AT子句缺省,将显示在屏幕右上角TIMEOUT:设定等待时间(秒数),超时会自动往下执行,7,例:在命令窗口输入命令wait aa to x?xwait aa to x windows at 5,5?xwait aa to x windows at 5,5 timeout 5?x,8,8.2 程序文件中的交互式输入输出命令,INPUT格式:INPUT TO 说明:等待用户从键盘输入数据,并将其送入内存变量用户数据可为任何类型,但不能为空用户以回车键结束输入状态,程序自动向下执行为显示出来的用户提示ACCEPT格式:ACCEPT TO 说明:等待用户从键盘输入字符串,
5、并将其送入内存变量用户输入字符串时不需要使用定界符用户以回车键结束输入状态,程序自动向下执行若用户不输入任何字符串,直接回车,则将空串赋给内存变量为显示出来的用户提示,9,8.3 程序的控制结构,程序的基本控制结构,一、顺序结构 运行程序时,按语句排列的先后顺序,一条接一条地依次执行。,顺序结构程序设计示例,注:1)一行只能写一条命令,以回车键结束。2)SET TALK ON|OFF显示或取消执行状态信息,10,SET TALK OFFCLEARUSE 成绩AVERAGE 成绩 TO XLIST FOR 成绩XUSESET TALK ON,11,SET TALK OFFCLEARINPUT“请
6、输入第一个数:”TO XINPUT“请输入第二个数:”TO YM=MAX(X,Y)?”最大的数是:”,MSET TALK ON,输入任意两个数,编写程序求其中最大值,12,二、分支(选择)结构 在两条或多条程序路径中选一条执行1、简单的条件语句格式:IF ENDIF功能:若为真,执行,否则执行ENDIF之后的语句,13,INPUT“请输入第一个数:”TO XINPUT“请输入第二个数:”TO YM=XIF YM M=YENDIF?”最大的数是:”,M,输入任意两个数,编写程序求其中最大值,14,某地到北京“特快专递”计费标准为:不超过100克时每克0.05元,若超出,超出数每克0.02元,试编
7、写程序计算邮费,Input“请输入邮件重量:”to wf=w*0.05if w100 f=100*0.05+(w-100)*0.02endif?“邮费为:”,f,15,试编写程序在学生表中根据输入的学号查询学生的姓名和生日,use 学生 accept“输入待查学生学号:”to xh locate for 学号=xh if found()?”姓名:”,姓名,”生日:”,生日 endif use,此处也可换成.not.eof(),16,2、带ELSE的条件语句格式:IF ELSE ENDIF功能:若为真执行,为假执行,17,INPUT“请输入第一个数:”TO XINPUT“请输入第二个数:”TO
8、YIF XY M=XELSE M=YENDIF?”最大的数是:”,M,输入任意两个数,编写程序求其中最大值,18,Input“请输入邮件重量:”to wif w=100 f=w*0.05else f=100*0.05+(w-100)*0.02endif?“邮费为:”,f,某地到北京“特快专递”计费标准为:不超过100克时每克0.05元,若超出,超出数每克0.02元,试编写程序计算邮费,19,试编写程序在学生表中根据输入的学号查询学生的姓名和生日,use 学生 accept“输入待查学生学号:”to xh locate for 学号=xh if found()?”姓名:”,姓名,”生日:”,生日
9、 else?”查无此人!”endif use,20,从键盘输入一个数,判断其为奇数还是偶数,input“请输入x的值:”to xif mod(x,2)=0?”偶数”else?”奇数”endif,偶数判别条件:INT(x/2)=x/2MOD(x,2)=0奇数判别条件:INT(x/2)x/2MOD(x,2)0MOD(x,2)=1,21,3、条件语句嵌套格式:,22,编写程序,对不同的x计算函数y的值,input“请输入x:”to x if x=50 y=3*x else if x=100 y=5*x else y=7*x endif endif?”y的值:”,y,23,3、多分支语句格式:DO C
10、ASE CASE CASE CASE OTHERWISE ENDCASE,功能:若某CASE语句为真,执行该CASE段的,然后执行ENDCASE后的语句。,24,25,编写程序,对不同的x计算函数y的值,input“请输入x:”to x do case case x=50 y=3*x case x=100 y=5*x otherwise y=7*x endcase?”y的值:”,y,26,显示当前季节的程序,Yue=month(date()Do case Case inlist(yue,3,4,5)Jj=“春”Case inlist(yue,6,7,8)Jj=“夏”Case inlist(yu
11、e,9,10,11)Jj=“秋”Case inlist(yue,12,1,2)Jj=“冬”EndcaseWait jj window,27,已知有三个数据表,分别是rcda.dbf、zytc.dbf 和xscj.dbf,编写一个程序在选择1、2、3时,分别打开不同表,CLEARACCEPT“请输入您的选择:(1-3)”TO YDO CASECASE Y=1 USE rcda LISTCASE Y=2 USE zytc LISTCASE Y=3 USE xscj LIST OTHERWISE?”对不起,您的输入有误!”ENDCASE,28,使用分支语句应注意的几点IF ENDIF 和 DO CA
12、SE ENDCASE 必须配对使用,DO CASE与第一个CASE条件表达式之间不应有任何命令。条件表达式可以是各种表达式或函数的组合,其值必须是逻辑值。命令行序列可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。DO CASE ENDCASE 命令,每次最多只能执行一个命令行序列。在多个CASE项的条件表达式值为真时,只执行第一个条件表达式值为真的命令行序列,然后执行 ENDCASE 的后面的第一条命令。,29,三、循环结构 某循环体中的多条语句多次被执行1、条件循环格式:DO WHILE ENDDO功能:若为真,执行循环体,遇到ENDDO返回,重新判断逻辑表达式。若为假,循环结束
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库程序设计 数据库 程序设计 第八
链接地址:https://www.31ppt.com/p-5898642.html