第5章 程序设计基础.ppt_第1页
第5章 程序设计基础.ppt_第2页
第5章 程序设计基础.ppt_第3页
第5章 程序设计基础.ppt_第4页
第5章 程序设计基础.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、第1页,第5章,程序设计基础,5.1,程序设计5.2,程序的基本结构5.3,过程和自定义函数,第2页,5.1,程序设计,5.1.2,面向过程的程序的建立和操作5.1.3,面向过程的程序中常用的语句和函数,第3页,5.1.1,程序和程序设计的概念,程序可以编程是根据一定的控制结构将一系列命令组织成程序的过程,也称为编程。第4页,VFP计划示例(示例5.1): *功能描述:计算平均总注册分数。清除学生id,如01%进入数组TJ2?所有学生的平均总注册分数:TJ1(1)?01大学生平均总成绩:TJ2(1) RETURN,程序控制RETURN,5.1.1程序和程序设计的概念,第5页,5.1.2程序的建

2、立和运行面向过程,两种程序设计方法都是面向过程的:一种是过程驱动的程序设计方法,其中程序描述了完成整个任务的操作过程,程序流程完全由程序控制。面向对象的方法:一种基于对象和事件驱动的编程方法。面向过程的程序被存储为带有PRG文件扩展名的“程序文件”。第6页,5.1.2面向过程程序的建立和操作,1程序文件的建立打开程序编辑窗口的常用方法:使用项目经理:打开项目经理,在“代码”选项卡中选择“程序”,然后单击“新建”。从“文件”菜单或标准工具栏中选择“新建”。使用命令:修改命令。保存程序文件的常用方法:从“文件”菜单或标准工具栏中选择“保存”。第7 . 5 . 1 . 2页是面向过程程序的建立和运行

3、。2.程序文件的修改打开程序文件的常用方法:使用项目经理(如果程序文件已在某个项目中建立)从“文件”菜单或常用工具栏中选择“打开”。使用命令:修改命令,第8页,3运行程序文件的常用方法:从“程序”菜单或常用工具栏中选择“运行”,并使用项目经理使用命令:执行注意事项:运行期间按下ESC键中断运行,5.1.2面向过程的程序的建立和运行,第9页,1环境设置语句:设置开|关,如设置通话开|关功能:控制某些命令是否显示在屏幕上。设置为,如设置默认为功能:设置默认工作目录,5.1.3过程程序常用的语句和功能,第10页,2清除语句:清除清除功能:清除屏幕或当前窗口显示的内容。5.1.3过程程序的通用语句和函

4、数,3个简单输出语句:函数:计算表达式表中每个表达式的值,并从屏幕下一行的第一列开始显示。如果?如果你没有遵循任何表达式,这意味着开始一个新的行。函数:计算表达式表中每个表达式的值,并从屏幕上当前光标的位置显示出来。第11,4页数据输入语句:输入输入到功能:屏幕上显示提示信息,等待用户从键盘输入数据,用户可以输入任何合法的表达式。在用户输入并返回之后,系统将表达式的值赋给指定的内存变量。注意:内存变量的类型是输入表达式的类型。5.1.3对于过程程序中常用的语句和函数,第12,5页单字符输入语句: WAIT WAIT TO WINDOWS函数:在屏幕或小窗口上显示提示信息,并等待用户按下键盘上的

5、任意键。系统将按下的字符分配给指定的字符存储变量。注意:内存变量的类型是字符类型。5.1.3面向过程程序的常用语句和函数,第13页,例5.2,编写程序文件TJ2。PRG,输入学院代码,并要求统计大学生的平均总分。*功能描述:统计在指定学院注册的学生的平均总分。请输入学院代码:从学生中选择AVG;左侧(学生编号,2)=数据挖掘成数组TJ?大学生平均总注册分数:TJ(1) WAIT,请在看到return后按任意意键返回,5.1.3对于面向过程程序中常用的语句和函数,请输入大学代码:01大学生平均总注册分数:562.40,请在看到结果后按任意意键返回,第14,6页。消息功能MESSAGEBOX(,)

6、,其中=示例5,1 48 256,请确认)注意: MESSAGEBOX不能缩写为MESS。5.1.3面向过程程序中常用的语句和函数,第15页,5.2程序的基本结构,5.2.1顺序控制,5.2.2选择控制,5.2.3循环控制,三种基本结构:顺序结构:程序执行时,根据程序中语句的编写顺序依次执行命令;当程序被执行时,根据不同的条件,选择执行不同的程序语句循环结构:使一些语句或程序段重复执行几次,第16页,5.2.1顺序控制,第17页,5.2.2选择控制,第1IF语句如果ELSE ENDIF,第18页,5.2.2选择控制,ELSE子句可以省略,如果ENDIF,第19页,2.2成为“单分支条件语句”。

7、2)它可以是各种表达式或函数的组合,其值必须是逻辑值。3)它可以由一个或多个语句组成。4)建议在编写程序时使用“之字形书写格式”,5.2.2选择控件,第20页,示例5.4,从键盘接收两个数字,并将其存储在变量x和y中,以便在XY之后输出x和y。5.2.2选择控制,第21页,交换X(歌曲)和Y(英语),X,Y,T,歌曲,T=X,X=Y,Y=T,5.2.2选择控制,英语,歌曲,英语,第22页,示例5.4,从键盘接收两个数字并将其存储在变量X中,输入X=到X输入Y=到Y如果XY来自学生,等级;学生在哪里。学生id=GRADE。学生id;和学生。学生证=XH等待。你还想打听吗?(是/否)到YN如果上限

