VF程序设计基础(2)课件_第1页
VF程序设计基础(2)课件_第2页
VF程序设计基础(2)课件_第3页
VF程序设计基础(2)课件_第4页
VF程序设计基础(2)课件_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VF程序设计基础(2)1 第二章:第二章:VF程序设计基础程序设计基础 VF程序设计基础(2)2 考核知识点 v常量、变量和表达式常量、变量和表达式 v常用函数:字符处理函数,数值计算函常用函数:字符处理函数,数值计算函 数,日期时间函数,数据类型转换函数数,日期时间函数,数据类型转换函数 和测试函数。和测试函数。 v程序与程序文件:程序的概念,程序的程序与程序文件:程序的概念,程序的 基本结构,多模块程序设计。基本结构,多模块程序设计。 VF程序设计基础(2)3 重要考点重要考点: v常量和变量的概念、类型及特点;常量和变量的概念、类型及特点; v表达式的类型;表达式的类型; v函数的使用:

2、函数的使用:trim, left, right, substr, at, like, date, str, val, isnull, empty, vartype, eof, bof, iif v程序与程序文件、程序的选择结构、程程序与程序文件、程序的选择结构、程 序的循环结构、多模块程序设计。序的循环结构、多模块程序设计。 VF程序设计基础(2)4 考点一:常量考点一:常量 常量用以表示一个具体、不变的值。常量用以表示一个具体、不变的值。 不同类型常量的书写格式不同。分为:不同类型常量的书写格式不同。分为: n数值型:代码数值型:代码N,用来表示一个数量的大小。,用来表示一个数量的大小。 无

3、定界符。如:无定界符。如:0,20,-3.14 ,1.25E-2 n货币型:代码货币型:代码Y,用来表示货币值,定界符:,用来表示货币值,定界符:$。 n字符型:代码字符型:代码C,就是一串字符,定界符:,就是一串字符,定界符: “ ” , , BOF()测试指针是否指到了测试指针是否指到了表文件表文件的开始的开始; VF程序设计基础(2)44 考点考点 十十 3.条件测试条件测试 IIF(Lexp,exp1,exp2) 若逻辑表达式为真若逻辑表达式为真,则返回则返回exp1的值的值,否则返否则返 回回exp2的值的值 X=100 Y=300 ?IIF(X100,X-50,X+50) ?IIF

4、(Y100,Y-50,Y+50) VF程序设计基础(2)45 函数部分练习题:函数部分练习题: 填空题:填空题: 1.将数值型转换成字符型的函数是(将数值型转换成字符型的函数是( )。)。 2.将字符型转换成数值型的函数是(将字符型转换成数值型的函数是( )。)。 3.求当前系统时间的函数是(求当前系统时间的函数是( ),当前系),当前系 统时间的返回值的数值类型是(统时间的返回值的数值类型是( )。)。 4.求当前年份的函数是(求当前年份的函数是( ),他的返回值),他的返回值 的数值类型是(的数值类型是( ) VF程序设计基础(2)46 5.?len(alltrim(“ 计算机等级计算机等

5、级 ”)的的 结果是结果是: 6.表示表示”1962年年10月月27日日”的日期型常量应该写为的日期型常量应该写为: 7.下列符号中下列符号中,不常作为日期型常量分隔符的是不常作为日期型常量分隔符的是: A.斜杠斜杠(/) B.连字符连字符(-) C.句点句点(.) D.脱字符脱字符() 8.在下面的数据类型中在下面的数据类型中,默认值为默认值为.F.的是的是: A.数值型数值型 B.字符型字符型 C.逻辑性逻辑性 D.日期型日期型 9.在在VF中中,内存变量的数据类型不包括的是内存变量的数据类型不包括的是: A.数值型数值型 B.货币型货币型 C.备注型备注型 D.逻辑型逻辑型 VF程序设计

6、基础(2)47 10.在下列函数中在下列函数中,函数值为数值型的是函数值为数值型的是: A.AT(“中国中国”,”中国计算机中国计算机”) B.CTOD(“04/30/2004”) C.BOF() D.SUBSTR(DTOC(DATE(),7) 11.函数函数STUFF(“计算机计算机”,5,4,”信息报信息报”)的返回值的返回值: A.计算机信息报计算机信息报 B.计算信息报计算信息报 C.计算机信息计算机信息 D.机信息报机信息报 12.已知已知X=45,则函数则函数VARTYPE(X)的结果是的结果是: 13.假定系统日期就是今天的日期假定系统日期就是今天的日期,则执行命令则执行命令 X

7、1=MOD(YEAR(DATE()-2000,3)后后,X1的值是的值是: 14.STR(123.5454,6,3)的值是的值是: VF程序设计基础(2)48 15.在命令窗口输入如下命令在命令窗口输入如下命令: STORE 2*3 TO X ?X 的返回值是的返回值是: 16.Store 3*5=15 to x Y=.F. ?x .AND. Y 的返回值是的返回值是: 17.有如下赋值语句有如下赋值语句,结果为结果为”大家好大家好”的表达式是的表达式是: A=“你好你好” B=“大家大家” A.b+AT(a,1) B.b+RIGHT(a,1) C. b+LEFT(a,3,4) D. b+RI

8、GHT(a,2) VF程序设计基础(2)49 2.4 程序与程序文件 v考点十一:基础考点十一:基础 v概念:程序是能够完成一定任务的命令的集合。当运概念:程序是能够完成一定任务的命令的集合。当运 行程序时,系统会按照一定的次序自动执行程序中的行程序时,系统会按照一定的次序自动执行程序中的 命令。命令。 v程序文件的建立程序文件的建立 “文件文件”“新建新建”“程序程序” 或者或者 modify command v程序文件的执行程序文件的执行 1)单击工具栏上的)单击工具栏上的“!” 2)Ctrl + E 3) 命令:命令: do 程序文件名程序文件名 VF程序设计基础(2)50 4) CAN

