2022年程序设计---VisualFoxpro程序设计教案 .pdf
《2022年程序设计---VisualFoxpro程序设计教案 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计---VisualFoxpro程序设计教案 .pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Visual Foxpro 程序设计教案第四章程序设计教学目的与要求 掌握结构化程序设计的三种结构控制语句的使用,在编程中能熟练使用程序模块,包括子程序、函数和过程。学会设计窗口的方法。教学内容 结构化程序设计的三种结构;子程序,函数和过程的概念;窗口的设计。教学重点与难点 结构化程序设计的三种结构;子程序,函数和过程。补充知识语言基础数据类型数据类型决定了数据的取值范围和可以参加的运算,只有同种类型的数据之间才可以直接运算,否则系统提示“ 数据类型不匹配” 的错误信息。VFP 常用数据类型有:字符型 (C) ,货币型 (Y) ,数值型 (N) ,日期型 (D) ,日期时间型 (T) ,逻辑型
2、 (L),备注型 (M) ,通用型 (G)等。常量和变量1. 常量指一个具体的、不变的值。不同类型的常量有不同的书写格式。VFP6.0中只有 6种常量:数值型常量(N) 用来表示数量, 它由数字 09,e,E、一个符号 (或 )和一个小数点 (.)组成。 例如:80,-52.6 ,3E+9( 表示 3 109),2e-3( 表示2 10-3) 等。字符型常量(C) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 34 页 - - - - - - - - - Visual
3、Foxpro 程序设计教案用定界符括起来的由键盘上英文字母、空格、数字和汉字等字符组成的字符串。这里的定界符可以是一对单引号或一对双引号或一对方括号。例如:”abcd”, ? 杨红? , 男 。注意:空串和空格串的区别;逻辑型常量(L) 只有两个值:真和假。“ 真” 用.t. .T.表示; “ 假” 用.f. .F.表示。日期型常量格式为: yyyy/mm/dd,yyyy-mm-dd,yyyy.mm.dd 日期时间型常量格式为: yyyy/mm/dd hh:mm:ss 货币型常量$12.34 2.变量存放可变数据的内存单元为“ 变量 ” ,其中存放的数据称为变量的值。在 VFP中有 3种变量:
4、字段变量、用户内存变量和系统内存变量。系统内存变量由VFP 定义;字段变量定义在数据表中;(用户)内存变量多定义在程序中。每个变量都有一个名称,叫做变量名,VFP通过引用相应的变量名来实现对变量操作。变量名的命名规则是: 以字母、汉字或下划线开头,后跟字母、汉字、数字下划线等。例如变量名:姓名,出生日期 ,a,x1,x2,sum,delta,pi,max,zdz,stu_name。给变量命名时最好能“ 见名知义 ” 。另外,使用变量名不区分大小写。字段变量内存变量独立于表文件而存在于内存中的存储单元,它可以用来在程序的执行过程中保留中间名师资料总结 - - -精品资料欢迎下载 - - - -
5、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案结果与最后结果。内存变量的类型包括CDLNTY 六种类型,类型取决于它所存放的值。内存变量与字段变量同名,系统优先处理字段变量,可用前缀m.引用内存变量。变量的初值:在程序中若要使用变量,必须在使用之前为变量设定一个初值(以后根据需要还再改变它的值),这一操作可通过赋值语句实现。赋值语句可以将指定的值赋给该变量。一般格式为:a.变量名= 表达式系统计算 的值,并将结果送入指定的变量。b.store
6、 to 系统计算 的值,并将结果送入 中的各个变量中。说明:、计算机先计算右边表达式的值,然后再将该值赋给指定变量。、不要将赋值号 (=) 与是数学中的等号混淆,a=5 应读作 “ 将数值 5赋给变量 a” 或是“ 使变量 a 的值等于 5” 。不同于数学表达式,下面两个语句的作用是不同的x=y y=x 、不同于C 语言, VFP是一种弱类型语言,它允许通过此语句随时定义一个变量,并其值可以随时改变。x=10 &定义变量 x,并赋初值x=x+10 &将 x 的值在原来的基础上增10 x=x*x &将 x 的值平方后再赋值给x 、 z=x+y不能写成 x+y=z 、在引用一个变量前必须确保它已经
7、赋值。x=3 y=x*10 y=z+2 &此时系统提示出错:找不到变量z 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案例1 use sb browse ?名称&显示字段名称的值名称 =” 计算机 ” &定义内存变量名称,c 型,?名称&显示字段名称的值?m.名称&显示内存变量姓名的值例2 store 28.21 to a store “ 宿州学院 ” to b store .t. t
8、o c d= $ 100 e=2002.5.10 store 0 to x,y,z 数组运算符和表达式运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,如加、减、乘、除,而参与运算的数据称为操作数。表达式由运算符和配对的圆括号将常数、变量、函数等操作数以合理的形式组合而成的式子。一、算术运算符及数值表达式a.算术运算符。它们运算的含义与数学中基本相同。+ 加法、正号- 减法、负号* 乘法,同数学中的/ 除法,同数学中的 或* 乘方,同数学中的乘方,如43或 4*3表示 43求余, 125 表示 12 除以 5 所得的余数 2 ( ) 括号,只允许出现圆括号名师资料总结 - - -精
9、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案算术运算符在计算时的优先次序是:( ) */ + - b.算术表达式50*2+(70-6)8,a+b/a-b , (a+b)/(a-b) (哪个相当于baba?) c.注意事项:算术表达式与数学中的数学表达式写法有所区别,在书写表达式时应当特别注意:每个符号占1 格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。例如: 23要写成 23
10、 ,X1 十 X2 要写成 X1+X2 。原来在数学表达式中省略的内容必须重新写上。例如: 2X 要写成 2*X 。所有括号都用小括号() ,且括号必须配对。例如: 3x+2(y+z)必须写成 3*(x+2*(y+z)。要把数学表达式中的某些希腊、拉丁符号,改成VFP 中可以表示的符号。例如:要把2r 改为 2*pi()*r。例如:数学的求根公式2a4acbb2应写成 (-b+sqrt(b2-4*a*c)/(2*a)和(-b-sqrt(b2-4*a*c)/(2*a),这里的 sqrt 是个数学函数,求数的平方根。二、字符串运算符及字符表达式字符串运算符c1 c2 将 c1 和 c2 连接形成一
11、个新串。c1 - c2 将 c1 的尾部空格移到c2 后在连接成新串。ABCl23+666xyz 连接后结果为:ABCl23666xyz 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案ABC - DEFG 连接后结果为:ABC DEFG 三、日期表达式日期 + 天数、日期 -天数、日期1-日期 2 四、关系运算符及关系表达式用于判定指定的数据是否满足给定的关系,若满足计算的值为.t.;
12、否则结果为 .f. (1)运算符= 等于 大于= 大于等于 小于= 小于等于 或# 或!= 不等于c1$c2 判断 c1 是否包含在c2 中= 字符型数据的精确相等(2)表达式常用于表示条件? 53 &结果为 .t. x=3 ?x=3 store “中国北京 ” to s1store “北京 ” to s2?s2$s1 &结果.t. ?s1$s2 &结果.f. 五、逻辑型运算符及逻辑型表达式逻辑型运算符将逻辑型数据连接起来的式子。前面关系运算的结果是逻辑型,因而逻辑型运算符常用于描述较复杂的关系,例如1x10 等。(1)运算符 and 与操作(.and.) 格式:条件1 and 条件 2 例如
13、: x=1 and x=10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案说明:只有两个条件都为.t. 时,结果为 .t.( 也称条件满足 ); 否则结果为 .f. ( 也称条件不满足 )。or 或操作( .or .) 格式:条件1 or 条件 2 例如:x=1 说明:两者中只要有一个条件.t. ,结果为 .t. ;否则,结果为.f. not 条件取反(.not.) 格式: not
14、条件例如:not x1 相当于 x=1) and (xb 或ac and a+cb and b+ca year 是否闰年:( year%400=0) or (year%4=0 and year%1000) 说明:一个表达式中出现多种运算,先进行算术运算,再比较大小,最后将比较结果进行复合。常用函数在 VFP中,算术运算仅提供加减乘除的四则运算,如何求一些复杂的运算(例如正弦、余弦 )呢?学过高数的同学知道有个“泰勒公式”,太复杂!事实上,为方便用户编程,每种程序设计语言都提供功能强大的系统函数(与数学上的函数没有什么区别)供用户调用, 从而名师资料总结 - - -精品资料欢迎下载 - - -
15、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案避免了一些繁琐的计算。从程序设计的角度来看,函数是子程序的一种,它能完成一种特定的运算。函数有三要素:函数名、逗号分开的参数、函数值。例如abs(-9),max(9,-3)等。我们用户在学习使用这些函数时要注意参数的个数、参数的约束条件及函数值的类型,比如date() 是无参函数, 返回一个日期值;求平方根函数sqrt 需要一个参数,并且只能是个非负数。1.数值函数函数格式说明abs(n) 求
16、 n 的绝对值例如: abs(-9) 的值是 9 int(n) 取 n 的整数部分例如: int(4.5) 的值是 4,int(-4.5) 的值是-4 sin(n) cos(n) 对 n 分别求正弦和余弦值max(n1,n2,)min(n1,n2,)求 n1、n2中的最大者例如: max(9,3) 的值是 9 求 n1、n2中的最小者例如: min(9,3) 的值是 3 sqrt(n) 求 n 的平方根( n=0 )例如: sqrt(9) 的值是 3 mod(m,n) 求 m%n 的值,可用 %替代。rand(n) 返回 0 到 1 之间的随机数2.字符函数函数格式说明len(c) 求字符串
17、c 长度。例如 len(“ a123bc de”)的值是 9。 Len( “奥运会 ”)的值为 6,len( ”)的值为 0 space(n) 产生含有n 个空格的字符串。例如space(5) 得到字符串” ” 。alltrim(c) 删除字符串c 的首尾空格。substr(c,n,m) 求子串。从字符串c 中提取从 n 开始的 m 个字符的子串。substr(“ abcde ” ,2,3) 结果 ” bcd ”,substr( “ abce ” ,1,1) 结果”a”, substr( “abce”,2) 结果 ”bce”。名师资料总结 - - -精品资料欢迎下载 - - - - - - -
18、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案left(c,n) right(c,n) 右或左取字符串c 的 n 的字符形成一个新串upper(c),lower(c) 求字符串 c 的大写或小写形式的字符串replicate(c,n) 将指定的 c 重复 n 次,形成一个字符串at(c1,c2) 求串 c1 在 c2 中第一次出现的位置;若不出现c2 中,返回值为 0 3.日期函数函数格式说明date() 返回系统日当前日期time() 返回系统日当前
19、时间year(d) month(d) day(d) 对一个日期求四位年份、月份、日数4.转换函数转换函数的作用是将某一种数据类型转换成另一种数据类型,以便在一起参加运算。函数格式说明str( ,n3) 将数值 n1 转换成数字字符串(nc) val(c) 将字符串c 转换成数值型数据(cn) asc(c) 求字符串c 中首字符的asc 值说明: ”A”Z的 asc 值是 6590 ;”a”z”的asc 值是 97122 chr(n) 根据asc 值求对应的字符ctod(c) 将形如日期的字符串c 转换成日期型数据见例 3-36,37,38,39 5.测试函数函数格式说明名师资料总结 - - -
20、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案eof(n),bof(n) 判定表文件的记录指针是否到文件头或文件尾recno(n) 求表文件的当前记录号reccount(n) 求表文件的总记录个数found(n) 测试针对表文件的查找是否成功ctod(c) 将形如日期的字符串c 转换成日期型数据type(“表达式 ”)测 试 表 达 式 的 类 型例 如 : type(“12”)值 是n,type(“ 12”
21、)值为 c iif(,) 测试条件表达式的值,若为.t. ,函数的值是 ;否则函数的值是 。说明:这里的n 均指表所在的工作区,缺省时指当前工作区。type 函数形式较特殊。 4.1 程序文件4.1.1 程序文件的建立与执行一、程序文件 (*.prg) 的建立与修改命令格式:modify command 说明:(1)程序文件由VFP 命令组成。文件名前也可以指明路径,如:modify command e:s12qh (2)关闭编辑窗口的方法:Ctrl+W ;Esc;双击控制菜单;关闭按钮(3)文本编辑窗口也可以编辑由ASCII 字符组成的非 .PRG 文件。二、程序的运行命令格式:Do 名师资
22、料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 34 页 - - - - - - - - - Visual Foxpro 程序设计教案功能:执行程序说明:Do 也可以运行其它程序, 必须包含扩展名。三、程序书写规则1、命令分行续行符 ? ;?2、命令注释独立的注释行是以* 开头;注释部分以&开头。例 * 本程序用于修改表的指定记录set date USA &日期格式设置为MM-DD-YY 四、求解的基本逻辑与程序通用性1、求解的基本逻辑输入数据处理数据输出数据r=3 s=3.
23、14*r*r ?” 圆面积 = ” ,s 2、程序的通用性4.1.2 程序文件中的专用命令一、程序结尾的专用命令return: 使程序结束执行, 返回到调用它的上级程序继续执行,若无上级程序则返回到命令窗口。一般缺省。cancel: 能使程序运行终止,清除程序的私有变量,并返回到命令窗口。quit: 正常退出VFP,自动保存文件,并删除磁盘中的临时文件,程序终止运行后返回到Windows 。二、输入输出专用命令命令基本格式:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共
24、 34 页 - - - - - - - - - Visual Foxpro 程序设计教案say get default (1) 表示数据在窗口中显示的位置。(2)say 子句用来输出数据,get 子句用来输入数据及编辑数据。(3)get 子句中的变量必须具有初值,或用default 子句的 指定初值。(4)get 子句的变量必须用read 命令来击活。例 4-1 编程根据记录号来修改某设备的价格和部门。*e4-1.prg clear use sb jlh=1 2,10 say “ 请输入记录号:” get jlh read go jlh 4,10 say “ 请修改第 ” +str(jlh,1
25、)+” 个设备的数据:”&输出提示字符串6,10 say “ 价格 ” get 价格8,10 say “ 部门 ” get 部门read use 三、 wait 命令命令格式:wait to windows at , nowaitclear | nocleartimeout 说明:(1)wait 命令使 VFP 程序暂停执行,等用户按任一键后,程序继续执行。(2) 用来保存键入的字符,如果不选to 子句,则输入的数据不予保存。(3)如果缺省 ,则执行命令后屏幕显示” 按任意键继续,” ,提示按任一键继续执行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年程序设计-VisualFoxpro程序设计教案 2022 程序设计 VisualFoxpro 教案
限制150内