[工学]06Visual FoxPro程序设计基础

上传人:油条 文档编号:49624081 上传时间:2018-07-31 格式:PPT 页数:112 大小:1.65MB
返回 下载 相关 举报
[工学]06Visual FoxPro程序设计基础_第1页
第1页 / 共112页
[工学]06Visual FoxPro程序设计基础_第2页
第2页 / 共112页
[工学]06Visual FoxPro程序设计基础_第3页
第3页 / 共112页
[工学]06Visual FoxPro程序设计基础_第4页
第4页 / 共112页
[工学]06Visual FoxPro程序设计基础_第5页
第5页 / 共112页
点击查看更多>>
资源描述

《[工学]06Visual FoxPro程序设计基础》由会员分享,可在线阅读,更多相关《[工学]06Visual FoxPro程序设计基础(112页珍藏版)》请在金锄头文库上搜索。

1、数据库应用 经管类第六章 Visual FoxPro程序设计基础红烧肉菜谱n 准备肉:上好五花肉,沸水焯去污物,切麻将块大小 n 准备调料:白糖、姜片、油盐醋、丁香、胡萝卜 n 烧热油,放两勺白糖和二两姜片(鲜姜一块切成)进去 翻炒片刻 n 放入块状五花肉一道翻炒,直至颜色变黄,油也煸出不 少 n 加水至漫过肉块,加酱油少许、盐、二两中国醋、丁香 四、五枚 n 起锅前十分钟加胡萝卜块 n 水收干后起锅2信息管理学院数据库应用课程 组程序概念n参见Wiki解释 http:/ 5%BA%8Freturn girl. 嫁给(boy);5信息管理学院数据库应用课程 组if( girl.愿意等 ()wh

2、ile(!(boy.赚钱 100,000 and girl.感情 8 )for ( day=1; day 100,000 and girl.感情 8 )for ( day=1; day |?q命令功能:启动文本编辑器。 2. 菜单方式详见课本6.1.2节13信息管理学院数据库应用课程 组6.1.3 程序文件的编译和执行(1)1. 编译 编译是将源程序转换成目标程序。 编译有命令和菜单两种方式。 (1)命令方式q命令格式: Compile |?q命令功能:对指定的程序文件进行编译。 (2)菜单方式详见课本6.1.3节14信息管理学院数据库应用课程 组6.1.3 程序文件的编译和执行(2)2. 执

3、行 程序文件输入存盘或再经编译后,系统可自动连续执 行文件中的每条命令或语句。 程序文件的执行有命令和菜单两种方式。 (1)命令方式q命令格式:DO | ?q功能:将程序文件从磁盘调入内存并执行。 (2)菜单方式详见课本6.1.3节15信息管理学院数据库应用课程 组6.1.4 命令方式的输入输出语句(1 )1. 注释符*/ 定义的数组元素初值为.F.83信息管理学院数据库应用课程 组6.4 数组的应用 例子dimension A(N) 长度为N的一维数组dimension B(n,m) n行,m列的二维数组A(1)A(2)A(N- 1)A(N )B(1,1),B(1,2),.,B(1,m) B

4、(2,1),B(2,2),.,B(2,m) B(n,1),B(n,2),.,B(n,m)数组元素的类型由所赋的值决定84信息管理学院数据库应用课程 组6.4 数组的应用例子 排序(1)n例:向长度为20的一维数组中随机地输入20 个数,然后对数组元素按降序排列,最后再 输出排列后的数组。85信息管理学院数据库应用课程 组例:向长度为20的一维数组中随机地输入20个数,然后对数组元素按由大到小顺 序降序排列,最后再输出排列后的数组。12168242481612 248482第1遍共需N-1次比较假设共有6个待排序的数(N=6)第2遍162412488共需N-2次比较第3遍16244812共需N-

5、3次比较第4遍244816共需N-4次比较第5遍4824共需N-5次比较结 论: 有 N 个待排序的数共需比较 N-1 遍第 i 遍需要比较 N-i 次86信息管理学院数据库应用课程 组6.4 数组的应用例子 排序(2)CLEAR DIMENSION A(20)&定义数组 FOR K=1 to 20 INPUT 请输入数据: to A(K) NEXT FOR W=1 to 19 &外循环 比较轮次数 FOR N=1 to 20-W & 内循环 本轮需要比较的元素 IF A(N) to 数组列表|数组元素列表q数组名|数组元素 = n数据表中记录数据与数组之间的传送qScatter fields

6、 to MEMOqGather from fields MEMOn针对数组的系统函数qAINS 在数组中增加元素qADEL在数组中删除元素qASORT给数组排序qACOPY复制数组92信息管理学院数据库应用课程 组习题n以循环方式输出1到10的数字n求0100之间奇数之和n统计学生表中少数民族学生人数n学生表中,成绩在560分以下的加20分93信息管理学院数据库应用课程 组习题n假定对齐的列为屏幕上的第20列,行不做要 求,编写程序输出下列二种图形# # # # # #第20列第20列94信息管理学院数据库应用课程 组休息一下!Next section: 程序的模块化设计方法95信息管理学院数

7、据库应用课程 组6.5 程序的模块化设计方法(1)n了解程序的模块化设计方法n了解子程序、过程和用户自定义函数n了解全局变量和局部变量的区别96信息管理学院数据库应用课程 组程序的模块化设计方法n一个实际的应用系统往往比较复杂,按其功 能组成可划分为若干模块n相应的软件系统由许多程序文件(子程序, 过程文件)所组成。每一个功能模块一般即 是一个相对独立的程序文件或过程文件。n模块间从上到下逐级调用,然后从下到上逐 级返回,相应地,程序也从上到下逐级调用 ,然后从下到上逐级返回。97信息管理学院数据库应用课程 组应用系统功能划分教学管理信息系统信息添加信息修改信息查询教学管理数据库学生班级课程成

8、绩学生班级课程成绩主模块子模块1子模块2子模块3子模块11子模块21子模块12子模块22.程序的模块化设计98信息管理学院数据库应用课程 组模块化程序设计示例n求11000之内的素数之和主程序sum.prgClear Set talk off Flag=.F. &定义局部变量 Sum = 0.0 &定义局部变量 For k=1 to 1000 step 1do check with kif Flag=.T. sum=sum+k Flag=.F. ?k,endif Endfor ? “sum =”,sum*判断一个给定的整数是否素数的程序 *参数x Parameter x xx=int(sqrt

9、(x) For i=2 to xx step 1if (mod(x,i)=0)exitendif Endfor If(ixx)Flag=.T. &注意这里的变量Flag Endif return子程序check.prg99信息管理学院数据库应用课程 组主程序与子程序n通常,被调用的程序称为子程序,调用程序 的程序称为主程序,或者说,当两个程序之 间存在调用关系,被调用者称为子程序,调 用者称为主程序。n主程序与子程序的概念是相对的,当子程序 又调用下一级子程序时,则此子程序相对于 下一级子程序便是主程序了,而对于调用它 的主程序而言,它仍然是子程序。因此,“主 ”和“子”要看相对于“谁”而言。

10、100信息管理学院数据库应用课程 组6.5 程序的模块化方法(2)n对于一个用FoxPro开发的应用系统,通常只有一个主程 序,其余均为分级调用的子程序。n在FoxPro中,子程序与主程序一样,均为程序文件( .PRG文件),都可由MODIFY COMMAND命令来建n子程序的最后一条语句通常为RETURN,以便当子程序执 行结束后能将控制转到调用它的上级程序处。命令格式:RETURN |TO MASTER |TO 命令功能:中止一个子程序、过程或用户定义函数的执行,返回到上 一级调用程序(默认)、最高级调用程序、另外一个程序或者命令窗口。101信息管理学院数据库应用课程 组6.5 程序的模块

11、化方法(3)n子程序的调用n子程序调用命令与主程序执行命令相同,其格式 都为:DO | WITH 其中,WITH 子句指定传递到程序或 过程的参数,在中列出的参数可以是表达式、内存变量、常量、字段名或用户定义函 数。各参数用逗号分隔。n可把参数放在圆括号中表示使用传值方式,否则使用地 址引用方式。102信息管理学院数据库应用课程 组子 程序的嵌套 DO sub1 DO sub2 RETURN DO sub11 DO sub21 RETURN DO sub11 RETURNRETURNRETURN TO MASTERmastersub1sub2sub11sub21103信息管理学院数据库应用课程

12、 组过程(自学)n过程定义 Procedure Parameters Return Endprocn过程可以保存在主程序中,也可以保存为独立的文 件(称为过程文件)n调用 Set procedure to ADDITIVE Release procedure , Do with 104信息管理学院数据库应用课程 组用户自定义函数(自学)n函数定义 Function Parameters Return &必须返回一个值 Endfuncn用户函数可以保存在主程序中,也可以保存为独立 的程序文件n函数调用q(参数表)&圆括号不能省略q参考例6-24105信息管理学院数据库应用课程 组变量的存在范围(

13、自学)n全局变量:q作用范围:作用于任何命令或程序中q命令窗口中定义的变量为全局变量q程序中必须用public声明全局变量:nPulibc 变量名列表n局部变量:q作用于定义/声明它的程序中 以及q作用于定义/声明程序所调用的任何一级子程序中q程序中未用public声明的全部为局部变量n变量屏蔽:本地声明的局部变量将自动屏蔽 同名的全局变量或上级程序中的同名变量106信息管理学院数据库应用课程 组第6章 小结n了解程序设计一般步骤n了解算法的概念和一般特征n掌握VF程序文件的操作命令和操作方法n了解VF程序的调试方法n掌握分支选择结构的程序设计方法和命令语句q二重分支 ifelseendifq

14、多重分支 do casecaseotherwiseendcase n掌握循环结构的程序设计方法和命令语句qDo while loopexit enddoqfor loopexit endfor/nextqscan loopexit endscann了解模块化程序设计方法107信息管理学院数据库应用课程 组习题课n写出以下程序的运行结果 set talk off i=1 do while i=3 j=5 do while j=7 ? i,j j=j+1 enddo i=i+1 Enddon将上面这个程序改为for循环实现108信息管理学院数据库应用课程 组习题课n编一个程序,将华氏温度F度变换成

15、摄氏温度 C,并将结果显示出来q计算公式为:C=5(F-32)9109信息管理学院数据库应用课程 组习题课n求出学生表中年龄最大和年龄最小的学生记 录n求S=1!+2!+3!+5!的值。nS=2+4+6+100nY=1+1/2+1/3+ +1/30nS=1+(1+2)+(1+2+3)+(1+2+3+4+100 )110信息管理学院数据库应用课程 组习题课n编一个程序计算应收学费,输入学号I及学分 U,输出学号及应缴学费T。q学分在12分以下的收费4000元,若超过12学分, 则超过部分每学分加收200元,也即学费应收4000 如果U124000+200(U-12) 如果U12111信息管理学院数据库应用课程 组习题课n假定对齐的列为屏幕上的第20列,行不做要 求,编写程序输出下列二种图形# # # # # #第20列第20列112信息管理学院数据库应用课程 组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号