9、CEL i 既既 作为被累加的数据,也作为控制循环条件是否成立的变量,初作为被累加的数据,也作为控制循环条件是否成立的变量,初 值为值为1. 重复执行命令:重复执行命令:s=s+i 和和 i=i+1,直到,直到 i 的值超过的值超过 100,每执行一次,每执行一次,s 的值增加的值增加i ,i 的值增加的值增加1。 clear S=0 i=1 Do while i=3)” to n F=0 i=2 Do while i=n-1 if mod(n,i)0 i=i+1 loop else f=1 exit endif Enddo If f=0 ? Str(n,3)+”是素数是素数” Else ?

10、Str(n,3)+”不是素数不是素数” Endif return VF程序设计基础(2)77 Input “请输入自然数请输入自然数(=3)” to n F=0 i=2 Do while i=n-1 if mod(n,i)=0 f=1 exit endif Enddo VF程序设计基础(2)78 FOR 变量变量=初值初值 TO 终值终值 STEP步长步长 语句序列语句序列 ENDFOR|NEXT 变量变量 NEXT后面的语句 N 变量赋初值 循环体 在范围内 Y 变量增加一个步长 2. FOR循环循环 *循环体中不应包含改变循环循环体中不应包含改变循环 变量值的命令变量值的命令,否则循环次数

11、否则循环次数 将改变将改变 VF程序设计基础(2)79 v该语句通常用于实现循环次数已确该语句通常用于实现循环次数已确 定的情况。执行该语句时,首先将定的情况。执行该语句时,首先将 初值赋给循环变量,然后判断条件初值赋给循环变量,然后判断条件 是否成立,若循环条件成立,则执是否成立,若循环条件成立,则执 行循环,然后循环变量增加一个步行循环,然后循环变量增加一个步 长值再次判断循环条件是否成立,长值再次判断循环条件是否成立, 若循环条件不成立,则结束该循环若循环条件不成立,则结束该循环 语句。语句。 VF程序设计基础(2)80 v功能注释:功能注释: n步长默认值为步长默认值为1; n初值、终

12、值和步长的值一旦确定,不再改变;初值、终值和步长的值一旦确定,不再改变; n步长为正数,初值小于终值;为负数,初值步长为正数,初值小于终值;为负数,初值 大于终值;大于终值; n循环次数的计算:循环次数的计算:int ( (终值初值终值初值) / 步长步长) +1 用用exit 可以退出循环,循环不再执行;用可以退出循环,循环不再执行;用 loop 可以结束本次循环,再到循环的开始处可以结束本次循环,再到循环的开始处 继续执行循环。继续执行循环。 VF程序设计基础(2)81 例例1 1: Clear Dimension A(6) For k=1 to 6 A(k)=20-2*k Endfor

