版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(中职)Visual FoxPro数据库技能教程 第5章ppt课件第5章 Visual FoxPro程序设计 5.1 技能1:结构化程序设计5.2 技能2:数组5.3 技能3:过程与用户自定义函数2技能目标 程序文件的基本操作方法顺序结构程序设计选择结构程序设计循环结构程序设计数组过程与自定义函数35.1 技能1:结构化程序设计 5.1.1 程序文件基本操作5.1.2 顺序结构程序设计5.1.3 选择结构程序设计 5.1.4 循环结构程序设计 45.1.1 程序文件基本操作1. 建立程序文件(1)用菜单方式建立程序文件实例1:创建一个程序文件P1.PRG。 选择【文件】|【新建】命令,打开“新
2、建”对话框。 在“新建”对话框中选择“程序”选项。 单击“新建文件”按钮,打开“程序1”窗口,开始新程序文件的编写。A=9?A55.1.1 程序文件基本操作 程序输入完成后,选择【文件】菜单中的【保存】命令,在弹出的对话框中选择保存位置(本章中所有程序保存路径为“E:职工管理progs”,以下相同,不再说明)并输入程序文件名“P1.PRG”。65.1.1 程序文件基本操作(2)用项目管理器方式建立程序文件实例2:用项目管理器方式创建上述程序文件P1.PRG。 在项目管理器中选择“代码”选项卡。 选择“程序”,单击“新建”按钮,打开“程序1”窗口,开始新程序文件的编写。 保存方法同上。 75.1
3、.1 程序文件基本操作(3)用命令方式建立程序文件实例3:用命令方式创建上述程序文件P1.PRG。在命令窗口中输入: MODIFY COMMAND P1.PRG创建“程序1”程序文件窗口,等待用户输入新文件的内容。85.1.1 程序文件基本操作2. 修改程序文件实例4:修改已经建立的P1.PRG。方法一:用菜单方式修改(1)选择【文件】|【新建】命令,打开“打开”对话框。(2)从“打开”对话框的“文件类型”列表框中选择“程序(*.prg;*.spr;*.mpr;*.qpr)”类型,然后再从“文件名”列表中选择P1.PRG。(3)单击“确定”按钮。95.1.1 程序文件基本操作方法二:用项目管理
4、器方式修改程序文件(1)在项目管理器中选择“代码”选项卡。(2)单击“程序”前的“+”,选择P1.PRG。(3)单击“修改”按钮。方法三:用命令方式修改程序文件使用MODIFY COMMAND 命令,若文件已经存在,则打开该文件修改。 105.1.1 程序文件基本操作3. 运行程序文件实例5:运行已经建立的P1.PRG。方法一:用菜单方式运行程序文件(1)选择【程序】|【运行】命令。(2)从“运行”对话框中选择P1.PRG。(3)单击“运行”按钮。115.1.1 程序文件基本操作方法二:用项目管理器方式运行程序文件(1)在项目管理器中选择“代码”选择卡。(2)单击程序前的“+”,选择P1.PR
5、G。(3)单击“运行”按钮。方法三:用命令方式运行程序文件在命令窗口中输入 DO P1.PRG。125.1.2 顺序结构程序设计基本语句(1)交互式赋值命令 输入单字符命令格式:WAIT 提示信息 TO 变量 功能:执行该命令时,程序暂停运行,等待用户输入单个字符。 135.1.2 顺序结构程序设计实例6:编写程序P2.PRG,显示职工.DBF中的前6条记录,要求每显示3条记录便暂停运行,以便查看。 程序如下:USE 职工LIST NEXT 3SKIPWAITLIST NEXT 3SKIPWAITUSE145.1.2 顺序结构程序设计 输入字符串命令格式:ACCEPT 提示信息 TO 变量功能
6、:执行该命令时,等待用户通过键盘输入一串字符存入变量中,用户输入完字符并回车后,程序继续向下执行。 155.1.2 顺序结构程序设计实例7:编写程序P3.PRG,在职工.DBF中输入某职工姓名,查找并显示此人的职工号。 程序如下:CLEARUSE 职工ACCEPT 请输入查询职工的姓名:TO XMLOCATE FOR 姓名=XMDISPLAY FIELDS 职工号USE165.1.2 顺序结构程序设计执行程序的结果如下:请输入查询职工的姓名:林丽记录号 职工号 2 1002175.1.2 顺序结构程序设计 输入任意类型数据的命令格式:INPUT 提示信息 TO 变量功能:执行该命令时,程序运行
7、暂停,等待用户从键盘输入数据存入变量中,用户输入完数据并按回车键后,程序继续向下执行。18知识链接命 令WAITACCEPTINPUT定义变量的类型CCN、C、L、D接收数据的长度1个0254个不限键盘输入数据后是否要按回车键不需要需要需要适用情况暂停、选择临时赋值临时赋值3种交互式命令的异同 195.1.2 顺序结构程序设计(2)清屏幕命令格式:CLEAR功能:清除屏幕上的所有信息。 205.1.2 顺序结构程序设计2. 顺序结构程序设计实例8:编写程序P4.PRG,从键盘输入圆的半径R,通过圆面积公式R2,计算圆的面积S。 程序如下:*求圆的面积SCLEARINPUT 圆的半径R=TO R
8、S=3.14*R*R?圆的面积S=,SRETURN215.1.2 顺序结构程序设计实例9:编写程序P5.PRG,在“职工.dbf”中显示所有助理工程师的相关资料。 程序如下:CLEARUSE 职工LIST FOR 职称=助理工程师USE225.1.3 选择结构程序设计单/双分支条件选择结构(1)单分支格式: IF 条件表达式 语句行序列 ENDIF功能:如果条件表达式为真(.T.),则执行语句行序列。235.1.3 选择结构程序设计实例10:编写程序P6.PRG,从键盘上输入一个数,若该数能被3或7整除,则输出该数的平方。 程序如下:CLEARINPUT 输入一个数: to XIF INT(X
9、/3)=X/3 OR INT(X/7)=X/7?X*XENDIFRETURN245.1.3 选择结构程序设计实例11:编写程序P7.PRG,对于职工.DBF,编写一个程序段实现将表中的数据指针上移一条记录。 程序如下:*上移一条记录SKIP 1IF BOF()GO TOPENDIF255.1.3 选择结构程序设计(2)双分支格式: IF 条件表达式 语句序列1 ELSE 语句序列2 ENDIF功能:如果条件表达式为真(.T.),则执行语句序列1,如果条件表达式为假(.F.),则执行语句序列2。265.1.3 选择结构程序设计实例12:编写程序P8.PRG,输入X,依据以下分段函数求Y值。 程序
10、如下:INPUT X=TO XIF X5 Y=X*X+7ELSE Y=10*X-2ENDIF?Y=,YRETURN275.1.3 选择结构程序设计实例13:编写程序P9.PRG,对于工资.DBF,编程实现如下功能:若基本工资在1 000元以下,则补贴增加50元,否则补贴增加100元。 程序如下:USE 工资IF 基本工资B AND AC MAX=AELSE IF BA AND BC MAX=B ELSE MAX=C ENDIFENDIF?最大值为:,MAXRETURN305.1.3 选择结构程序设计3. 多分支条件选择结构(情况语句)格式: DO CASE CASE 条件表达式1 语句序列1
11、CASE 条件表达式2 语句序列2 CASE 条件表达式n 语句序列n OTHERWISE 语句序列n+1 ENDCASE315.1.3 选择结构程序设计实例15:编写程序P11.PRG,根据键盘输入的X值,计算下面分段函数的值,并显示计算结果。CLEARINPUT “X=” TO XDO CASECASE X0 .AND. X10 Y=X*X-1ENDCASE?分段函数的值为:+STR(Y,2)RETURN325.1.3 选择结构程序设计实例16:编写程序P12.PRG,在“工资.DBF”文件中查找任一职工,根据其补贴金额判断其补贴等级。其中补贴在300元以上的为一等,补贴在200300元之
12、间的为二等,补贴在100200元之间的为三等,补贴在100元以下的为四等。 程序如下:CLEARUSE 工资ACCEPT “职工号:” TO ZHLOCATE ALL FOR 职工号=ZH335.1.3 选择结构程序设计IF .NOT. EOF() DO CASE CASE 补贴=300 ?“一等” CASE 补贴=200 ?“二等” CASE 补贴=100 ?“三等” OTHERWISE ?“四等” ENDCASEELSE ?“职工号输入错”ENDIFUSERETURN345.1.3 选择结构程序设计4. IIF函数 Visual FoxPro 6.0中还提供了一个条件函数,用它来编写简单的
13、分支程序相当方便。格式:IIF(条件表达式,表达式1,表达式2)功能:当条件表达式为.T.时,函数取表达式1的值;当条件表达式为.F.时,函数取表达式2的值。355.1.3 选择结构程序设计实例17:有如下条件语句。 IF X10 Y=X+X ELSE Y=X*X ENDIF将这段程序用IIF函数来表示: Y=IIF(X10,X+X,X*X)36实验九 顺序结构与分支结构程序设计1. 实验目的:(1)掌握结构化程序设计的基本方法。(2)掌握交互式命令的使用方法。(3)学会编写顺序、选择结构的程序。2 实验要求及内容。(1)分析并调试下列程序,给出运行结果。 A=20B=15A=A+BB=A-B
14、A=A-B?A,B37实验九 顺序结构与分支结构程序设计 X=21DO CASECASE X10 ?OK1CASE X20 ?OK2OTHERWISE ?OK3ENDCASE(2)编写并上机调试如下程序,程序文件名为P9-4.PRG。38实验九 顺序结构与分支结构程序设计 从键盘输入半径R,编程序求出球的体积V= (4/3)R3,程序文件名为P9-1.PRG。 从键盘输入A、B、C的值,求一元二次方程的两个根,程序文件名为P9-2.PRG。 任意输入某一成年人身高与体重,若身高超过150,则判断是否为标准体重(标准体重公式:体重=身高-105),并指出“过胖”或“过瘦”,程序文件名为P9-3.
15、PRG。 对不同的购货款给予不同的优惠价,输入购货款E,按以下折扣D输出实际应交款额。39实验九 顺序结构与分支结构程序设计 0 0E100 5% 100E300 D= 10% 300E500 15% 500E750 20% 750E3. 完成实验报告。405.1.4 循环结构程序设计 1DO WHILE ENDDO格式: DO WHILE 条件表达式 语句序列1 LOOP 语句序列2 EXIT 语句序列3 ENDDO415.1.4 循环结构程序设计实例18:编写程序P13.PRG,求1100之间的奇数和。CLEARS=0N=1DO WHILE N=100 IF INT(N/2)N/2 S=S
16、+N ENDIF N=N+1ENDDO?1-100之间的奇数和是,SRETURN425.1.4 循环结构程序设计实例19:编写程序P14.PRG,用循环结构统计“工资.dbf”中所有人的基本工资总额和平均值。CLEARSUM=0K=0USE 工资DO WHILE .NOT. EOF() SUM=SUM+基本工资 K=K+1 SKIPENDDO?基本工资总额为:+STR(SUM,6)?基本工资平均值为:+STR(SUM/K,6)RETURN435.1.4 循环结构程序设计2FOR ENDFOR格式: FOR 控制变量=初值 TO 终值 STEP 步长 语句序列 LOOP EXIT ENDFOR4
17、45.1.4 循环结构程序设计实例20:编写程序P15.PRG,求10!的值。程序如下:CLEARS=1N=1FOR N=1 TO 10 S=S*NENDFOR?SRETURN455.1.4 循环结构程序设计实例21:编写程序P16.PRG,打印数据表“职工.dbf”中的全部字段名。程序如下:CLEARUSE 职工 M=FCOUNT() FOR N=1 TO M ?FIELDS(N) ENDFOR USE RETURN46知识链接FCOUNT()函数:返回当前打开的数据表中的字段数。FIELDS(N)函数:显示第N个字段的字段名。475.1.4 循环结构程序设计3. SCAN ENDSCAN格
18、式:SCAN FOR 条件表达式|WHILE 条件表达式 范围 语句序列 LOOP EXITENDSCAN功能:对当前数据表文件中满足条件的记录进行加工处理。485.1.4 循环结构程序设计实例22:编写程序P17.PRG,显示工资表中基本工资在1 000元以上,工龄工资在400元以上的记录。程序如下: CLEAR USE 工资 SCAN FOR 基本工资1000 AND 工龄工资400 DISPLAY ENDSCAN USE RETURN495.1.4 循环结构程序设计4多重循环实例23:编写程序P18.PRG,输出乘法口决表。程序如下:CLEARFOR I=1 TO 9?FOR J=1 T
19、O I?STR(J,3)+*+STR(I,1)+=+STR(I*J,2)NEXT JNEXT IRETURN50实验十 循环结构程序设计 1.实验目的:(1)学会编写简单的循环结构程序。(2)在循环结构程序中使用LOOP 和EXIT语句。(3)掌握多重循环的运行过程。2.实验要求及内容。(1)分析并调试下列程序,写出运行结果。51实验十 循环结构程序设计 程序如下:STORE 0 TO A,BDO WHILE .T. A=A+1 DO CASE CASE INT(A/3)=A/3 LOOP CASE A6 EXIT OTHERWISE B=B+AENDCASEENDDO?A,BRETURN52
20、实验十 循环结构程序设计 程序如下:N=5S=1DO WHILE N1 N=N-1 S=S*NENDDO?S=,SRETURN53实验十 循环结构程序设计 程序如下:CLEARI=1DO WHILE I=4J=1 DO WHILE J=5 ?* J=J+1 ENDDO ? I=I+1ENDDORETURN54实验十 循环结构程序设计(2)编写并上机调试如下程序。 编程计算50200之间的奇数和,程序中使用LOOP语句,程序文件名为P10-1.PRG。求满足条件的最大整数N:12+22+32+N2100,程序文件名为P10-2.PRG。 分别统计“职工.DBF”中男职工和女职工的人数,程序文件名
21、为P10-3.PRG。 对于“职工.DBF”和“工资.DBF”,能根据键盘输入的姓名,显示该职工的个人资料和工资情况,程序文件名为P10-4.PRG。555.2 技能2:数组 数组的定义格式:DIMENSION 数组名(下标1,下标2)功能:定义一维或二维数组。565.2 技能2:数组实例24:定义一个具有5个元素的一维数组。DIMENSION A(5) 实例25:定义一个2行3列的二维数组。DIMENSION B(2,3)数组中各元素的排列顺序为:B(1,1),B(1,2),B(1,3),B(2,1),B(2,2),B(2,3)共6个元素。 575.2 技能2:数组2. 数组元素的赋值方法
22、数组元素的赋值方法与内存变量的赋值方法相同,即可以用“=”命令或STORE命令对数组元素赋值。585.2 技能2:数组实例26:写出下列程序的运行结果。CLEARDIMENSION Y(3,4)FOR I=1 TO 3 FOR J=I+1 TO 4 Y(I,J)=I+J ENDFORENDFOR?Y(3,2),Y(3,3),Y(3,4)595.2 技能2:数组3. 数组元素与数据表元素的互相传送(1)数据表数据传送到数组格式:SCATTER TO 数组名 FIELDS 字段名表功能:将当前数据表当前记录的指定字段值依次赋给数组变量。605.2 技能2:数组实例27:编写程序P19.PRG,将“
23、职工.DBF”表的第一条记录的姓名、性别、出生日期、职称4个字段的值传送到X数组中。CLEARDIMENSION X(3,2)USE 职工DISPSCATTER FIELDS 姓名,性别,出生日期,职称 TO X?X(1,1),X(1,2),X(2,1),X(2,2)RETURN615.2 技能2:数组(2)数组元素的值传送到数据库格式: GATHER FROM 数组名 FIELDS 字段名表功能:将指定数组中各元素的值传送到当前表当前记录的指定字段中去。625.2 技能2:数组实例28:编写程序P20.PRG,将“职工.DBF”数据表中的第4条记录和第6条记录的内容互换。DIMENSION
24、A1(10),A2(10)USE 职工GO 4SCATTER TO A1SKIP 2SCATTER TO A2GATHER FROM A1SKIP -2GATHER FROM A2USE 63实验十一 数组1. 实验目的:(1)掌握数组的定义方法。(2)掌握数组元素的赋值。(3)掌握数组与数据表之间传送数据的方法。2. 实验要求及内容。(1)定义数组及给数组元素赋值。 定义一个具有4个元素的一维数组和一个2行3列的二维数组。 用LIST MEMORY命令查看它们未赋值以前的值。 将数组中元素赋值:B(1,1)=32,B(1,2)=“中国”,B(1,3)=DATE()B(2,1)=.T.,A数组
25、中的全部元素为0。64实验十一 数组(2)数据表与数组元素传递。对于数据表“工资.dbf”,输入如下程序: USE 工资 LIST GO 3 SCATTER TO B FIELDS 职工号、姓名、年月份、基本工资、补贴 ?B(1,2),B(1,3),B(2,2)程序的运行结果是什么?分析并上机验证。65实验十一 数组(3)设有“课程表.DBF”的内容如下: RECORD# 编号 课程名称 任课教师 性别 学时数 类别 1 0001 计算机基础 王大伟 男 30 必修 2 0003 数据库技术 邓莲丽 女 46 必修 3 0005 离散数学 张菁菁 女 36 必修 下面的程序是修改表中的第2条记
26、录,将课程名称改成“程序设计”,任课教师改成“王斌”,类别改成“选修”,其他字段内容不变,请将程序补充完整。66实验十一 数组USE 课程表DIMENSION _K(1)=程序设计K(2)=王斌K(3)=选修_GATHER _USE3. 完成实验报告。675.3 技能3:过程与用户自定义函数 5.3.1 过程5.3.2 用户自定义函数685.3.1 过程1过程文件的建立 过程文件和其他命令文件一样,在命令窗口中,使用MODIFY COMMAND 过程文件名来建立。格式:PROCEDURE 过程名(形式参数表) 命令序列 RETURN 返回值 ENDPROC功能:定义过程。695.3.1 过程2
27、过程文件的调用格式:DO 或 = 或 () 如果执行过程且传送参数,则使用:DO 过程文件名 WITH 实际参数表或 =(实际参数表) 或 (实际参数表) 705.3.1 过程实例29:分析下面程序的运行结果。 &主程序 CLEAR ?A DO PROC1 ?B DO PROC2 WITH 2,4 ?C =PROC2(5,4) &过程 PROCEDURE PROC1 ?D ENDPROC PROCEDURE PROC2(PARA1,PARA2) ?PARA1+PARA2 ENDPROC715.3.1 过程执行结果如下:ADB6C9725.3.2 用户自定义函数格式: FUNCTION 函数名(形式参数表) 语句行序列 RETURN 返回值 ENDFUNC功能:用户自定义一个函数。函数调用格式:(实际
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软装设计师职业发展路径回顾与总结
- 新能源汽车常见故障识别与处理技巧
- 产品市场进入策略与竞争分析计划
- 预算管理制定和执行企业预算的好用指南-预算管理
- 厂务系统优化报告
- 酒店总经理客户服务质量提升方案策划书
- 海洋探索的助手中国海洋注册工程潜水员的工作规划
- 幼儿园收体测费通知书
- 广瑞公寓停电通知书
- 延川县中学开学通知书
- 本科合格评估学院院长汇报
- 2025年考研基础医学考研真题解析(含答案)
- 初中生物2025-2026学年人教版生物七年级上册期中测试卷
- 2024年人教版九年级化学上册全册教案
- 养老护理员中级理论知识试卷及答案
- 2025-2030老年营养餐市场空白与产品开发建议
- 2025年党建知识竞赛题及答案
- 2025-2026学年人教版(2024)数学七年级上册期中测试卷
- 2025年全员安全培训考试试题含答案(基础题)
- 2025浙江绍兴市应急管理局招聘编外人员1人考试参考试题及答案解析
- 酒店员工礼仪培训
评论
0/150
提交评论