[工学]06Visual FoxPro程序设计基础.ppt_第1页
[工学]06Visual FoxPro程序设计基础.ppt_第2页
[工学]06Visual FoxPro程序设计基础.ppt_第3页
[工学]06Visual FoxPro程序设计基础.ppt_第4页
[工学]06Visual FoxPro程序设计基础.ppt_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用 经管类 第六章 Visual FoxPro程序设计基础 红烧肉菜谱 n 准备肉:上好五花肉,沸水焯去污物,切麻将块大小 n 准备调料:白糖、姜片、油盐醋、丁香、胡萝卜 n 烧热油,放两勺白糖和二两姜片(鲜姜一块切成)进去 翻炒片刻 n 放入块状五花肉一道翻炒,直至颜色变黄,油也煸出不 少 n 加水至漫过肉块,加酱油少许、盐、二两中国醋、丁香 四、五枚 n 起锅前十分钟加胡萝卜块 n 水收干后起锅 2 信息管理学院数据库应用课程 组 程序概念 n参见Wiki解释 /wiki?title=%E7%A8%8B%E 5%BA%8F return girl. 嫁给(boy); 5 信息管理学院数据库应用课程 组 if( girl.愿意等 () while(!(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. 执行 程序文件输入存盘或再经编译后,系统可自动连续执 行文件中的每条命令或语句。 程序文件的执行有命令和菜单两种方式。 (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(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个数,然后对数组元素按由大到小顺 序降序排列,最后再输出排列后的数组。 1216824248 1612 248 482 第1遍共需N-1次比较 假设共有6个待排序的数(N=6) 第2遍 16 2412 488 共需N-2次比较 第3遍 1624 4812 共需N-3次比较 第4遍 24 4816 共需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 to MEMO qGather from fields MEMO n针对数组的系统函数 qAINS 在数组中增加元素 qADEL在数组中删除元素 qASORT给数组排序 qACOPY复制数组 92 信息管理学院数据库应用课程 组 习题 n以循环方式输出1到10的数字 n求0100之间奇数之和 n统计学生表中少数民族学生人数 n学生表中,成绩在560分以下的加20分 93 信息管理学院数据库应用课程 组 习题 n假定对齐的列为屏幕上的第20列,行不做要 求,编写程序输出下列二种图形 # # # # # # # # # # # 第20列 第20列 94 信息管理学院数据库应用课程 组 休息一下! Next section: 程序的模块化设计方法 95 信息管理学院数据库应用课程 组 6.5 程序的模块化设计方法(1) n了解程序的模块化设计方法 n了解子程序、过程和用户自定义函数 n了解全局变量和局部变量的区别 96 信息管理学院数据库应用课程 组 程序的模块化设计方法 n一个实际的应用系统往往比较复杂,按其功 能组成可划分为若干模块 n相应的软件系统由许多程序文件(子程序, 过程文件)所组成。每一个功能模块一般即 是一个相对独立的程序文件或过程文件。 n模块间从上到下逐级调用,然后从下到上逐 级返回,相应地,程序也从上到下逐级调用 ,然后从下到上逐级返回。 97 信息管理学院数据库应用课程 组 应用系统功能划分 教学管理信息系统 信息添加信息修改信息查询 教学管理数据库 学生 班级 课程 成绩 学生 班级 课程 成绩 主模块 子模块1子模块2子模块3 子模块11 子模块21 子模块12 子模块22 . 程序的模块化设计 98 信息管理学院数据库应用课程 组 模块化程序设计示例 n求11000之内的素数之和 主程序sum.prg Clear Set talk off Flag=.F. &定义局部变量 Sum = 0.0 &定义局部变量 For k=1 to 1000 step 1 do check with k if Flag=.T. sum=sum+k Flag=.F. ?k, endif Endfor ? “sum =”,sum *判断一个给定的整数是否素数的程序 *参数x Parameter x xx=int(sqrt(x) For i=2 to xx step 1 if (mod(x,i)=0) exit endif Endfor If(ixx) Flag=.T. &注意这里的变量Flag Endif return 子程序check.prg 99 信息管理学院数据库应用课程 组 主程序与子程序 n通常,被调用的程序称为子程序,调用程序 的程序称为主程序,或者说,当两个程序之 间存在调用关系,被调用者称为子程序,调 用者称为主程序。 n主程序与子程序的概念是相对的,当子程序 又调用下一级子程序时,则此子程序相对于 下一级子程序便是主程序了,而对于调用它 的主程序而言,它仍然是子程序。因此,“主 ”和“子”要看相对于“谁”而言。 100 信息管理学院数据库应用课程 组 6.5 程序的模块化方法(2) n对于一个用FoxPro开发的应用系统,通常只有一个主程 序,其余均为分级调用的子程序。 n在FoxPro中,子程序与主程序一样,均为程序文件( .PRG文件),都可由MODIFY COMMAND命令来建 n子程序的最后一条语句通常为RETURN,以便当子程序执 行结束后能将控制转到调用它的上级程序处。命令格式: RETURN |TO MASTER |TO 命令功能: 中止一个子程序、过程或用户定义函数的执行,返回到上 一级调用程序(默认)、最高级调用程序、另外一个程序或 者命令窗口。 101 信息管理学院数据库应用课程 组 6.5 程序的模块化方法(3) n子程序的调用 n子程序调用命令与主程序执行命令相同,其格式 都为: DO | WITH 其中,WITH 子句指定传递到程序或 过程的参数,在中列出的参数可以是 表达式、内存变量、常量、字段名或用户定义函 数。各参数用逗号分隔。 n可把参数放在圆括号中表示使用传值方式,否则使用地 址引用方式。 102 信息管理学院数据库应用课程 组 子 程序的嵌套 DO sub1 DO sub2 RETURN DO sub11 DO sub21 RETURN DO sub11 RETURN RETURN RETURN TO MASTER master sub1 sub2 sub11 sub21 103 信息管理学院数据库应用课程 组 过程(自学) n过程定义 Procedure Parameters Return Endproc n过程可以保存在主程序中,也可以保存为独立的文 件(称为过程文件) n调用 Set procedure to ADDITIVE Release procedure , Do with 104 信息管理学院数据库应用课程 组 用户自定义函数(自学) n函数定义 Function Parameters Return &必须返回一个值 Endfunc n用户函数可以保存在主程序中,也可以保存为独立 的程序文件 n函数调用 q(参数表)&圆括号不能省略 q参考例6-24 105 信息管理学院数据库应用课程 组 变量的存在范围(自学) n全局变量: q作用范围:作用于任何命令或程序中 q命令窗口中定义的变量为全局变量 q程序中必须用public声明全局变量: nPulibc 变量名列表 n局部变量: q作用于定义/声明它的程序中 以及 q作用于定义/声明程序所调用的任何一级子程序中 q程序中未用public声明的全部为局部变量 n变量屏蔽:本地声明的局部变量将自动屏蔽 同名的全局变量或上级程序中的同名变量 106 信息管理学院数据库应用课程 组 第6章 小结 n了解程序设计一般步骤 n了解算法的概念和一般特征 n掌握VF程序文件的操作命令和操作方法 n了解VF程序的调试方法 n掌握分支选择结构的程序设计方法和命令语句 q二重分支 ifelseendif q多重分支 do casecaseotherwiseendcase n掌握循环结构的程序设计方法和命令语句 qDo while loopexit enddo qfor loopexit endfor/next qscan loopexit endscan n了解模块化程序设计方法 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 Enddo n将上面这个程序改为for循环实现 108 信息管理学院数据库应用课程 组 习题课 n编一个程序,将华氏温度F度变换成摄氏温度 C,并将结果显示出来 q计算公式为:C=5(F-32)9 109 信息管理学院数据库应用课程 组 习题课 n求出学生表中年龄最大和年龄最小的学生记 录 n求S=1!+2!+3!+5!的值。 nS=2+4+6+100 nY=1+1/2+1/3+ +1/30 nS=1+(1+2)+(1+2+3)+(1+2+3+4+100 ) 110 信息管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论