13、?A(1),A(2), A(3), A(4), A(5), A(6) VF程序设计基础(2)82 练习题练习题 1.分别用分别用FOR循环和循环和DO WHILE循环计循环计 算算1+2+3+30的值?的值? 2.用用FOR循环输出循环输出1100之间所有不能之间所有不能 被被7整除的数?(提示:使用整除的数?(提示:使用LOOP) VF程序设计基础(2)83 练习题答案 S=0 FOR I=1 TO 30 S=S+I ENDFOR ?S S=0 I=0 DO WHILE I=1 A(K)= A(K)- A(K+1) K=K-1 ENDDO ?A(1),A(3),(5) VF程序设计基础(2)

14、86 例例3:从键盘上输入从键盘上输入10个数,然后找出其中最大值和最小值。个数,然后找出其中最大值和最小值。 思路:思路:假定已经找出假定已经找出n-1个数中的最大值个数中的最大值ma (或最小值(或最小值mi),), 现在再读入第现在再读入第n个数个数a,那么那么a和和ma(或(或mi)中的较大者)中的较大者 (或较小者)就是(或较小者)就是n个数中的最大值(或最小值)。个数中的最大值(或最小值)。 clear input 请输入入一个数: to a stor a to ma,mi for i=2 to 10 input 请输入一个数: to a if maa mi=a endif end

15、for ?最大值:,ma ?最小值:,mi VF程序设计基础(2)87 3.SCAN循环 SCAN 范围范围FOR条件条件 语句序列语句序列 ENDSCAN *特别适合对表记录特别适合对表记录 进行某种处理进行某种处理 ENDSCAN后的语句 N 指针移到第一条 满足条件的记录 循环体 文件未结束 Y 定位到下一满足条 件记录 VF程序设计基础(2)88 例例1: 删除所有性别为男的记录删除所有性别为男的记录 Use 学生学生 Scan for 性别性别=“男男” delete endscan VF程序设计基础(2)89 自治区考题:自治区考题: 多项选择题多项选择题 以下是循环结构的有:以下

16、是循环结构的有: A.DO WHILE B.for endfor C.SCAN ENDSCAN D.DO CASE E.IF ENDIF F. INPUT VF程序设计基础(2)90 例例2:统计职工表中性别的人数,统计职工表中性别的人数, 并删除相关记录并删除相关记录 s=0 scan for 性别性别=男男 disp wait s=s+1 endscan ?男生人数是男生人数是:,s VF程序设计基础(2)91 2.6 多模块程序设计 应用程序一般是多模块程序应用程序一般是多模块程序,包含多个程序模块包含多个程序模块.模块是一模块是一 个相对独立的程序段个相对独立的程序段.它可以被其它模块

17、调用,也可以去调用它可以被其它模块调用,也可以去调用 其他模块。通常,把被其它模块调用的模块称为其他模块。通常,把被其它模块调用的模块称为子程序子程序,把,把 调用其他模块而没有被其他模块调用的程序称为调用其他模块而没有被其他模块调用的程序称为主程序主程序。 将一个程序划分为一个个功能相对简单、单一的模块程序,将一个程序划分为一个个功能相对简单、单一的模块程序, 不仅便于程序的开发,也利于程序的阅读和维护。不仅便于程序的开发,也利于程序的阅读和维护。 VF程序设计基础(2)92 显示实例:显示实例: 主程序:主程序:PP 内容:内容: set procedure to p1 do p1 子程序

18、:子程序:P1 内容:内容: procedure p1 a=3 b=5 ?a,b,a+b endproc VF程序设计基础(2)93 考点十五:模块的定义和调用 v定义模块定义模块 procedure | function return Endproc | endfunc 注释:注释:1)proce用来定义过程,用来定义过程,function 定义函数。函数和定义函数。函数和 过程有一些差别。过程有一些差别。 2)过程名必须以字母或下划线开头,)过程名必须以字母或下划线开头, 可包含字母、数字和下划线。可包含字母、数字和下划线。 3)执行时碰到)执行时碰到return,则,则 返回主程序。返回

19、主程序。 VF程序设计基础(2)94 2. 调用模块调用模块 格式格式1: do 过程名过程名 或或 do 函数名函数名 格式格式2: 过程名过程名 ( ) 或或 函数名函数名( ) 注意:如果主程序和子程序在两个文件中,则调用前先要用注意:如果主程序和子程序在两个文件中,则调用前先要用 set procedure to 文件名文件名 命令打开过程文件命令打开过程文件 示例如前所示示例如前所示 VF程序设计基础(2)95 考点十六:参数传递 模块程序可以接收调用程序传递来的参数,并根据接收到的参模块程序可以接收调用程序传递来的参数,并根据接收到的参 数控制流程或对接收到的参数进行处理,从而大大

