VF程序设计与数据库应用教案

上传人:lizhe****0001 文档编号:54574187 上传时间:2018-09-15 格式:PPT 页数:23 大小:531.50KB
返回 下载 相关 举报
VF程序设计与数据库应用教案_第1页
第1页 / 共23页
VF程序设计与数据库应用教案_第2页
第2页 / 共23页
VF程序设计与数据库应用教案_第3页
第3页 / 共23页
VF程序设计与数据库应用教案_第4页
第4页 / 共23页
VF程序设计与数据库应用教案_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《VF程序设计与数据库应用教案》由会员分享,可在线阅读,更多相关《VF程序设计与数据库应用教案(23页珍藏版)》请在金锄头文库上搜索。

1、第3章 结构化程序设计,3.4 模块化设计 结构化程序设计原则: 自顶向下、逐步细化/求精 1、子程序 基本概念: 主程序:主控模块,调用子程序。 子程序:功能模块,被调用。 子程序的使用: 主程序:do 子程序名 子程序:通过return返回,第3章 结构化程序设计,3.4 模块化设计 1、子程序 主程序与子程序调用关系图:,Set talk off . . DO SUB1 . . . Set talk on,主程序MAIN.PRG,. . . DO SUB2 . . RETURN,子程序SUB1.PRG,子程序 SUB2.PRG,. . . . Return,注意: Retrun to m

2、aster情况,第3章 结构化程序设计,3.4 模块化设计 1、子程序 应用举例: 例1:分别计算100以内,200以内,300以内的奇数之和。 主程序:main.prg & 控制模块 子程序:sub.prg & 功能模块,set talk off clear x=100 do sub x=200 do sub x=300 do sub set talk on,s=0 for j=1 to x step 2s=s+j next ?x,”以内的奇数和为:”,s return,主程序,子程序,第3章 结构化程序设计,3.4 模块化设计 2、过程 (1)过程文件概念: 子程序的独立存在。 将多个子程

3、序合并起来存放在一个公用的程序文件中,该文件为过程文件。 (2)过程文件构成: procedure 子程序1文件名程序 return procedure 子程序2文件名程序 return,第3章 结构化程序设计,3.4 模块化设计 2、过程 (3)过程的调用和关闭: 调用:set procedure to 过程文件名 关闭:set procedure to或close procedure (4)过程的应用方式: 方式一:主程序+过程文件为两个独立的程序文件 方式二:主程序+过程文件在同一程序文件中 应用举例: 1、采用过程方式,编程实现用“*”绘制平行四边形、梯形、直角三角形和等腰三角形。,第

4、3章 结构化程序设计,3.4 模块化设计 2、过程 (3)过程的调用和关闭: 调用:set procedure to 过程文件名 关闭:set procedure to或close procedure (4)过程的应用方式: 方式一:主程序+过程文件为两个独立的程序文件 方式二:主程序+过程文件在同一程序文件中 应用举例: 1、采用过程方式,编程实现用“*”绘制平行四边形、梯形、直角三角形和等腰三角形。,第3章 结构化程序设计,3.4 模块化设计 3、自定义函数 函数的分类 系统函数 自定义函数 自定义函数的概念: 是指在程序设计中需要某项功能,而系统函数又无法满足需要,则用户可以自己创建函数

5、,这些函数,称为用户自定义函数 。 自定义函数的分类: 内部自定义函数 独立自定义函数,第3章 结构化程序设计,3.4 模块化设计 3、自定义函数 应用举例: 1、自定义一个摄氏温度转换为华氏温度的函数:ctf()。 方式一:内部自定义函数:ctf() 程序如下: test1.prg clear Input “请输入一个摄氏温度的值:” to c ?”华氏温度为:”,ctf (c)function ctf para x & parameters y=x*(9/5)+32 return y,提问:该函数可以如系统函数一样使用吗?,第3章 结构化程序设计,3.4 模块化设计 3、自定义函数 应用举

6、例: 1、自定义一个摄氏温度转换为华氏温度的函数:ctf()。 方式二:独立自定义函数:ctf() 程序如下:ctf.prg para x & parameters y=x*(9/5)+32 return y 在命令窗口测试:ctf() 在程序中测试:ctf(),提问:如何使用该函数?,第3章 结构化程序设计,3.5 内存变量的作用域 内存变量的分类: 全局变量、局部变量、私有变量、隐藏变量 全局变量: 概念:指在整个系统各级程序中都有效的内存变量。 定义:public,先定义后使用。 局部变量 概念:指在本级程序中有效的内存变量。 定义:local,先定义后使用。 私有变量 概念:指在本级及