8、(YN)=否退出强制退出循环ENDIF ENDDO CLOSE DATABASE,5.2.3循环控制,第46页,6循环嵌套,5.2.3循环控制,示例5.15,编译一个“99乘法表”。分析:总共有9个输出行,每行有9个输出项,第I行的J个输出项的内容是I*J=,第47页,*程序功能:输出乘法表CLEAR为I=1到9外环I控制输出9行?对于J=1到9,内环J控制第一行中9个项目的输出?串(1,1)串(1,1)=串(1 * 1,2)输出1 * 1项?结束结束返回,5.2.3循环控制,第48页,过程和自定义函数的含义:在许多应用程序中,有一些程序段需要重复执行,这些程序段每次都有不同的处理对象或不同的

9、执行位置。VFP将需要重复执行的语句序列及其参数定义为过程或自定义函数,只需要在需要执行时调用它们。5.3过程和自定义函数,第49页,5.3过程和自定义函数,5.3.1非参数过程的定义和调用,5.3.2参数过程的定义和调用,5.3.3自定义函数的定义和调用,5.3.4变量的范围,第50页,过程返回到主endproc,5.3.1无参数过程的定义和调用,无参数过程的定义,无参数过程调用-Do语句Do,第51页,5.3.1无参数过程的定义和调用,描述:return的函数是返回到主程序意味着直接返回到第一级主程序。一个过程可以有多个RETURN语句;过程结束时的RETURN语句可以默认。如果在过程结束

10、时有一个RETURN语句,ENDPROC语句可以是默认的。第52页,5.3.1非参数过程的定义和调用。存储过程有三个位置:将过程存储在调用程序所在的文件中,但它必须放在调用程序代码之后。这个过程也被称为“内部程序”。将几个进程存储在一个名为“进程文件”的文件中。文件只包含程序,文件扩展名也是PRG。它单独存储在一个程序文件中,称为“外部过程”。在这种情况下,过程和ENDPROC语句可以是默认的,并且程序文件名被用作过程名。,第53页,5.3.1非参数过程的定义和调用,调用过程文件中过程的通用格式:将过程设置为执行释放过程|将过程设置为|关闭过程,打开和关闭指定的过程文件,第54页,5.3.1非

11、参数过程的定义和调用,*过程文件PROP。计算三角形面积输入三角形底部长度:到标准输入三角形高度:到标准输入S=标准*标准/2?三角形面积,S端程序Y计算圆面积输入圆的半径:到YR S=3.14 * YR * *?圆圈区域:S ENDPROC,*主程序文件设置程序在清除时正确执行。0退出?1找到三角形区域?2找到输入圆的区域,请输入您的选择:到x做情况x=0退出情况x=1做p情况x=2做y结束情况等待按任意键继续选择菜单ENDDO CLOSE PROGRAMME,示例5.16,第55页。过程参数| l参数返回到主程序endproc,5.3.2参数过程的定义和调用,参数过程定义,参数过程调用语句

12、DO WITH,注意:还有三个位置用于存储参数过程。第56页,5.3.2参数过程、参数传输和接收规则的定义和调用:要求实际参数和形式参数一一对应。形式参数与内存变量相同,而实际参数可以是常量、内存变量或表达式。当参数是常量或表达式时,参数被“按值传递”给形式参数。效果单向数据传输:实际参数的值传递给形式参数,但形式参数的值不会传递回实际参数。当参数是一个内存变量时,参数是通过引用形式参数传递的,也称为“通过地址传递”。效果-双向数据传输:实际参数的值传递给形式参数,形式参数的值传递回实际参数。第57页,5.3.2参数过程的定义和调用,示例5.17按值传递和按引用传递的示例。早上好。用(GG)做

13、SUB?第一个呼叫结果:GG用GG做SUB?第二个调用结果:gg返回过程子参数g g=下午好。第一次呼叫结果:早上好。第二个电话结果:下午好。第58页。函数参数| 1参数返回结束函数,5.3.3用户定义函数的定义和调用,用户定义函数定义和用户定义函数调用(),注1:还有三个存储用户定义函数的位置。注2:当用参数调用用户定义的函数时,默认情况下参数是按值传递的。如果参数是一个变量,您可以通过SET UDFPARMS语句重置参数传递模式。第59,5.3页。3用户定义函数的定义和调用,*过程文件func pf计算三角形面积,并使用底部长度和高度作为参数参数sd,sh s=SD * sh/2返回s e

14、ndproc函数YF计算圆面积。参数yr s=3.14 * yr * * 2返回s endproc,*主程序文件SET PROCEDURE TO FUNP输入三角形底部长度:TO SD输入三角形高度:TO SH输入圆半径:TO YR?三角形面积和圆形面积之和是多少?PF(SD,SH) YF(YR)调用寻找三角形区域和圆形区域的函数CLOSE PROGRAMME RETURN,示例5.18,第60页,变量的范围5.3.4,变量根据范围分为三种类型:公共变量(全局变量):作用于整个系统的所有程序私有变量;作用于当前程序模块及其下属模块的局部变量;作用于当前程序模块和第61页,5.3.4变量的范围;1公共变量(PUBLIC变量)在命令窗口中创建的内存变量;公共声明格式声明的内存变量:公共范围:整个系统的所有程序。生命:从创建到清除或退出带有内存变量清除命令的系统。第62页,5.3.4变量的作用域,程序模块中私有变量直接使用的两个内存变量,没有任何解释,参数变量由参数语句声明,内存变量由私有语句声明格式:私有私有所有像/除作用域:当前程序模块及其从属模块。生命:从当前程序模块的创建到运行结束。第63页,5.3.4变量范围,由LPARAMETERS语句声明的3个参数变量和由LOCAL语句声明的内存变量格式:LOCAL范围:当前程序模块。

温馨提示

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

评论

0/150

提交评论