20、提高了数控制流程或对接收到的参数进行处理,从而大大提高了 程序的灵活性。程序的灵活性。 v传递参数的命令:传递参数的命令: 格式格式1:do 过程名过程名|函数名函数名 with 实参实参1,实参,实参2 格式格式2:过程名:过程名(实参实参1,实参,实参2 ) 或或 函数名函数名(实参实参1,实参,实参 2 ) 2. 接收参数接收参数 parameters 形参形参1,形参形参2 注释:注释:实参可以是常量,变量或表达式实参可以是常量,变量或表达式。调用模块时,系统会。调用模块时,系统会 自动把实参传递给对应的形参。自动把实参传递给对应的形参。形参的数目要大于或等于形参的数目要大于或等于 实

21、参的数目。实参的数目。 VF程序设计基础(2)96 例:例: 主程序:主程序:PP 内容:内容: input “请输入一个加数请输入一个加数“ to x input “请输入一个加数请输入一个加数“ to y set procedure to p1 do p1 with x,y 子程序:子程序:P1 内容:内容: procedure p1 parame a,b a=3 b=5 ?a,b,a+b endproc VF程序设计基础(2)97 3. 参数传递时可以按引用传递,也可以按值传递。参数传递时可以按引用传递,也可以按值传递。 引用传递:当形参的值发生改变时,实参的值引用传递:当形参的值发生改

22、变时,实参的值也一起改变也一起改变; 值传递:当形参的值发生改变时,实参的值值传递:当形参的值发生改变时,实参的值不会改变不会改变; 采用采用 do 命令命令调用时,若实参是常量或表达式,则是值传递;调用时,若实参是常量或表达式,则是值传递; 若是变量,则是引用传递。若是变量,则是引用传递。 采用采用过程名过程名(实参实参)调用时,都是值传递方式。调用时,都是值传递方式。 请观察以下几个程序执行的结果: VF程序设计基础(2)98 例例1: 主程序:主程序:PP_1 内容:内容: input “请输入一个加数请输入一个加数“ to x input “请输入一个加数请输入一个加数“ to y s

23、et procedure to p1_1 do p1_1 with x,y ?”x和和y的值分别是:的值分别是:”,x,y 子程序:子程序:P1_1 内容:内容: procedure p1_1 parame a,b a=1.25 b=2 ?”a,b的值是:的值是: “,a,b endproc VF程序设计基础(2)99 例例2: 主程序:主程序:PP_2 内容:内容: input “请输入一个加数请输入一个加数“ to x input “请输入一个加数请输入一个加数“ to y set procedure to p1_2 do p1_2 with (x),y ?”x和和y的值分别是:的值分别是

24、:”,x,y 子程序:子程序:P1_2 内容:内容: procedure p1_2 parame a,b a=1.25 b=2 ?”a,b的值是:的值是: “,a,b endproc VF程序设计基础(2)100 例例3: 主程序:主程序:PP_3 内容:内容: input “请输入一个加数请输入一个加数“ to x input “请输入一个加数请输入一个加数“ to y set procedure to p1_3 p1_3( x,y) ?”x和和y的值分别是:的值分别是:”,x,y 子程序:子程序:P1_3 内容:内容: procedure p1_3 parame a,b a=1.25 b=

25、2 ?”a,b的值是:的值是: “,a,b endproc VF程序设计基础(2)101 例例4: 主程序:主程序:PP_4 内容:内容: input “请输入一个加数请输入一个加数“ to x input “请输入一个加数请输入一个加数“ to y set procedure to p1_3 p1_4( x,(y) ?”x和和y的值分别是:的值分别是:”,x,y 子程序:子程序:P1_4 内容:内容: procedure p1_4 parame a,b a=1.25 b=2 ?”a,b的值是:的值是: “,a,b endproc VF程序设计基础(2)102 4. 也可以用也可以用 set udfparms to 命令改变传递方式(它只对命令改变传递方式(它只对 括号调用的格式有效,对括号调用的格式有效,对do 格式无效)格式无效) Set udfparms to value 设置为按值传递设置为按值传递 Set udfparms to reference 设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论