7、下级子程序中都有效的内存变量。 定义:默认方式,直接赋值使用。 隐藏变量 概念:将高层程序中创建的、与隐藏变量同名的全局变量和私有变量隐藏起来。是私有变量的一种特例。 定义:private,不创建,只是隐藏指定变量。,第3章 结构化程序设计,3.5 内存变量的作用域 四种变量的关系: 应用举例: 例1:分别计算100以内,200以内,300以内的奇数之和。 验证一:主程序与子程序的正常应用,系统默认变量x的作用域是什么?(私有变量,具有继承性) 验证二:在主程序中声明:local x, 观察会发生什么错误,为什么?(局部变量,不能在非本级程序中使用) 验证三:在子程序中声明:private x

8、,观察会发生什么错误,为什么?(隐藏了上级变量,本级程序中无法使用),第3章 结构化程序设计,课堂练习 1、利用过程文件完成多图形绘制。 2、定义一个测试是否为素数的函数:prime()Function prime Input “请输入一个自然数:” to n Flag=.t. for i=2 to sqrt(n) If mod(n,i)=0 Flag=.f. exit Endif Next If flag ?n,”是素数” Else ?n,”不是素数” Endif,第3章 结构化程序设计,3.5 数组的应用 1数组与数组元素 (1)概念:数组是用一个统一的名称表示的、顺序排列的一组变量。类似

9、于数学中的下标变量。 (2)数组元素:数组中的每一个变量称为一个数组元素。 2数组的维数: (1)一维数组与二维数组:A(10),B(5,2) (2)数组的顺序: 一维数组:A(1) A(2) A(10) 二维数组:B(1,1) B(1,2) B(2,1) B(2,2) B(5,2),第3章 结构化程序设计,3.5 数组的应用 3数组的使用 (1)数组的定义(声明): Dimension 数组名 declare 数组名 (2)数组的作用域: local、private、public同变量的作用域 (3)数组的赋值:=、store 给某一元素赋值:A(1)=1 给某一数组赋值:A=1,第3章 结

10、构化程序设计,3.5 数组的应用 3数组编程 例1随机产生100个10,99之间的随机整数。 set talk off clear dime a(100) for i=1 to 100a(i)=int(rand()*90+10) ?a(i) next set talk on,第3章 结构化程序设计,3.5 数组的应用 3数组编程 例1进一步随机产生100个10,99之间的随机整数,并求和。set talk off clear dime a(100) s=0 for i=1 to 100a(i)=int(rand()*90+10) s=s+a(i) Next ?s set talk on,第3章

11、 结构化程序设计,数组的应用 例题2. 已知一个数列的前3项分别为0,0,1,以后各项都是前3项之和,求该数列的前30项之和。 set talk off clear dime a(30) a(1)=0 a(2)=0 a(3)=1 for i=4 to 30a(i)=a(i-1)+a(i-2)+a(i-3) s=s+a(i) endfor ?s set talk on,第3章 结构化程序设计,程序设计综合练习 典型习题1-递推算法 已知一个数列如下:1、1、2、3、5、8、13、21求该数列的第60项为多少? set talk off clear dime f(60) f(1)=1 f(2)=1

12、 for i=3 to 60f(i)=f(i-1)+f(i-2) f(i-2)=f(i-1) &新的第一项f(i-1)=f(i) &新的第二项 endfor ?f(i-1) set talk on,为什么?验证!,第3章 结构化程序设计,程序设计综合练习 典型习题2-求素数 例题1:判断一个数是否为素数? set talk off clear Input “请输入一个自然数:” to n flag=.t. for i=2 to sqrt(n) |n/2 |n-1If mod(n,i)=0flag=.f.exitendif next If flag?n,”是素数” else?n,”不是素数” e

13、ndif set talk on,可以删除该语句吗?为什么?,第3章 结构化程序设计,程序设计综合练习 典型习题2-求素数 例题2:求100到1000之间素数的个数。 s=0 for n=100 to 1000flag=.t.for i=2 to sqrt(n)If mod(n,i)=0flag=.f.exitendifnext endfor If flags=s+1 endif ?s,Flag=.t. ?为什么?,第3章 结构化程序设计,程序设计综合练习 典型习题3-求完备数 例题1:一个整数所有因子之和等于该数本身,如6=1+2+3。求10000以内完备数。 for i=1 to 1000

14、0s=1for j=2 to sqrt(i)if mod(i,j)=0s=s+j+i/jendifnextif s=i?iendif next,i/j是什么?,第3章 结构化程序设计,程序设计综合练习 基本编程练习题 1 .用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为60枚,问共有多少种换法?(注:在兑换中一分、两分或五分的硬币数可以为0枚) 11 2 .已知一个数列的前3个数为3,4,5,以后每个数为前3个数的和,编程序求此数列的第33个数。 537346739 3.编写程序,求在四位数的偶数中,所有各位数字之积(且不为0)是30的倍数的数的和。 3415206 4.编写程序,求在2001000之间所有能被4除余3,被7除余5,被9除余2的数之和。 1653 5.编写程序,计算从1981年开始到3000年为止,我们将遇到多少个素数年号。 131,下课了。,追求,休息一会儿。,

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

当前位置:首页 > 行业资料 > 教育/培训

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