FoxProforWindows程序设计第8章课件.ppt
《FoxProforWindows程序设计第8章课件.ppt》由会员分享,可在线阅读,更多相关《FoxProforWindows程序设计第8章课件.ppt(65页珍藏版)》请在三一办公上搜索。
1、8.1 常用的系统函数8.2 数据库的统计和计算,第 8 章 系统函数和数据库的计算,返回主目录,8.1 常用的系统函数第 8 章 系统函数和数据库的计,第8章系统函数和数据库的计算,8.1常用的系统函数 8.1.1数学运算函数 1. 取绝对值函数() (说明: 表示函数的参数为数值型, 函数返回值是数值型, 下同。) (1) 函数格式: ABS(数值表达式) (2) 函数功能: 取数值表达式计算结果的绝对值。 (3) 举例:,第8章系统函数和数据库的计算8.1常用的系统函数,?EXP(1.0000)&返回值是 e (近似2.7183) X=EXP(-12.000) &返回值是 e 的-12次
2、方的计算结果 (4) 说明: 该函数返回值的精度, 与给出的自变量的精度有关, 例如: ?EXP(-12) &参数给出小数部分是位, 所以函数返回值是0 ?EXP(-12.000000) &参数给出为小数, 所以函数返回值是0.000006 5. 自然对数函数() (1) 函数格式: LOG(数值表达式) (2) 函数功能: 求数值表达式结果值的自然对数(即以e为底的对数)。,?EXP(1.0000)&返回值是 e (近似2.7183,(3) 举例: ?LOG(2.7183) &显示函数返回值是近似1的数 0.9999 ?LOG(EXP(2.00) &函数返回值是 2, 因为LOG()和EXP
3、()互为反函数 (4) 说明: 另有常用对数LOG10(数值表达式), 是计算以10为底的对数。 6. 四舍五入函数() (1) 函数格式:ROUND(数值表达式1,数值表达式2) (2) 函数功能: 对数值表达式1的值, 用数值表达式2指定保留小数的位数。,(3) 举例: ,(3) 举例: ?ROUND(1/3,2*3) &显示函数返回值 0.333333 ?ROUND(LOG10(123),4) &显示函数返回值 2.0899 7. 求模函数() (1) 函数格式: MOD(数值表达式1,数值表达式2) (2) 函数功能: 返回数值表达式1除以数值表达式2的整余数。 (3) 举例: ?MO
4、D(123,10) &显示函数返回值 3 ?MOD(100,10) &显示函数返回值 0,(3) 举例: ,(4) 说明:数值表达式1和数值表达式2的值必须是同为正数或负数,若不同号,则返回值不能解释为余数。 例如: ?MOD(7,-3) &函数返回值是 -2 ?MOD(-7,3) &函数返回值是 2 ?MOD(-7,-3) &函数返回值是 -1HT5SS 函数MOD()和运算符的计算功能完全相同。 8. 产生随机数函数() (1) 函数格式: RAND(数值表达式) (2) 函数功能: 返回一个(0,1)区间的随机数, 所返回随机数的精度为系统的默认设置。 如果给出一个数值表达式作为本函数的
5、参数, 每当该表达式的值变化一次,,(4) 说明:数值表达式1和数值表达式2,才能产生一个新的随机数。 (3) 举例: ?RAND() &显示(0,1)区间的随机数, 按默认精度为2位小数 SET DECIMALE TO 4 &设置精度为位小数 ?RAND(1) &返回 (0,1) 区间的随机数, 按设置应为4位小数 ?RAND(1) &因为参数为常量1, 所以产生和上面相同的的随机数,才能产生一个新的随机数。 ,例 8.1 产生(10,100)区间的个随机整数。 程序如下: CLEAR STOR 0 TO x DO WHIL x10 &为摈弃小于等于的那些整数? m &输出一个符合要求的整数
6、 x=x+1 &只有输出一个满足要求的数后计数器x才加 ENDIF ENDDO,例 8.1 产生(10,100)区间的个随机,8.1.2三角函数 1. 返回值的函数() (1) 函数格式: PI() (2) 函数功能: 按当前设置的精度, 返回值(3.141 592 6)。 (3) 举例: SET DECIMALE TO 3&设置显示位小数 ?PI() &按当前设置的精度, 显示的值为3.141 ?ROUND(PI(),10) &按四舍五入函数指定的精度显示3.1415926536,8.1.2三角函数,2. 正弦函数() (1) 函数格式: SIN(数值表达式) (2) 函数功能: 返回数值表
7、达式值的正弦值, 规定角的单位为弧度。 (3) 举例: ?SIN(1.23) &函数返回1.23弧度的正弦值0.94 ?ROUND(SIN(1.23),6) &按四舍五入函数指定的精度返回正弦值 仿此, 可以得知余弦函数COS()、 正切函数TAN()、 反正弦函数ASIN()、 反正切函数ATAN()的用法。 ,2. 正弦函数(),3. 度转弧度函数() (1) 函数格式: DTOR(数值表达式) (2) 函数功能: 数值表达式值是以度为单位的, 函数返回其弧度数。 (3) 举例: ?DTOR(1.23) &显示1.23度的弧度数0.02 另有弧度转换为度的函数为RTOD()。 ,3. 度转
8、弧度函数(),8.1.3 字符串处理函数 1. 替换函数 (1) 函数格式: &字符型变量 (2) 函数功能: 取出字符型变量中存储的数据。 (3) 说明: 只能对字符型变量使用替换函数。 替换函数是经常使用的函数, 但是初学者经常出现使用不当的情况。 所以, 我们对替换函数使用的场合及其使用效果作如下说明: 当字符型变量出现在应当使用字符型常量的位置上时, 必须用替换函数对字符型变量进行替换。例如,下面的程序段:,8.1.3 字符串处理函数,USE D:rsh INDEX ON 姓名 TO D:inxm ACCEPT 请输入需要查找的职工的姓名: TO aa &例如输入李磊 FIND &aa
9、 在上面的程序段中,变量AA存储了字符串“李磊”, 如果用FIND命令查找当前数据库中姓名为“李磊”的职工, 根据FIND命令的使用规则, 被查找的应当是一个字符型常量, 不能直接使用变量名,所以这里必须对变量AA使用替换函数。 可见, 使用字符型变量的替换函数值,等同于使用变量中存储的字符串。 ,USE D:rsh,字符型变量使用替换函数后, 可以作为字符型常量的一个组成部分。 这种情况下,有时需要在变量名和字符串中的其它字符之间加一个圆点分隔符“.”。 例如: AA=李磊 ? &AA.已经找到&显示: 李磊已经找到 ? 已经找到&AA &显示: 已经找到李磊 可见, 如果替换函数出现在字符
10、型常量的后面, 就没有必要使用圆点分隔符了,因为此时的函数符号(&)起了分隔符的作用。 在显示或打印固定格式的表格时,如果表格的标题中有部分内容是不断变化的,则可在标题字符串中使用替换函数。 请看下面的程序段: ,字符型变量使用替换函数后, 可以作为字符型常量,ACCEPT 请输入单位名称: TO mc&输入表格标题中的可变部分 ? &mc.的人员名单 &输出表格标题 当把字符型变量中存储的字符串作为一个标识符或一个标识符的一部分时,需要对字符型变量使用替换函数。 例如, 下面都是正确打开数据库文件RSH.DBF的命令: AA=r BB=s CC=h USE D:&AA.sh&等同于 USE
11、D:rsh,ACCEPT 请输入单位名称: TO,USE D:r&BB.h &等同于 USE D:rsh USE D:&AA&BB&CC &等同于 USE D:rsh 把存储数字字符的字符型变量作为数值变量使用时, 需要对这样的字符型变量使用替换函数。 例如: AA=2&变量AA是存有数字字符的字符型变量 BB=3 &变量BB是存有数字字符的字符型变量 ?SIN(&AA+&BB) &因&AA+&BB=5, 故输出弧度的正弦值: -0.96,USE D:r&BB.h &等同于 USE,注意, 如果字符型变量AA、 BB存储的不是数字字符, 则计算机把替换函数的返回值视为变量名, 除非事先对变量中
12、存储的字符串作为变量定义并赋值, 否则系统显示“变量没有找到”的出错信息。例如: AA=abc BB=xyz ?&aa+&bb&屏幕显示出错信息(变量abc没有找到) abc=11 xyz=22 ?&aa+&bb &但是定义变量abc、 xyz并赋值后不再出错, 屏幕显示33,注意, 如果字符型变量AA、 BB存储的不是, 当字符型变量中存储的是一个符合语法规则的表达式, 在命令中把该变量作为表达式使用时, 应当对该变量使用替换函数。 例如下面的程序段: USE D:rsh AA=.T. AA=AA+.and. 工资500 AA=AA+.and. 性别=男 DISPLAY FOR &aa AA
13、=.T. AND 性别=女 AND 工资500 OR 技术等级8 LOCATE FOR &AA, 当字符型变量中存储的是一个符合语法规则的,这里, FOR短语中的条件表达式, 如果直接使用变量AA, 因为系统认为AA是一个逻辑型变量名, 所以会出现错误。如果对变量AA使用替换函数, 就等同于使用变量AA存储的那个逻辑表达式,就不会出错了。 在应用程序开发中, 经常用这种向字符型变量追加查询条件的方法, 随机构成查询用的复合条件表达式。 2. 子串检索函数(、 ) (1) 函数格式: AT(字符型表达式1,字符型表达式2,数值型表达式3) (2) 函数功能: 当字符型表达式1是字符型表达式2的子
14、串时, 返回字符型表达式1在字符型表达式2中的起始位置。 ,这里, FOR短语中的条件表达式, 如果直接,(3) 举例: 例 8.2 USE D:rsh m=AT(李, 姓名) &如果当前记录的姓名字段值中包含“李”, 则返回, 否则返回 IF m=1 ?当前记录中的职工姓李 ELSE ?当前记录中的职工不姓李 ENDIF,(3) 举例: 例 8.2,(4) 说明: 字符型表达式1和字符型表达式2可以有一个或两个都是型的字段; AT函数的参数中, 如果选择数值型表达式3, 设数值型表达式3的值为, 则函数只返回子串在母串第次出现时, 在母串中的起始位置数。 例如: AA=RR BB=AB RR
15、 CD RR EF RR ?AT(AA,BB,3) &子串RR在母串中第次出现的起始位置是16 3. 取子串函数(),(4) 说明: ,(1) 函数格式: SUBSTR(字符型表达式,子串起始位置,所取子串的字符个数) (2) 函数功能: 在字符型表达式(母串)中, 从指定的起始位置开始, 截取子串。 如果选择了所取子串的字符个数, 则按指定的长度返回子串; 如果不选择所取子串的字符个数, 则返回从指定位置开始到母串结尾的字符串。 (3) 举例: AA=ABCDEFGHIJK,(1) 函数格式: ,BB=SUBSTR(AA,4) CC=SUBSTR(AA,4,2) ? BB,CC& BB输出D
16、EFGHIJK, CC输出DE DD=SUBSTR(AA,4,20) &指定的子串长度比可截取的长度长时,只能取到串尾 SUBSTR函数是经常使用、 非常重要的一个字符串处理函数, 请看下例。 例 8.3在某单位人事管理系统中, 职工代码设计时规定: 前两位是处级单位的识别码,中间两位是科级单位的识别码, 后两位是职工在该科的顺序号。设职工代码在数据库中的字段名为DM, 则: ,BB=SUBSTR(AA,4),AA=SUBSTR(DM,1,2)&取出该职工所在处的代码 BB=SUBSTR(DM,3,2) &取出该职工所在科的代码 INDEX ON SUBSTR(DM,1,2) TO DWPL
17、&按处代码索引, 使记录按处排列 仿此, 在销售管理中的商品代码、 在库房管理中的物资代码在其代码设计时, 一般都应遵循下列两点: 代码字段的类型要用字符型, 以便能截取其中若干个字符。 代码应分为若干个码段, 各个码段应有见码识意的作用。 ,AA=SUBSTR(DM,1,2),4. 删除串尾空格函数() (1) 函数格式: TRIM(字符型表达式) (2) 函数功能: 删除字符型表达式中尾部空格。 (3) 举例: AA=ABC BB=XYZ ? AA,BB&输出的ABC和XYZ之间有个空格 AA=TRIM(AA) &删除变量AA中存储的字符串的尾空格后, 再存入AA ? AA,BB &输出为
18、ABCXYZ, 中间再无空格了,4. 删除串尾空格函数(),另外还有, 删除字符串右空格的函数和删除字符串左空格的函数: RTRIM (字符型表达式) LTRIM (字符串表达式) 显然, RTRIM()函数和TRIM()函数的功能完全相同。 因为数值型常量是右对齐输出的, 有时为了使数值型常量输出的格式紧凑、 整齐, 要把数值变字符串后, 再删除串中的左空格, 请看下例。 例 8.4请在一行内输出15个(0,10区间中的随机整数。 分析: 一个数值输出时总是占个字符的栏位, 屏幕一行仅有个字符的栏位。 如果我们不设法将每个数的输出栏位减少, 就达不到一行内输出个数的要求。,另外还有, 删除字
19、符串右空格的函数和删除字符,CLEAR n=0 DO WHIL n15 ?LTRIM(STR(INT(RAND()*11)+ &请读懂这个字符型表达式 n=n+1 ENDDO 5. 计算字符串长度的函数() (1) 函数格式: LEN(字符型表达式) (2) 函数功能: 返回字符型表达式的字符串中字符的个数(长度)。 注意, 一个全角字符的长度是。 ,CLEAR,(3) 举例: AA=中国ABC ?LEN(AA)&因为一个汉字按两个半角字符计算, 所以输出 6. 重复给定的字符串的函数() (1) 函数格式: REPLICATE(字符型表达式,数值型表达式) (2) 函数功能: 返回一个字符串
20、, 该字符串的构成是: 对字符型表达式给出的字符串, 重复数值型表达式给出的次数。此函数常用于屏幕显示格式或打印格式的设计。,(3) 举例: ,(3) 举例: ABC=REPLICATE(-,15*2) &把由30个减号组成的字符串赋给变量ABC ?ABC &屏幕显示一条横线(由30个减号构成) ?REPLICATE(*,15) &屏幕显示一条由30个星号组成的横线 7. 生成空格字符串的函数() (1) 函数格式: SPACE(数值型表达式 (2) 函数功能: 返回一个字符串, 该字符串由空格字符组成, 所包含的空格字符数由数值型表达式指定。 ,(3) 举例: ,(3) 举例: USE D:
21、rsh abc=SPACE(LEN(姓名)&字符串中的空格数同字段姓名的宽度 mXM=abc &定义并初始化变量mXM为一空字符串 xyz=REPLICATE(SPACE(5),10) &变量xyz存储了50个空格字符,(3) 举例: ,8.1.4 日期、 时间函数 1. 返回系统时间函数(TIME() 表示时间的数据格式是 时:分:秒。 2. 返回系统日期函数(DATE() 按设置的格式显示系统日期, 年、 月、 日的分隔符是“-”。,8.1.4 日期、 时间函数,8.1.5 类型转换函数 1. 英文字母小写转换为大写的函数() (1) 函数格式: UPPER(字符型表达式) (2) 函数功
22、能: 将字符串中的小写字母一律改成大写字母。 (3) 举例: 例 8.4在程序设计中, 有时需要询问用户是否修改、是否继续输入等问题, 一般是请用户回答Yes或No的第一个字母, 然后程序判断用户的回答并转入相应的处理。 但是, 用户回答的可能是小写字母, 也可能是大写字母。 这样, 程序判断起来就比较麻烦。 因此, 最好使用UPPER函数将用户的回答统一转换成大写字母。例如: WAIT 请回答(Y/N) TO yn,8.1.5 类型转换函数,IF UPPER(yn)=Y 程序段 ELSE 程序段 ENDIF 还有一个大写字母转换成小写字母的函数: LOWER(字符型表达式)。 2. 字符串转
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FoxProforWindows 程序设计 课件

链接地址:https://www.31ppt.com/p-1284792.html