VFP第6章程序设计基础课件_第1页
VFP第6章程序设计基础课件_第2页
VFP第6章程序设计基础课件_第3页
VFP第6章程序设计基础课件_第4页
VFP第6章程序设计基础课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

,第六章程序设计基础,在前面的章节中介绍了基本的数据库管理操作命令,它们基本上都是以单个命令方式来实现的,这种交互方式虽然简单,但对于某些经常执行的操作,需要反复地输入命令再执行,工作量大、效率低。为解决以上问题,可采用vf提供的。Vf程序设计包括面向过程程序设计和面向对象程序设计,前者是后者的基础。,1,PPT学习交流,6.1程序文件的建立与运行,1.程序文件的概念程序是为实现某一具体任务而按照一定的控制结构编制的命令序列。将程序以文件的形式存储在磁盘上,这种文件称为“程序文件”。程序一般由以下要素组成:(1)变量:参与运算,用于记录、存储程序的中间及最终结果。(2)普通语句:操作数据库的命令(含SQL命令)和专用于程序设计的输入输出等语句。(3)程序流程语句:控制程序走向的语句,如选择、循环等。(4)过程与函数:完成特定功能或计算的子程序模块。2.程序文件的建立与编辑三种建立方法:1)从项目管理器新建程序文件2)从“文件”菜单新建程序文件。3)在命令窗口中执行命令:MODIFYCOMMAND,2,PPT学习交流,2.程序文件的保存程序输入完毕后,从“文件”菜单选择“保存”或按CTRL+W保存程序文件。3.程序文件的修改方法1)若程序文件已建在某一项目中,则从项目管理器中选定它并单击“修改”按钮。方法2)从“文件”菜单选择“打开”,或者单击常用工具栏上的“打开”按钮,在“打开”对话框选定要修改的程序文件后单击“确定”按钮。方法3)在命令窗口中执行:MODIFYCOMMAND程序文件名4.程序文件的运行方法1)若程序文件已建在某一项目中,则从“项目管理器”中选定它并单击“运行”按钮。方法2)从“程序”菜单中选择“运行”,选定要运行的程序文件后单击“运行”按钮。方法3)在命令窗口中执行命令:DO程序文件名例6.1请编写一程序文件,名为:学生人数.prg,实现统计student表中奖学金在200300元之间的学生人数,并与书中例5.4(p88)进行比较。,3,PPT学习交流,6.2结构化程序设计初步,1.算法及流程图(1)算法的概念:根据问题要求拟定用计算机求解的策略和步骤,并把它用某种工具描述出来,称之为“算法设计”。(2)算法的流程图描述:用一些简单的几何框图表示各种类型的操作,然后用带箭头的有向流线将各个框图连结起来,以表示其执行的先后顺序,这种框图称为“流程图”。例6.2试写出算法,以交换变量x和y的值。例6.3试画出流程图,以计算自然数1100的和。(如下图)2.结构化程序设计方法结构化程序指整个程序由顺序、选择、循环三种基本结构组成。,4,PPT学习交流,半圆框称为起止框,用来表示程序的开始和结束;,矩形框称为处理框,用来表示数据的输入、输出及加工等问题;,菱形框称为判断框,用来表示条件判断;,箭头即指向线,用来表示程序的流向或途径。,最常用的流程图符号如下所示:,5,PPT学习交流,计算123100。的流程图,S:存储每次累加的部分和,n:表示每次应加的数,6,PPT学习交流,6.3顺序结构程序设计,1.顺序结构程序运行时,按照命令(语句)的排列顺序逐条执行,这种结构就称为顺序结构。2.简单的输入输出语句(1)数据输入语句:INPUT1)格式:INPUTTO2)功能:暂停程序运行,显示提示信息,等待用户从键盘上输入数据,用户可以输入任意合法的表达式。例6.4运行下段程序:input“请输入一个数字:”toa1input“请输入一个字符串:”tob1(4)简单输出语句:?、?1)格式:?/?,7,PPT学习交流,2)功能:依次计算并显示表达式表中各表达式的值,所显示的值与值之间间隔一个空格。例6.5运行下段程序input“a=?”toa?A*5,a+8(5)信息显示函数:MESSAGEBOX()1)格式:MESSAGEBOX(,)2)功能:暂停程序运行,在对话框中显示提示信息,等待用户单击按钮,并返回一个整数表示单击的是哪个按钮。由三个数码相加产生,即:+,8,PPT学习交流,例6.6:MESSAGEBOX函数举例,9,PPT学习交流,3.环境设置语句(1)清屏语句:CLEAR1)格式:CLEAR2)功能:清空屏幕或当前窗口中显示的内容。(2)环境设置语句:SET设置系统环境和状态的语句为SET语句,SET语句实际上是一个语句组,分为两种格式:格式SETON/OFF格式SETTO常用的几个SET语句:(1)SETDEFAULTTO功能:设置默认的工作目录。(2)SETPATHTO功能:设置搜索路径。(3)SETTALKON/OFF功能:控制是否使某些命令产生屏幕显示(P131提示)(4)SETPRINTON/OFF功能:控制屏幕上的输出内容是否同时送打印机打印。,10,PPT学习交流,例6.7编程显示下列三角形图案*程序:clear?“*”?”*”?”*”return作业:编程显示下列平行四边形图案:*,11,PPT学习交流,4.注释(1)注释语句1)格式*/NOTE2)功能注释语句是非执行语句,它们不对计算机产生任何操作,仅仅对程序起注解作用。(2)行末注释行末注释用在语句(命令)末尾,以“&”起头,后跟本行的注释内容。,12,PPT学习交流,6.4程序的选择结构,选择结构是指在程序执行过程中,根据指定条件的当前值在两条或多条程序路径中选择一条执行。通常选择结构有三种形式。1.单分支选择结构(1)格式IFENDIF(2)功能:执行该语句,先判断条件的值是否为真,然后决定程序运行的走向。(3)注意:成对出现。(P133提示),例:从键盘接收两个数,在屏幕输出大数。INPUTX=TOXINPUTY=TOYIFX=80dj=“B”casecj=70dj=“C”casecj=60dj=“D”otherwisedj=“E”endcase?“成绩是“,cj?“等级是“,djreturn,27,PPT学习交流,例3.依次显示student表中1980年出生的学生记录。clearusestudentscanallforyear(出生日期)=1980displaymessagebox(“按任一键继续”)endscanusereturn作业:用FOR循环编写程序,求1100的奇数和。输入一个成绩等级,要求输出相应的分数段。等级为“A”、“”、“”、“”、“”。90分以上为“A”,8089分为“”,7079分为“”,6069分为“”,60分以下为“”。,28,PPT学习交流,4.循环的嵌套例:某学生食堂采购员带1000元钱去市场买鸡,已知每只小鸡5元,每只公鸡20元,每只母鸡30元,现在要求1000元钱正好买100只鸡且品种齐全,请编程序帮助采购员制订采购方案。CLEARFORI=1TO33&最多可以买33只母鸡FORJ=1TO50&最多可以买50只公鸡FORK=1TO100&最多可以买100只小鸡IF30*I+20*J+5*K=1000ANDI+J+K=100?I,J,KENDIENDFENDFENDF,29,PPT学习交流,6.6过程,1.过程的定义(1)外部过程的定义1)格式PARAMETERSRETURNTOMASTER2)功能用一个程序文件单独定义一个过程,该过程名就是该程序文件名。,例:定义一个外部过程JS.PRG,该过程能接收外部参数R,并计算园的面积S。PARAMETERSRS=PI()*R*R?”园的面积=”,SRETURN,一个大的应用程序通常包含数据的输入、修改、查询、打印等相对独立的程序段(模块),可分别用一个过程或自定义函数来实现,再通过模块间的调用实现整个程序的功能。习惯上称调用其他程序的程序为主程序,被其他程序调用的程序为子程序(过程)。,30,PPT学习交流,(2)内部过程的定义1)格式PROCEDUREPARAMETERSRETURNTOMASTERENDPROC2)功能:将一个语句系列定义为以为名的过程。(3)过程文件的定义过程文件也是个.PRG文件,由若干个过程组合而成。(P147例6.24),31,PPT学习交流,2.过程的调用(1)调用程序文件中的过程1)格式:DOWITH2)功能:调用指定的过程。3)过程调用关系P148图6-15,例:编一主程序,实现调用独立文件过程JS.PRG。SETTALKOFFCLEARDOWHILE.T.INPUT请输入园的半径输入零时结束:TOBJIFBJ=0EXITENDIFDOJSWITHBJ&调用JS,传递参数BJENDDORETURN,32,PPT学习交流,(2)调用过程文件中的过程操作步骤:打开过程文件调用过程关闭过程文件。1)打开指定的过程文件格式:SETPROCEDURETO2)调用已打开过程文件中的过程格式:DOWITH3)关闭当前打开的过程文件格式:SETPROCEDURETO或CLOSEPROCEDURE例:P149例6.27,33,PPT学习交流,6.7参数传递与变量作用域,1.参数的传递1格式传递参数语句格式:DOWITH接收参数语句格式:PARAMETERS2规则(1)DO语句可以用在调用程序中的任何位置,而PARAMETERS语句必须放在过程的第一个可执行语句之前。(2)调用过程时系统会将实参按排列顺序一一传递给对应的形参。(3)形参形式上同内存变量,而实参可以是常量、内存变量或表达式。3两种传递机制(1)按值传递:调用程序向过程的单向传递(当实参是常量或表达式时)(2)按地址传递:双向传递(当实参是变量时)例:p151例6.27,Vf在调用过程时,常需要在调用程序与过程之间实现数据传递。实现它有两种方法:参数传递、变量作用域。,34,PPT学习交流,例:分析下列程序的执行结果。CLEARSTOREBOYS!TOX,Y?调用前:,X+YDOSUB1WITHX,(Y)?调用后:,X+YRETURNPROCSUB1PARAX1,Y1?过程中:,X1+Y1STOREGIRLS!TOX1,Y1RETURNENDP,分析:这是一个主程序调用一个内部过程SUB1,内存变量X、Y为实参,调用SUB1时X按地址传递到X1,Y按值传递给Y1,故在SUB1中输出X1+Y1结果仍是”BOYS!BOYS!”,随后在SUB1中把X1、Y1的值改为”GIRLS!,实参X的值也就改成GIRLS!,实参Y不受影响;所以返回主程序后输出X+Y结果是”GIRLS!BOYS!”。,35,PPT学习交流,2.变量作用域及其定义1.变量作用域的含义内存变量的有效作用范围称为内存变量的作用域。根据作用域的不同,内存变量可分为全局变量、私有变量和局部变量三种类。(p152表6-4)2.含作用域的变量定义(1)全局变量的定义1)在命令窗口创建的变量和数组将自动成为全局变量。2)用PUBLIC语句定义:格式:PUBLIC功能:定义全局内存变量和数组。参数说明:逐一列出作为全局变量的内存变量和数组,其中数组用数组名或数组说明均可。若用数组说明,其格式如下:数组名(,)。例:P153例6.29,36,PPT学习交流,(2)局部变量的定义局部变量只能用LOCAL语句定义。格式:LOCAL功能:定义局部内存变量和数组,并屏蔽来自上级过程(含主程序)中与当前局部变量同名的全局或私有变量,使在当前过程中对局部变量的操作,不影响上级过程中同名变量的值。(3)私有变量的定义1)在一个程序或过程中建立的内存变量,如果未加任何说明,默认为私有变量。2)用PRIVATE语句定义:格式:PRIVATE格式:PRIVATEALLLIKE/EXCEPT功能:定义私有内存变量和数组,并屏蔽来自上级过程(含主程序)中与当前私有变量同名的全局或私有变量,使在当前过程中对私有变量的操作,不影响上级过程中同名变量的值。例:p154例6.30(简析),37,PPT学习交流,格式中的参数说明:ALL:表示当前所有的内存变量均为私有变量。ALLLIKE:表示所有与相匹配的变量均为私有变量。ALLEXCEPT:表示所有不与相匹配的变量均为私有变量。,38,PPT学习交流,例:若有程序文件如下:CLEARPUBLICAPRIVATEBLOCALCSTORE10TOA,B,CDOSUB1?A,B,CRETURNPROCSUB1?A,BA=A+5B=B+10RETURN,本例中,全局变量A和私有变量B在主程序和内部过程SUB1之间双向传递数据,局部变量C的作用域是主程序本身,不能传递数据。如果在内部过程SUB1中增加?C语句,程序执行时就会报错,因为在SUB1中找不到变量C。,39,PPT学习交流,6.8定义函数,1.自定义函数的定义自定义函数的定义也有两种形式,一是存放在调用程序所在文件或过程文件中的自定义函数,称作“内部自定义函数”;二是单独存放在一个程序文件中的自定义函数,称作“外部自定义函数”或“独立文件函数”。1.内部自定义函数的定义(1)格式FUNCTIONPARAMETERSRETURNENDFUNC(2)功能定义个以为名的自定义函数,该函数以中所列的形参为自变量,RETURN后的值为函数的返回值。若无PARAMETERS语句,则该自定义函数为无参函数。,40,PPT学习交流,2.外部自定义函数的定义(1)格式PARAMETERSRETURN(2)功能用一个程序文件单独定义一个函数,该程序文件名就作为自定义函数名,该函数以中所列的形参为自变量,RETURN后的值就是函数的返回值。2.自定义函数的调用自定义函数的调用方式与过程不同,它不能用D0命令调用而只能像标准函数一样调用并出现在表达式中。调用格式如下:(),41,PP

温馨提示

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

评论

0/150

提交评论