数据库基础—Visual FoxPro 教案
授课章节 名 称 |
第二节 常量、变量和表达式 |
|||||||
学时分配 |
讲课 |
8学时 |
实验 |
4学时 |
习题 |
2学时 |
其它 |
学时 |
教学目的 |
知识目标: 1、掌握VFP的数据类型,应用范围 2、熟练掌握各种类型常量的表示方法 3、掌握变量的概念、声明、类型与使用 4、明确VFP的运算符与表达式的构成,理解表达式的运算顺序 5、理解函数的概念,函数的使用方法,熟悉典型的函数的运用 6、理解数组的概念,数组的定义,数组的使用 技能目标: 1、会根据不同的数据选择合适的数据类型 2、能够理解变量与数学中的变量的区别与联系,会将一般的数学表达式转换成为合法的VFP表达式 3、会根据不同的要求选择不同的函数 4、学会利用VFP来完成数据处理的实验
|
|||||||
教学重点 |
1、数据类型及其选用 2、常量的表示,变量的定义与应用 3、各种运算符的规则,表达式 4、数组的定义与使用 5、常用函数的功能与应用 |
|||||||
教学难点 |
1、数组的定义与使用 2、函数的调用与返回值 3、复杂表达式的运算 |
|||||||
更新、补充 删节内容 |
无 |
|||||||
教学方法 与手段 |
讲授,多媒体演示,上机实验 |
|||||||
课外作业 |
|
|||||||
本章小结 |
本章概念: 1、数据与数据类型,数据类型的含义与应用 2、常量的性质,常量的类型,不同类型常量的表示方法 3、变量的含义,变量的命名,变量类型的确定 4、数组的定义,数组与变量的联系与区别 5、运算符类型及运算规则,运算符的优先级顺序 6、表达式的构成,运算与运算结果 7、函数的概念,函数的格式,典型的VFP函数及其应用,函数的调用方法与返回值 本章程序: 1、变量的命名、赋值与显示 2、数组的声明,数组的赋值与显示 3、各种表达式的验证与应用 4、典型函数的应用 |
教学过程 ※本章内容简介 ※学习目标 ※学习重点与难点 引言:数据库是用来处理数据的,数据是广义的。VFP中可以处理不同类型的数据,可以对数据进行各种运算。所有这些都是VFP程序的基础。 第二节 常量、变量和表达式 2.1 数据类型 ※本节内容、学习目标与重点难点介绍 讲解的思路:从一个实际的表格数据入手(如学生基本信息表),介绍不同语义的数据,由不同语义的数据引出数据类型,进而介绍VFP的数据类型 一、数据类型 不同语义的数据使用不同的表示方法,举例说明。 例如:学生姓名,学生学号,学生成绩 强调:任何一种计算机语言所支持的数据类型是大同小异的。 二、VFP的数据类型 1、分类:两大类 (1)只能用于数据表中的数据类型 (2)既可以用于数据表,也可以用于内存中的数据类型 2、重点分析VFP中几种常用的数据类型 字符型、数值型、逻辑型、日期型、备注型 举例说明:不同场合下的数据类型选择
对其它几种类型只作简单介绍,不作要求。
2.2 常量、变量与数组 ※本节内容、学习目标与重点难点介绍 ※讲解思路:本节内容与数学联系较多,讲解中要特别注意与数学之间的关系、区别 从数学中的PI引入常量的概念,从解方程中的未知量引出变量的概念。 一、常量 程序运行过程中始终不变的量,显然也有不同类型的常量。 介绍几种典型的常量类型及其表示方法。 (1)字符类型:定界符 (2)逻辑类型:.t.,.f. (3)日期类型:日期定界符,严格的日期格式表示 举例说明各种常量的表示,特别注意字符型与日期型常量的表示方法。 二、变量 引例:一个生活中的事例:一个盒子里面可以存放不同类型的物品。盒子的名称就是变量,其中的物品就是变量的值。 引入变量的概念:程序运行过程中其值可变的量 1、变量名:含义,命名规则 2、变量的种类: (1)内存变量:在程序中或命令代码中使用
(2)字段变量:在数据表中使用的变量 强调:字段变量与内存变量的不同(保存位置、生命周期、类型等) 3、变量的赋值与显示 (1)变量的赋值 通过实例讲解赋值号的含义,与数学中等于号的区别 赋值的两种方式:=、Store命令 (2)变量的显示 LIST命令与Display命令
4、变量的输出(含义,与显示的区别) ?命令 ??命令
三、数组 1、数组的概念 引例:将变量中的引例扩展,在一个盒子中有许多方格,每个方格可以存放一个数据,不同的方格可以存放不同类型的数据。 盒子的名字:数组名 每个方格:数组元素,用不同的下标表示。 存储:一批连续的存储单元 一维数组与二维数组的引出 2、数组的定义 定义的目的:分配存储单元 定义的方式:dime 数组名(维定义) (1)数组名的命名规则 (2)下标起始:1 (3)二维数组的定义 (4)数组元素的初始值:.F. (5)数组元素的个数: 3、数组元素的赋值与引用(与变量类似,只是带有下标) 赋值:特别注意整体赋值 引用:数组元素下标的说明 特别注意:学会区分何时代表数组,何时代表数组元素 4、数组内容的显示与输出 (1)显示:display|list (2)输出:?|??
2.3 运算符与表达式 ※本节内容、学习目标与重点难点介绍 引入:数学表达式及其构成(常量、变量、函数、运算符),数据运算离不开表达式 一、算术(数值)运算符及其表达式 1、类型 2、与数学符号的不同 3、优先顺序 4、运算结果与类型 4、数学表达式与VFP表达式的相互转换 举例说明 二、字符串运算符及表达式 主要是连接与查找 1、连接: (1)方式:+、- (2)结果:字符串 2、查找:在字符串中查找指定的子串 返回结果:逻辑值 3、优先级说明 三、关系运算符及表达式 引例:4>3?、"北京">"上海"?、3.14<="PI"? 设问:如何比较?参与比较的数据有何要求?比较的结果? 1、关系运算符:含义、运算结果 特别:<=、>=、<>与数学中运算符的区别 2、关系运算的要求 (1)参与比较的数据类型必须相同 (2)比较的依据:数值型、字符型(汉字)、日期型等的相关规定 (3)字符串的模糊比较与精确比较 ?"AB"="ABC" ?"ABC"="AB" ?"ABC"=="AB" 结果分析? (4)关系运算与数值运算的复合 举例: 优先级的确定:数值运算高于关系运算 四、逻辑运算符及表达式 引例:如何表达“年龄大于20岁的女同学”? 分析:(1)分解:年龄大于20岁(年龄>20)、女同学(性别="女") (2)两个简单条件之间的关系?不仅…而且 即:如何表达两个以上关系运算之间的关系? 1、逻辑运算符 种类、含义、运算规则分析、运算结果 举例说明: 2、逻辑运算表达式:用于表达复杂条件 (1)优先级规定: (2)关系运算的复合 举例说明: (3)数值运算、关系运算、逻辑运算的复合 举例:3+4>7 .and. .not. (总成绩/课程数>75) .or. 姓名 = "李" 运算规则、运算顺序分析 优先级结论:数值运算>关系运算>逻辑运算
五、日期运算符及表达式 基本原则:要使得运算有意义 +运算: -运算: 举例
2.4 函数 ※本节内容、学习目标与重点难点介绍 ※讲解思路:由于VFP的函数较多,不可能逐一介绍。重点在于讲解函数的使用方法与规则,在现场演示中培养学生查阅联机帮助的能力。 一、函数的概念 1、函数概念:从数学中使用的函数引入 共同点:函数名、参数、返回值、出现在表达式中 不同点:参数加括号、可以没有参数、种类繁多 2、函数的分类简介 (1)标准函数:六大类 (2)用户自定义函数 3、函数的应用 二、VFP函数应用 1、VFP函数使用的一般规则 (1)了解VFP有哪些函数?功能?函数名?参数要求?返回值? (可以配合联机帮助文件,了解函数的相关用法) (2)针对功能要求选择相应的函数 (3)根据函数的要求准备必要的参数 (4)调用函数,得到返回值。 (5)函数的使用是可以嵌套的,例如:?DtoC(Date()) 2、常用典型函数的使用,粗体为重点讲解 (1)INT (2)ROUND:指定四舍五入的位数 (3)MOD:取模运算的结果 (4)RAND:重点生成指定范围的随机数,生成公式 (5)LEFT/RIGHT:取左子串与右子串 (6)SUBSTR:取子串 (7)LEN:注意西文字符与中文字符的长度区别 (8)LTRIM/RTRIM/ALLTRIM: (9)CTOD/DTOC:日期与字符的转换 (10)STR/VAL:字符与数值的转换,参数要求 (11)DATE:取当前日期 3、含有函数的表达式运算举例(函数优先)
※本章内容总结、实验要求、作业要求
本章实验 一、实验课时 3学时 二、实验目的 1.掌握常量、变量的定义和使用。 2.掌握各种表达式的使用方法。 3.掌握常用函数的用法。 三、实验要求 1.进一步熟悉VFP的界面和环境。 2.掌握变量的定义和使用(在命令窗口中使用命令并写出结果)。 3.了解数组的概念、定义,掌握数组的基本操作。 4.掌握运算符和表达式的使用(在命令窗口中使用命令并写出结果)。 5.掌握函数使用方法,主要有一般数值函数、字符函数、转换函数、测试函数等。 四、上机实例 【例2.1】掌握变量的定义和使用(在命令窗口中使用命令并写出结果)。 ABOUT=8,AMOUNT=“18”,BOOK=10,ROOT=“HAPPY”,A=123,B= ‘Hangzhou’,C=‘VFP’ 1.实现对上述变量赋值并显示内存变量。 2.把上述变量保存到A1.MEM文件中。 3.把第3个字母为O的变量保存到A2.MEM文件中。 4.把所有第1个字母不是A的变量保存到A3.MEM文件中。 5.恢复A1.MEM文件中变量(不加additive)。 6.清除以A开头的内存变量。 7.清除所有第3个字母不为O的内存变量。 8.清除所有内存变量。 9.新增变量A2=200,B2=50 10.恢复A1.MEM文件中内存变量(带additive) 11.显示内存变量 【命令与结果】: 1.本题主要考查的是赋值命令STORE和“=”。第2、3、4题主要考查的是内存变量保存命令SAVE的使用。具体命令为: 2.SAVE TO A1 3.SAVE TO A2 ALL LIKE ??O* 4.SAVE TO A3 ALL EXCEPT A* 5.本题主要考查的是内存变量恢复命令RESTORE的使用。具体命令为: RESTORE FROM A1 第6、7、8题主要考查的是内存变量清除命令RELEASE的使用。具体命令为: 6.RELEASE ALL LIKE A* 7.RELEASE ALL EXCEPT ??O? 8.RELEASE ALL或CLEAR MEMORY 9.在命令窗口定义变量A2=200,B2=50 10.本题主要考查的是内存变量恢复命令RESTORE的使用。具体命令为: RESTORE FROM A1 ADDITIVE 11.本题主要考查的是内存变量显示命令DISPLAY或LIST的使用,具体命令为: DISP/LIST MEMO 【例2.2】掌握数组变量的使用(在命令窗口中使用命令并写出结果)。 1.定义数组X(3,4),Y(8) 2.写出下列命令的运行结果。 STORE 666 TO X(1, 4) X(8)=888 STORE X(2, 4) TO Y(6) X(3,4)=X(4) ? X(4) ? X(2, 4) ? X(1, 4) ? X(12) ? Y(4) 【命令结果】: 本题主要考查的是定义数组变量命令DIMNESION或DECLARE的使用,具体命令为: 1.DIMENSION X(3,4), Y(8) 2.本题的答案为:666,888,666,666,.F. 【例2.3】掌握运算符和表达式的使用(在命令窗口中使用命令并写出结果)。 (1)? 2*5 (2)? ‘I LOVE’ + ‘CHINA’ (3)? ‘123’ – ‘56’ (4)? {08/12/98}-{08/10/98} (设置set stri to 0,或将日期设置为严格日期格式) (5)? ‘AS’ $ ‘ABDASD’ (6)? ‘AS’ = ‘ABDASD’ (7)? ‘AS’ = = ‘AS’ (8)? (8>5) .AND. ‘STRING’ $ ‘STR’ (9)? {11/26/96}–10 (10)? ‘DEF’ < ‘AB’ 【命令结果】: 本题主要考查的是常用运算符和表达式(数学、字符、日期、关系和逻辑型表达式)的使用,具体答案为: (1)10 (2)I LOVE CHINA (3)12356 (4)2 (5).T. (6).F. (7).T. (8).F. (9)11/16/96 (10).F. 【例2.4】掌握常用函数使用方法(在命令窗口使用下列函数并写出运行结果)。 1.数值函数 (1)? INT(10-3.2) (2)? ROUND(282.467,1), ROUND(282.467,0) (3)? ABS(2*3-8) (4)? MOD(218, 7), MOD(417, -8) (5)? MAX(128, 821),MIN(128, 821) (6)? SQRT (4) (7)? SIGN (-2) (8)? INLIST (90,20,100) (9)? BETWEEN (90,20,100) (10)? EMPTY ( 0 ) (11)? EMPTY ( ‘ ’ ) (12)? SIN ( 3.14/2 ) (13)? RAND (10),RAND(-10) 2.字符函数 Y=“123” (1)? 456+&Y (2)? LEFT(“AABBCCDD”, 2) (3)? RIGHT(“AABBCCDD”, 2) (4)? SUBSTR(“AABBCCDD”, 4, 2), SUBSTR(“AABBCCDD”, 0, 2) (5)? STUFF(“WORLD”, 2, 4, “ORK”) (6)? AT ( ‘1’, ‘12341141’,3) (7)? LIKE ( ‘ASD*’, ‘ASDFG’) (8)? TYPE ( ‘ABC’ ) (9)? LEN ( ‘VISUAL FOXPRO’ ) (10)? SPACE ( 10 ) (11)? REPL ( ‘ * ’,10 ) 3.日期时间函数 ? DATE ( ) ? DATE ( ) + 10 ? MONTH(CTOD(“03/02/94”)), CMONTH(CTOD(“03/02/94”)) 4.转换函数 (1)? UPPER ( ‘as’ ) (2)? LOWER ( ‘A’ ) (3)? CTOD ( ‘10/18/98’ ) (4)? DTOC ( {10/18/98} ) (5)? ASC ( ‘APPLE’ ) (6)? CHR ( 66 ) (7)? STR ( 156.73, 3 ) (8)? VAL ( “156.73”), VAL(“168A”) 5.测试函数 (1)? INKEY (0) 按键 (2)? FILE ( ‘HELP.DBF’ ) (3)? IIF ( 3>2,1,-1 ) (4)? SET ( ‘CENT’ ) 五、上机练习题 【练习2.1】上机计算下列表达式的值。 1.? (2+8*3)/2 2.? {^1999-11-22}-10 3.? ”ZYX□”+”123□□”-“ABC” 4.? ”BCDX”<”BCE” 5.? ”ABCD”=”ABC” 6.? ”ABC”=”ABCD” 7.? 4=4 AND 5>2+3 8.? ”12345”<>”12345”+”AB” 【练习2.2】上机计算下列函数的值。 1.? AT(“lc”,”Welcome”) 2.? ROUND(5674.675,-3) 3.? STUFF(“abcdefgh”,3,3,”2003”) 4.? SQRT(SQRT(128)) 5.? UPPER(“how are YOU”) 6.? VAL(SUBSTR(‘4762883’,7,3))+10 7.? INT(ABS(56-34)/2) 8.? MONTH({2002/06/03})-18 9.? DTOC(DATE()),DTOC(DATE(),1) 10.N=20 ? IIF(N>25,2*N,4*N) 11.? ”SHE” $ ”SSHEE”, “SHE” $ ”SSHHEE” 12.? ASC(“BBOX”), CHR(66) 13.? SIN ( PI( )/2) 14. ? SUBSTR(‘ABCDEFG’,1,2),SUBSTR ( ‘ABCDEFG’,0,2) 15. ? STUFF(‘1234567’,1,2,‘34’),STUFF(‘1234567’,1,0,‘34’) 【练习2.3】综合练习:写出下列各组命令中每条命令的执行结果。 1.B=DTOC(DATE(),1) ? TYPE(“B”) ? ”今天是:”+B ? “B的数据类型是:”+VARTYPE(B) 2.X=STR(12.4, 4, 1) Y=RIGHT(X, 3) Z=”&Y+&X” ? Z,&Z 3.X=”惠普586” Y=”个人计算机” ? LEN(X),RIGHT(X,3)+Y ? ”&X.&Y”,X+Y ? REPLICATE(LEFT(X,4),2)+SPACE(4)+RIGHT(Y,6) 4.? AT(“人民”,”中国人民解放军”),AT(“人民”,”中国银行”) ? VAL(SUBSTR(“668899”,5,2))+10 ? SUBSTR(“778899”,5)-“1” ? TYPE(“DTOC(DATE())”) 5.DD=DATE() ? STR(YEAR(DD),4)+”年”+STR(MONTH(DD),2)+”月”+STR(DAY(DD),2)+”日” 6.A=“TIME()” B=“A” ? A ? B ? &B ? &A 7.X=“SQRT(81)“ Y=“&X.+2” ? X ? Y ? &X ? &Y
|
教学手段与时间分配
对比法:通过与数学中的数据及其运算进行比较,本章的内容都可以此为基本教法。
重点:各种数据类型的数据表示方式、适用场合、选择原则
启发式:
重点: 各种类型常量的表示方法。这也是二级考试的考点之一
比喻法引入
举例:非法变量与合法变量
设计一些变量,供后面的显示与输出讲解 只作了解
以学生信息表为例介绍
观察网页中的动画,理解变量赋值的含义。 举例加演示
命令的讲解要从实际应用出发,只介绍命令的最常用的用法,没有必要面面俱到。
比喻法引入 预先设计一个有代表性的数组,如学生信息中的一个记录,便于后面讲解定义、赋值、显示、输出等。
举例说明
比较法:与变量显示、输出的比较
提问:
对比法:与数学运算符对比
举例
启发式
提问,让学生思考 师生互动
请学生总结
启发式
1、强调函数使用的一般规则 2、几种典型函数的用法 3、强调函数的使用将会贯穿于整个课程,要逐步学习并总结
讲解思路: 1、函数功能 2、参数要求 3、返回值及类型 4、应用举例
学时:2学时 |