Visual FoxPro 程序设计 教案vfpWord格式.docx
- 文档编号:18192630
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:96
- 大小:210.32KB
Visual FoxPro 程序设计 教案vfpWord格式.docx
《Visual FoxPro 程序设计 教案vfpWord格式.docx》由会员分享,可在线阅读,更多相关《Visual FoxPro 程序设计 教案vfpWord格式.docx(96页珍藏版)》请在冰豆网上搜索。
要求:
1、了解数据库系统的组成;
2、初步掌握VF启动与操作;
教学重点
1、关系数据库相关概念;
2、VF系统的启动。
教学难点
1、数据库、数据库系统和数据库管理系统三者的关系。
教学方法
与手段
1、课堂讲授
2、上机操作
教学内容
时间分配
第1次课讲授:
数据库系统基础知识
第1次上机:
熟悉VF上机环境和简单命令使用。
作业及思考题
1、关系数据库特点;
2、VF三种操作方式;
教学的基本内容
时间安排
教学方法
第1章VisualFoxPro数据库基础知识
一、数据库系统概述
(一)基本概念
1.数据(data):
描述事物的符号记录,存储在某种媒体上
型+值临时性(内存)&
持久性(磁盘)--数据库系统处理的
表现形式:
数字、字母、文字、文本数据、图形、图像、声音、影
像和动画等
2.数据库(database,DB):
数据的集合
统一的结构形式,存放于统一的存储介质中
包括:
数据本身+事物间的关系
3.数据库管理系统(DBMS):
组织、操纵、控制数据
系统软件,建库,建表,查询,删除等
4.数据库管理员(DBA):
负责对数据库的规划、设计、维护、监视等工作的人员
5.数据库系统(DBS):
DB+DBMS+计算机系统+DBA
6.数据库应用系统(DBAS):
面向某一类实际应用的应用软件系统,如图书管理,
售票系统。
(二)数据库系统的发展
●数据管理发展的3个阶段:
(低—>
高)
1.人工管理:
20世纪50年代中以前卡片、纸带、磁带
无磁盘,无管理数据的软件,无OS
特点:
数据不独立,无法共享,数据冗余,数据不一致性
2.文件系统:
20世纪50后-60中后期
硬件有存储器(磁盘),软件有os——文件系统
一定的独立性,程序数据分开存储,数据不一致,仍有冗余
3.数据库系统:
20世纪60中至今
DB诞生
集成性,共享性,低冗余,独立性
●数据库系统发展3个阶段
第一代:
1)层次、网状数据库系统
层次:
树状(有序树)--层次清晰,横向联系若
网状:
有向图--联系强,但操作不方便
第二代:
2)关系数据库系统relationaldatabasesystemRDBS
关系---二维表
Oracle,sqlserver,sybase,db2,vfp
第三代:
3)面向对象数据库系统
继承第二代技术,网络,分布式技术,多媒体技术
(三)数据模型
1.实体:
现实世界中客观存在的事物称为实体
可以具体,也可以抽象(一次借书,一次订货,一次买票)
2.属性:
描述了实体某一方面的特性
描述学生实体可以用学号,姓名,性别,出生日期等属性。
课程导入:
本课程开设的目的和意义,学时分配,掌握程度,等级考试等.
5分钟
举例:
学籍管理系统
手机缴费
饭卡使用
存钱取钱
买火车票
引入身边实例,全面介绍数据库系统.
10分钟
介绍数据库系统发展
实体间联系举例
数据模型形象化
3.域:
实体属性值的取值范围
人的年龄0~130;
身高0.2~2.8m
4.实体间的联系:
3种类型
1)一对一(1:
1):
(独)父子,夫妻;
学校-校长;
国家-主席
2)一对多(1:
n):
多生父子;
我有多个手机;
学校-学生
3)多对多(m:
学生-课程;
老师-学生5.数据模型:
对客观事物及其【联系的数据描述】
常用的:
层次模型,网状模型,关系模型
P6—关系模型的特点
(四)关系数据库:
基于关系模型建立的数据库
1.基本术语
1)关系:
二维表.dbfvisualfoxpro表文件
2)元组:
一行一元组一记录
3)属性:
一列一属性一字段
4)域:
属性取值范围
5)关键字:
能唯一区分不同元组的属性或属性的组合(最小组合)
6)候选关键字:
凡能够唯一区分不同元组的属性或组合(可多个)
7)主关键字:
在候选关键字中选一个(只有一个)--主键
8)外部关键字:
某属性或组合不是该关系的关键字,而是另一个关系的主关键
字,则它为外部关键字—外键。
2.关系运算
1)选择:
行操作
2)投影:
列操作–去掉重复行
3)连接:
多表操作
3.数据完整性:
保证数据库中数据的正确性、相容性而提出的某种约束条件和规则
包括:
(1)实体完整性:
主键实现—保证记录唯一性主键非空
(2)域完整性:
(3)参照完整性:
外键(多表间关系约束)
二、VisualFoxPro操作基础
(一)VFP简介
美Microsoft公司,面向对象,可视化,DBMS,DBAS开发工具
(二)安装与启动
1.安装–双击setup.exe37
接受协议并输入产品ID号:
111-1111111
2.启动
1)开始-程序-VisualFoxPro6.0
2)双击快捷方式图标
3)找到安装文件的VFP6.0.EXE,双击该文件
3.退出
命令窗口:
QUIT(不区分大小写)
Alt+F4
(三)VFP窗口
应用程序窗口:
标题栏,菜单栏,工具栏,状态栏,命令窗口,输出区域
显示和隐藏:
窗口/命令窗口或者Ctrl+F2
输入VFP命令,按回车键执行
命令行可修改,删除,剪切,复制和粘贴等
(四)VFP操作
1.操作方式
交互式
三种菜单方式:
菜单系统/工具栏
命令方式:
命令窗口输入命令后执行
程序方式:
编写程序文件后执行自动化
教学反思:
这是非计算机专业学生的计算机程序设计类入门课程,为了提高学生的学习兴趣,必须把第一次课上好,让学生从整体上对这门课有个初步的了解,这要求我们老师一要组织好教学,二要精心制作幻灯片,三要合理安排教学内容。
从第一周的上课效果来看,大一学生的整体状态比较积极,对计算机类程序设计课程比较感兴趣,并为了日后的等级考试,下定了初步的决心。
Vfp是一门实践性很强的学科,教学内容一定要和上机实践紧密结合,所以布置合理的上机实验,是对教学内容最有效的检验,大家通过课堂教堂,或者网络搜索,结合自己的亲自操作,总结经验,检验课堂理论,并通过难度的不断加大,逐渐形成独立思考的能力,分析问题和解决问题的能力。
加大案例教学的力度,形成项目驱动模式,使vfp各个章节形成体系,相互关联,整体统一,为学好学透这门课程打下坚实的基础。
实例讲解
实体间联系
介绍基本术语
关系运算
安装知识讲座
实际操作法讲解Vfp窗口界面介绍
3分钟
最后总结
提高学生日后学习兴趣
第2章
第2章VisualFoxPro的基本语法
6实践环节学时数:
6
掌握VF数据类型、变量、函数、数组和命令。
1、掌握数据类型定义与使用;
2、掌握函数定义与使用;
3、初步掌握VF命令。
1、变量定义及常用函数的使用;
1、二维数组定义与使用
第2次课讲授:
常量和变量
第2次上机:
常量使用,定义和使用变量
第3次课讲授:
运算符和表达式;
数值函数
第3次上机:
熟练使用常用表达式和基本函数
第4次课讲授:
日期和转换函数
第4次上机:
熟练使用常用vfp日期和转换等函数
1、VF三种操作方式;
2、二维数组的使用。
一、VisualFoxPro数据元素
(一)VisualFoxPro数据类型
字符型C‘中国’[剑桥09英语]“VisualFoxPro程序”
中文–2字节
西文–1字节
日期型D8字节
日期时间型T8字节
逻辑型L.T.或.F.1字节
货币型Y$数值8字节
数值型N数值8字节
(二)VisualFoxPro常量
1.数值型常量0~9,”+”,”-“,“.“
?
-0.12?
+45?
012?
2.34e3?
2.34e-3
-0.1245(空格)_122340.00234
2.货币型常量$+数值型常量保留4位小数
$24.46
24.4600不能用科学计数形式表示
3.字符型常量定界符‘’“”[]
若界限符分身就是字符型常量的一部分,则使用其他界限符[“计算机”]
4.日期型常量定界符{}
严格日期格式{^yyyy-mm-dd}
?
{^2010-03-8}?
{^2008/8/8}
5.日期时间型常量
{^2010-5-19,1:
28pm}?
{^2009-12-44:
40:
25p}
6.逻辑型常量
?
.y.?
.t.?
.n.?
.f.
.T..T..F..F.
(三)VisualFoxPro变量(其值可以改变的量)
内存变量–单值变量简单变量
变量:
数组变量
字段变量–多值变量
1.变量的命名
首:
字母、汉字、下划线开头
后续:
字母、数字、汉字、下划线
2.内存变量的赋值
(1)用“=”赋值单个变量赋值
r=123
s={^1987/04/13}
(2)用store赋值多个变量赋同值
Store<
表达式>
to<
内存变量名表>
Store“china”tostr1,str2,str3
str1,str2,str3
(3)Input赋值
Input“给x赋值:
”tox
给x赋值:
12“男”
x12男
注:
可以给数值型、字符型、货币型、日期型、日期时间型、逻辑型多种变量赋值
Accept赋值
Accept“给x赋值:
给x赋值:
x12“男”
只接受字符型数据,输入时不加定界符
Wait赋值
Wait“给x赋值:
1“
x1“
只接收单个字符
3.表达式值的显示
先换行,再输出
?
当前位置输出
4.数组–一组带下标的变量只有一维和二维
同一数组的不同元素,数值的类型可以不同
初始值:
.F.
(1)定义
Dimension|Declarestu(4),stum(2,3)
当一维和二维数组重名时,先定义的将被覆盖
stum(2,2)⇔等价于stum(5)可以用一维数组元素访问二维数组
(2)使用:
同简单变量
(四)VisualFoxPro函数
每个函数都有一个返回值,但不一定都有参数
1.数值函数
(1)绝对值函数abs
abs(2-11)9
(2)
符号函数sign表达式结果为正1
负-1
00
sign(10-5)1
(3)取整函数int舍掉小数
int(3.1415926)?
int(10.9875)?
int(-5.8)
310-5
(4)向下取整floor
floor(10.123)?
floor(-10.123)
10-11
(5)向上取整ceiling
ceiling(10.123)?
ceiling(-10.123)
11-10
(6)四舍五入函数round
round(1150.163,2)?
round(1150.163,1)?
round(1150.163,-2)
1150.161150.21200
n>
=0要保留n位小数
n<
0整数部分舍入的位数
(7)平方根函数sqrt表达式>
=0,默认保留两位小数
sqrt(16)4.00
(8)求余mod(被除数,除数),运算结果符号与除数相同
同号余数
异号余数+除数
mod(10,3)?
mod(-10,3)?
mod(10,-3)?
mod(-10,-3)
12-2-1
(9)求最大值max
max(10,20,15,40)?
max(“a”,”20”,”bb”,”40”)
40bb
max(“a”,20,”bb”,”40”)
出错,参数类型不一致
规则:
数字<
大写<
小写.T.<
.F.
max(.T.,.F.).T.
(10)求最小值min
min({^1988/10/22},{^1967/12/23},{^1985/01/10})
12/23/67
2.字符函数
(1)取左子串left
left(“information”,5)infor
left(“剑桥学院”,5)剑桥
left(“剑桥A级学院”,5)剑桥A
(2)取右子串right
right(“information”,4)tion
(3)取子串substr
substr(“information”,4,2)or从第4个字符取2位
(4)求字符串长度len
len(“information”)?
len(“黑大剑桥吧主NO.1”)
1117
(5)求子串位置at|atc若不出现,返回0
at()区分大小写
atc()不区分大小写
at(“For”,“information”)0
atc(“For”,“information”)3
at(“1”,“英语1班”)5
(6)子串替换stuff
stuff(”infomation”,3,2,”for”)fo->
forinformation
(7)小写字母->
大写字母upper
upper(“12”)12
upper{“你好”}你好
(8)大写字母->
小写字母lower
lower(“InforMation”)
Information
(9)空格字符串生成space
space(5)+“s”
_____S
(10)产生重复字符replicate
replicate(“*”,5)
*****
(11)删除首尾空格alltrim()
(12)删除首部空格ltrim()
(13)删除尾部空格rtrim()⇔trim()
(14)宏函数&
x=”123”x=”.t.”x=”{^2009/5/14}”
&
x?
x
123(字符).T.(逻辑)09/05/14(日期)
x=”{^2005/12/234:
50p}”x=”a”x=”a”
xa=5a=”b”
05/12/2304:
50:
00pm?
xb=5
5?
x->
b字符型
x=2002y=150z=”x+y”?
a->
5数值型
z+12153?
b出错!
x=”学生”use&
x⇔use学生
(15)空值测试函数ISNULL()
X=NULL⇔X=.NULL.
X,ISNULL(X)
.NULL..T.
(16)“空”值测试函数EMPTY()
empty(0),empty(“”),empty(““),empty($0),empty(.f.),
empty(ctod(“”),empty(ctot(“”))
均为.T.
empty(.NULL.)或empty(null)均为.F.不“空”。
3.日期时间函数
(1)系统日期?
date()04/07/10
(2)系统时间?
time()22:
31:
11
(3)系统日期时间?
datetime()04/07/1010:
11PM
(4)年份?
year({^2005/12/23})2005
(5)月份?
month({^2005/12/23})12
(6)天数?
day({^2005/12/23})23
(7)小时?
hour({^2009-12-44:
25pm})16
(8)分钟?
minute({^2009-12-44:
25pm})40
(9)秒数?
sec({^2009-12-44:
25pm})25
4.类型转换函数
(1)数值型->
字符型返回C字符型
str(3.1415926,6,4)3.1416
长度小数位数
str(3141.5926,6)?
str(3141.5926,3)?
str(3141.5926)
不含小数__3142***不含小数,默认长度为10______3142
str(+123.45,6,1)?
str(-1.438e6,6,3)?
str(-1.438e6,9)
_123.5-1.E+6_-1438000
(2)字符串->
数值返回N数值型,默认2位小数。
val(“3.1415圆周率”)?
val(“圆周率3.1415”)
3.140
返回值的小数点位数取决于setdecimalto命令设置的位数
(3)字符串->
日期返回值D日期型
ctod(”12/23/78”)?
ctod(“2008-12-23”)
机器内能识别的日期格式!
(4)日期->
字符串返回值C字符型
dtoc({^1980/12/25})12/25/80
Setstrictdateto0?
dtoc({09/19/89})09/19/89
5.其他函数
(1)条件测试
if(3>
4,”正确”,”错误”)错误
(2)值域测试
between(“d”,”b”,”s”).T.
(3)数据类型测试
vartype(90),vatype(“a”),vartype(date()),vartype(null),vartype(3>
5),vartype(“a”+3),
NCDXL不匹配
(五)运算符、表达式
1.算术运算符+-*/^%
2.字符运算符+原样连接
-第一个字符串尾部空格移到整个连接字符串的尾部
3.日期和时间日期+3加天数结果为日期
日期-3减天数日期
日期-日期相差天数数值
时间+3加秒数时间
时间-3减秒数时间
时间-时间相差秒数数值
4.关系运算符
Setexacton加空格_精确比较==
Setexactoff左包含右即可=
5.逻辑运算符
not.t.?
.t.and.f.?
not(3>
5)?
”a”==”b”or(7>
5)
.F..F..T..T.
这一章,理论教学内容较多,对于数据类型的理解,常量变量的使用,数组的定义与赋值,到最后函数的应用,逐层深入,环环紧扣。
课堂教学当以打基础为主,让学生理解数据类型的含义,结合生活实际,会区分不同的事物划分不同的类型。
在数组这一环节,可以实例演示,让学生看到真正的运行结果,体会数组元素初始值是逻辑假的事实,然后分别用不同类型的值去覆盖数组,加深对数组的认知。
由于函数比较多,所以我制作了大量的实例,把函数的各种不同类型的参数都覆盖上,这样的ppt讲解的时候,全面清楚的看清了函数不同种参数的实际运行效果,区别数值函数、字符函数、日期函数、数据类型测试函数、数据类型转换函数的不同应用,会熟知函数的不同运算结果,为日后各章数值处理做好准备。
联系生活实际对各种数据类型进行介绍
6分钟
举例法介绍常量
15分钟
由常量的特点引入变量
变量赋值
10分钟
数组的定义与使用
为了实现特定的功能,我们使用函数,可由系统提供,也可自定义.
函数
40分钟
注意区别
Floor和
Ceiling
关注第二个参数为负的情况
具体问题具体对待,不同的程序设计语言,规定可能不一样,结果也不尽相同.
日期比较大小?
Left函数重点讲解
注意区别大小写
思考:
能否删除字符中间某处空格?
宏替换比较难理解,注意分析不同实例
8分钟
比较ISNULL()
和
EMPTY()
注意表示时间的顺序
Str常考函数
根据函数功能识记函数
If函数正确使用
4分钟
如何用好vartype函数?
两种比较有何不同?
如何切换?
第3章
第3章数据库的建立和维护
掌握数据库的基本操作。
1、理解数据库与表的关系;
2、掌握数据库的创建与使用
1、命令操作数据库
2、数据库的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual FoxPro 程序设计 教案vfp 教案 vfp