高级语言程序设计教学大纲VFP.docx
- 文档编号:5635256
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:30
- 大小:34.91KB
高级语言程序设计教学大纲VFP.docx
《高级语言程序设计教学大纲VFP.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计教学大纲VFP.docx(30页珍藏版)》请在冰豆网上搜索。
高级语言程序设计教学大纲VFP
当前位置:
THEOL网络教学综合平台 ><
《VisualFoxpro程序设计》
《高级语言程序设计B》教学大纲
课程编号:
1002282
总学时:
56学时(含上机24学时)
适用专业:
全院管理类所有本、专科专业
教学时数:
总教学时数56H,其中理论教学32H,实验教学24H
学分:
3
一、教学内容
1、数据库基本知识
①数据库的特点;
②数据库系统分代;
③数据库系统的分类;
④VisualFoxPro的界面、工作方式及主要技术指标;
5VisualFoxPro的命令概述、结构、书写规则等
2、VFP数据及其运算
①VFP数据类型;
②VFP的常量和变量;
③VFP常用函数;
④VFP表达式;
3、表及数据库的基本操作
①表及数据库的建立:
设计结构、建立结构、修改结构、表的添加及删除
②表的显示及其维护:
打开及关闭、显示、修改、定位指针、增加和删除、复制
③表的排序和索引;
④表的统计与计算;
⑤多表的操作:
工作区、表的关联、表的连接
4、SQL语言的使用
①数据的定义:
建立表的结构、删除表、修改表的结构
②数据查询:
基本查询、条件查询、嵌套查询、多表查询、连接查询、查询结果的处理
③数据操纵:
插入记录、删除记录、更新记录;
5、结构化程序设计
①程序设计基础:
程序的建立、修改、执行;
②基本程序设计结构:
顺序、分支、循环程序设计;
③子程序、过程、函数;
6、菜单设计
①下拉式菜单设计:
建立菜单文件、生成菜单文件、运行菜单文件
②快速菜单
7、表单设计基础
① 表单的建立与运行:
表单设计器、表单向导、运行表单
② 表单的操作:
属性、方法、事件、数据环境及其与表单控件的联系
③ 常用表单控件:
命令(组)、文本、编辑、复选、单选、组合、微调、列表、表格等按钮
④ 表单的应用:
设计简单的表单
⑤ 为顶层表单添加表单
8、报表设计
①打印基础。
打印准备、打印方法、打印命令
②传统的打印设计
③报表设计器的基本操作(打开标本设计器窗口、快速制表、标本打印)
④报表设计器的高级操作,了解
9、数据库系统开发实例(对本科做基本的讲解)
①开发的基本步骤
2以具体的实例进行讲解
二、《高级语言程序设计B》大纲说明
1、教学目的与任务
在当今时代,计算机已经在世界范围内得到广泛的推广和应用。
其中信息管理和数据处理已成为计算机应用的主流领域,而数据库技术是这个领域的核心之一。
Visual FoxPro系统是一个优秀的多用户关系数据库管理系统。
本课程详细地讲解了Visual FoxPro的各种命令、函数的功能,以及Visual FoxPro程序设计的方法,培养学生能灵活地应用Visual FoxPro语言设计程序、进行维护管理,充分发挥计算机在信息管理和数据处理方面的优越性。
《高级语言程序设计B》是面向全院所有专业本、专科生的计算机高级语言程序,它侧重于数据库的基本概念、数据库的基本操作、数据查询语言、简单的程序设计、菜单程序设计、报表设计以及必须掌握的表单设计。
侧重于计算机对数据的基本处理、数据查询(SQL)、表单的数据输出等,使学生具备一定的面向对象程序设计的能力,为学生利用计算机解决问题(特别是专业中的问题)准备必要的知识;本大纲重点基于数据库的基本操作和简单的程序设计,为学生学习相应的语言打下一定的基础。
2、本课程与其他课程的关系
学习本课程,需要有一定的计算机基本操作技能,对计算机有一定的了解和使用。
它是学 要求学生掌握计算机高级语言以及对计算机对数据处理方式和方法的掌握。
为学习今后学习计算机解决问题和高年级学习专业课打下坚实的基础。
3、教学基本要求
具有使用计算机高级语言解决基本问题的能力,掌握计算机对数据处理的方法和掌握计算机对数据处理的基本操作技能。
要求学生学习了本课程后,能编制简单的程序解决数据处理的问题,掌握程序设计的基本方法。
了解数据库的基本原理和数据库与数据库管理系统的关系,了解VisualFoxPro的基本性能指标,掌握数据库的基本使用方法。
掌握数据库的基本统计和数据库记录的查询。
特别是数据查询语言(SQL)
掌握程序设计的三种方法和简单的程序设计,这是全书的重点。
掌握表设计器、查询设计器、菜单设计器、表单设计器、报表设计器,对菜单设计,只要求掌握屏幕菜单方式和屏幕生成程序,对命令方式只做基本的了解。
4、实验课程
附实验大纲,按实验大纲的要求完成实验。
5、课程学时安排
学时安排遵循理论重于实践,理论课的学时分配占总学时的66%,实验课的操作,要求严格按照实验大纲,以循序渐进的方式进行,如果学生没有完成当天实验课程的任务,学生可以自己找时间自己解决。
章 次
讲 课 内 容
授课
上机
第一部分
数据库的基本概念
2
第二部分
数据库的基本操作
8
6
第三部分
查询与统计、SQL
6
6
第四部分
程序设计基础
6
6
第五部分
菜单设计
2
第六部分
表单设计及基础
6
6
第七部分
报表设计
2
合 计
32
24
6、教学参考资料
《VisualFoxPro程序设计教程》 刘卫国等 北京邮电大学学出版社
《VisualFoxPro活学活用》 张佑挺张锦川等 重庆大学出版社
《VisualFoxPro及其应用系统开发》史济民 汤观全编著 清华大学出版社
《VisualFoxPro程序设计》 高怡新编著 人民邮电出版社
计算机学院基础教研室
二00三年十二月
《高级语言程序设计(VisualFoxPro)》实验教学大纲
计算机基础教研室
适用专业:
全院所有本专科专业
实验类别:
基础实验
总实验学时:
24
实验次数:
本专科12次
应开实验个数:
12
已开实验个数:
12
实验开出率:
100%
实验一常用函数的使用
实验目的:
熟悉和掌握FoxPro常用函数的使用。
实验环境:
满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
依次键入下列操作命令并仔细观察各个函数的执行结果,熟悉掌握各函数的用法。
说明:
exp---代表表达式,expN---代表数值表达式,expC---代表字符表达式,expL---代表逻辑表达式,expD---代表日期表达式
注意:
在VisualFoxPro环境下,命令中的标点符号只能为英文标点,如逗号(,),括号([])等。
一、常用数学运算函数
1、取整函数INT(expN)和四舍五入函数ROUND(expN1,expN2)
功能:
INT(expN) 返回数值表达式的整数。
ROUND(expN)返回指定数值表达式位置进行四舍五入的结果。
expN2指明四舍五入的位置,若expN大于零,那么表示的是要对小数进行保留的位置,若expN小于零,那么表示的是整数部分的舍入的位置。
?
INT(12.9),INT(-7.6),INT(12.45),INT(-7.25)
?
ROUND(1234.5267,2),ROUND(1234.5267,1),ROUND(1234.5267,-1)
2、绝对值函数ABS(expN)
功能:
返回expN的绝对值
?
ABS(20),ABS(-20)
3、求平方根函数SQRT(expN)
功能:
返回expN的绝对值
?
SQRT(48.5*48.5),SQRT(64)
4、指数函数EXP(expN)
功能:
返回expN的以e为底的指数
?
EXP
(1),EXP(-1)
5、对数函数LOG(expN)、LOG10(expN)
功能:
LOG(expN)表示以e为底的对数函数,LOG10(expN)表示以10为底的对数函数
?
LOG(3),LOG10(1000),LOG(0.23),LOG10(0.23)
6、求最大值MAX(exp1,exp2,exp3...)和最小值MIN(exp1,exp2,exp3...)函数
功能:
MAX()计算各自表达式的值,并返回其中的最大值
MIN()计算各自表达式的值,并返回其中的最小值
?
MAX(59,35,28),MAX(“2”,”12”,”05”),MAX(“男”,”女”)
?
MIN(59,35,28),MIN(“汽车”,”飞机”,”轮船”)
7、随机函数RAND(expN)
功能:
当exp为小于或等于零的数值时,每次运行的结果都不一样,且在0~1之间的一个小数,当exp为大于零的数值时,每次运行的结果都一样,且在0~1之间的一个小数。
?
RAND
(1)
?
RAND()
?
RAND(-1)
?
RAND
(2)
?
RAND
(2)
8、符号函数SIGN(expN)
功能:
SIGN()返回指定数值表达式的符号,当表达式的运算结果为正、负、零时,函数值分别为1、-1、0
?
SIGN(-234),SIGN(0),SIGN(2345)
9、圆周率函数PI()
功能:
返回圆周率π(数值型)
?
pi()
10、余数函数MOD(expN1,expN2)
功能:
返回两个数值相除后的余数。
ExpN1是被除数,ExpN2是除数。
余数的正负号与除数相同,如果被除数与除数同号,那么函数值为两数相除的余数;如果被除数与除数异号,则函数的值为两数相除的余数再加上除数的值。
?
MOD(10,3),MOD(10,-3),MOD(-10,3)MOD(-10,-3)
二、字符串操作函数
1、宏替换函数&MexpC
功能:
一是替换字符型内存变量的值,二是将数值型字符转换为数值型数据。
如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。
C2=“Computer”
C1=“2”
C=“c&c1”
?
&C1.2*3,&C
2、求子字符位置函数AT(expC1,expC2)
功能:
AT()的函数值为数值型,如果expC1是expC2的子串,则返回expC1值的首字符在expC2中的位置;若不是子串,则返回0。
?
AT(“345”,123456”),AT(“5”,”12367”)
?
AT(“abc”,”ABCDEabcde”),AT(“abc”,”ABDCEabdce”)
3、取子字符串函数LEFT(expC,长度),RIGHT(expC,长度),SUBSTR(expC,起始位置,长度)。
功能:
LEFY()从指定字符表达式的左边取一个指定长度
X=“MicroSoftFoxPro2.6”
?
LEFT(X,9),RIGHT(X,10),SUBS(X,11,6)
4、空格字符串生成函数SPACE(<数值表达式>)
功能:
返回由指定数目的空格组成的字符串。
5、删除前后空格函数TRIM(expC)、LTRIM(expC)、 ALLTRIM(expC)
功能:
TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串。
LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串。
ALLTRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串
STORE SPACE
(1)+"TEST"+SPACE(3) TO SS
?
TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)
?
LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),LEN(ALLTRIM(SS))
6、取子串函数LEFT(expC,长度)、RIGHT(expC,长度)、 SUBSTR(expC,<起始位置>[,<长度>])
功能:
LEFT()从指定表达式值的左端取指定长度的子串。
RIGHT()从指定表达式值的右端取指定长度的子串。
SUBSTR()从指定表达式值的指定起始位置取指定长度的子串。
如果缺省第三个自变量<长度>,则函数从指定位置一直取到最后。
STORE "GOODBYE!
”TO X
?
LEFT(x,2),SUBSTR(x,6,2)+SUBSTR(x,6),RIGHT(x,3)
GO BYBYE!
YEl
7、计算子串出现次数函数OCCURS(expC1,expC2)
功能:
返回expC1在expC2中出现的次数,函数值为数值型。
若expC1不是expC2的子串,函数值为00。
STORE ’abracadabra’ TO s
?
OCCURS(’a’,s),OCCURS(’b’,s),OCCURS(’c’,s),OCCURS("e",s)
8、求字符串长度LEN(expC)
功能:
返回指定字符串的长度。
?
LEN(“MicroSoftFoxPro2.6”),LEN(SPACE(10)),LEN(SUBS(“AABBCCDD”,6))
9、删除字符串前后空格函数TRIM(expC)、LTRIM(expC)、ALLRIM(expC)
功能:
TRIM()返回指定字符串去掉尾部空格后的字符串
LTRIM()返回指定字符串去掉前导空格后的字符串、ALLTRIM()返回指定字符串去掉前导和尾部空格后的字符串
A=“AB”
B=SPACE(4)+”CDEF”+SPACE(4)
?
A+LTRIM(B)+A,A+RTRIM(B)+A
?
A+TRIM(B)+A,A+ALLTRIM(B)+A
10、大小写转换函数LOWER(expC)、UPPER(expC)
功能:
LOWER()将指定表达式中的大写字母转化为小写字母,其它不变
UPPER()将指定表达式中的小写字母转化为大写字母,其它不变
A=“Information ManagementSystem”
?
LOWER(A),UPPER(A)
11、字符串匹配函数LIKE(expC1,expC2)
功能:
比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑值真,否则为假。
ExpC1可以包含统配符。
X=”abc”
Y=abcd”
?
LIKE(“ab*”,X)、LIKE(“ab*”,Y)、LIKE(X,Y)、LIKE(“ABc”,X)
日期函数
三、日期和时间函数
日期和时间函数的自变量一般是日期型数据或日期时间型数据。
1、系统日期DATE()和时间函数TIME()、DATETIME()
功能:
DATE()返回当前系统日期
TIME()以24小时制,以hh:
mm:
ss格式返回当前系统时间,函数值为字符
DATETIME()返回当前系统日期时间,函数值为日期时间型。
?
DATE(),TIME(),DATETIME()
2、求年份YEAR(expD)、月份MONTH(expD)和天数DAY(expD)函数
功能:
YEAR()从指定的日期(时间)表达式表达式中返回年份。
MONTH()从指定的日期(时间)表达式表达式中返回月份。
DAY()从指定的日期(时间)表达式中返回月里面的天数。
这三个函数的返回值都为数值型。
STORE {^2001-08-18}TOd
?
YEAR(d),MONTH(d),DAY(d)
3、时HOUR(<日期时间表达式>)、分MINUTE(<日期时间表达式>)和秒SEC(<日期时间表达式>)函数
功能:
HOUR()从指定的日期时间表达式中返回小时部分(24小时制)。
MINUTE()从指定的日期时间表达式中返回分钟部分。
SEC()从指定的日期时间表达式中返回秒数部分。
这三个函数的返回值都为数值型。
STORE{^2001-03-1802:
30:
50P}TOt
?
HOUR(t),MINUTE(t),SEC(t)
四、转换函数
1、求字符串中的第一个字符的ASCII码值ASC(expC)
?
ASC(“ABC”),ASC(“abc”)
2、将十进制数转换为相对应的ASCII码字符CHR(expC)。
?
CHR(66),CHR(65.89),CHR(65+32)
3、数值转换成字符串STR(expN[,<长度>[,<小数位数>]])
功能:
将expN的值转换成字符串,转换时根据需要自动进行四舍五入。
如果<长度>值大于expN的所有位数,则字符串加前导空格以满足规定的<长度>要求;如果<长度>值大于等于expN值的整数部分位数(包括负号)但又小于所有位数,则优先满足整数部分而自动调整小数位数;如果<长度>值小于expN值的整数部分位数,则返回一串星号(*)。
<小数位数>的默认值为0,<长度>的默认值为10。
N=-123.456
?
”n=”+STR(n,8,3)
?
STR(n,9,2),STR(n,6,2),STR(n,3),STR(n,6),STR(n)
?
STR(1234.56,7,2),STR(1234.56,6,2),STR(1234.56,5,2)
?
STR(1234.56,4,2),STR(1234.56,7),STR(1234.56,6)
?
STR(1234.56,5),STR(1234.56,4),STR(1234.56,3)
4、字符串转换成数值VAL(expC)
功能:
将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据。
若字符串内出现非数字字符,那么只转换前面部分;若字符串的首字符不是数字符号,则返回数值零,但忽略前导空格。
STORE"-123"TOx
STORE"45"TOy
STORE’A45’TOz
?
VAL(x+y),VAL(x+z),VAL(z+y)
?
VAL(“123.45A”),VAL(“123.4A5”),VAL(“123.A45”)
?
VAL(“12A3.45”),VAL(1A3.45”),VAL(“A123.45”)
5、字符串转换成日期CTOD(expC)或日期时间CTOT(expC)
功能:
CTOD()将expC转换成日期型数据。
CTOT()将expC转换成日期时间型数据。
SETDATETOYMD
SETCENTURYON &&显示日期或日期时间时,用4位数显示年份
D1=CTOD(“2002/10/14”)
T1=CTOD(“2002/10/14”)+TIME()
?
D1,T1
4、日期或日期时间转换成字符串DTOC(expD|expDT)、 TTOC(expDT)(expDT表示日期时间型数据)
功能:
DTOC()将日期(时间)型数据日期部分转换成字符串。
TTOC()将日期时间数据转换成字符串。
STOREDATETIME()TOt
?
DTOC(t),TTOC(t)
五、测试函数
1、值域测试函数BETWEEN(exp1,exp2,exp3)
功能:
判断一个表达式的值是否介于另外两个表达式的值之间。
当exp1值大于等于exp2且小于等于exp3时,函数值为逻辑真(.t.),否则函数值为逻辑假(.f.)。
如果exp2或exp3有一个是NULL值,那么函数值也是NULL值。
X=.NULL.
Y=100
?
BETWEEN(150,Y,Y+100),BETWEEN(90,X,Y)
2、空值(NULL)测试函数ISNULL(exp)
功能:
判断一个表达式的运算结果是否为NULL值,若是NULL值返回逻辑真(.t.),否则返回逻辑假(.f.)。
STORE.NULL. TOX
?
X,ISNULL(X)
3、“空”值测试函数EMPTY(exp)
功能:
根据表达式计算的结果判断是否为空值,是则返回逻辑真(.t.),否则为假(.f.)
不同数据类型的“空”值
数据类型
空
数据类型
空
数值型
0
双精度
0
字符型
空串、空格、制表符、回车、换行
日期型
CTOD(“”)
货币型
0
日期时间型
CTOD(””)
浮点型
0
逻辑型
.f.
整型
0
备注型
无内容
4、数据类型测试函数VARTYPE(exp)
功能:
测试<表达式>的类型,返回一个大写字母。
用VARTYPE()测试变量的数据类型
返回字母
数据类型
返回字母
数据类型
N
数值型、浮点型、整型、双精度
G
通用型
C
字符或备注型
D
日期型
Y
货币型
T
日期时间型
L
逻辑型
X
Null值
O
对象型
U
未定义
X=”AAA”
Y=10
X=.NULL.
Z=$100.2
?
VARTYPE(X),VARTYPE(Y),VARTYPE(Z)
5、文件尾测试函数EOF(工作区号|表别名)
功能:
当指针指向表文件尾为真,否则为假。
6、文件头测试函数BOF(工作区号|表别名)
功能:
当指针指向表文件头为真,否则为假
7、记录号测试函数RECNO(工作区号|别名)
功能:
返回当前表文件中或指定文件中的记录号。
8、记录数测试函数RECCOUNT(工作区号|表别名)
功能:
返回当前表文件或指定表文件中的记录数
9、记录删除函数DELETED(工作区号|表别名)
功能:
返回当前记录是否做了删除标记,是则为真,否则为假。
实验二数据库及表的建立、数据的录入等基本操作
实验目的:
熟悉和掌握数据库文件的建立、数据的录入、数据的追加和插入操作。
实验环境:
满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、建立数据库文件person.dbc,要求至少用两种方法建立。
二、建立表hd.dbf,表的结构和数据如下所示。
表文件结构:
字段名 类型 宽度 小数位数
货号 字符型 6
品名 字符型 8
进口 逻辑型 1
单价 数值型 7 2
数量 数值型 2 0
开单日期 日期型 8
生产单位 字符型 16
备注 备注型 4
商标 通用型 4
记录数据:
货号 品名 进口 单价 数量开单日期生产单位 备注 商标
LX-750影碟机T 5900.00 4 96/08/10 松下电器公司
YU-120彩电 F 6700.00 4 96/10/10 上海电视机厂
AX-120音响 T 3100.00 5 95/10/11 日立电器公司
DV-430影碟机T 2680.00 3 96/09/30 三星公司 从96年9月1日起调价
FZ-901 取暖器 F 318.00 6 96/09/05 富利电器厂
LB-133 音响 T 4700.00 8 95/12/30 索尼公司
SY-701 电饭锅 F 258.00 10 96/08/19 爱德
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 教学大纲 VFP