




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第六章,结构化程序设计,2,本章目录,第一节程序文件第二节程序的基本结构第三节程序的模块化第四节程序调试,3,第一节程序文件,VF中的程序设计程序文件的建立结构化程序设计基础编程的几点说明,4,一、VF中的程序设计,VF的工作方式有两种:交互操作方式(命令、菜单)程序文件方式VisualFoxPro系统提供的命令丰富,且功能强大,把这些命令和程序设计语句有效地组织在一起,就形成了实现某一特定功能的程序。VisualFoxPro系统的程序有两个特点:一是程序控制流模式,由顺序、分支、循环三种基本结构构成。二是面向对象可视化的结构程序模块,在每个模块的内部也是由程序控制流组成。,5,二、程序文件的建立,建立、修改程序文件ModifyCommandd:path程序文件名程序文件扩展名为.PRG运行程序文件Dod:path程序文件名With参数表程序文件名(参数表)程序文件可被修改并重新运行,且可多次运行;一个程序可调用其他程序(子程序、过程),6,1原则和方法结构化程序设计是一种程序设计方法,其设计原则和方法是:自顶向下,逐步求精,程序结构模块化。2结构化程序的三种基本结构顺序结构:在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。选择结构:在程序执行时,根据不同的条件,选择执行不同的程序语句。循环结构:使某些语句或程序段重复执行若干次。每一个基本结构可以包含一个或多个命令。过程结构:如果一些程序段需要反复执行多次,但这些程序段不是集中在一个固定的位置上重复执行,就可把这些程序段独立出来形成一个过程或自定义函数。,三、结构化程序设计基础,7,图6-1顺序结构流程图图6-2分支结构流程图,三、结构化程序设计基础,图6-3当型循环结构流程图形图6-4直到型循环结构流程图,8,四、编程的几点说明,注释语句以note、*或orderby成绩desctop3intoarrayszinsertintoresultfromarrayszendscan,23,4.使用循环语句应注意的几点DoWhile和EndDo、For和EndFor、Scan和EndScan必须配对使用。命令行序列:可以是任何FoxPro命令或语句,也可以是循环语句,即可以为多重循环。循环变量:应是数值型的内存变量或数组元素。Exit和Loop命令嵌入在循环体内,可以改变循环次数,但是不能单独使用。Exit:退出循环。Loop:重新下一次循环。,三、循环结构,24,编程示例:随机产生x个09的随机整数,paraxDIMEA(x)FORI=1TOxA(I)=INT(10*RAND()?A(I)ENDFOR,25,编程示例:求水仙花数,fori=1to9forj=0to9fork=0to9if(i*3+j*3+k*3=i*100+j*10+k)?i*100+j*10+kendifendforendforendfor,fori=100to999x=i%10y=int(i/10)%10z=int(i/100)%10if(x*3+y*3+z*3=i)?iendifendfor,26,编程示例:x元钱买x只鸡,*paraxx=100forcock=1toint(x/5)forhen=1toint(x/3)forchick=1tox-2if(cock+hen+chick=xand;cock*5+hen*3+chick/3=x)?Cock,hen,chickendifendforendforendfor,27,第二节过程和过程文件,过程和过程文件过程和过程文件的建立过程和过程的使用变量的作用域参数传递,28,一、过程与过程文件,过程是由一个或多个命令、语句构成的程序段。它以过程说明语句Proc开头,以返回语句Return结束。过程文件可以存储多个过程。打开一个过程文件后,就可以调用其中定义的每个过程。使用过程时,通过过程名调用并执行。,29,1.过程文件的建立modifycommand过程文件名2.过程的定义(放在过程文件中)Proc过程名Para参数表命令行序列Return返回值EndProc,二、过程与过程文件的创建,function过程名Para参数表命令行序列Return返回值Endfunc,30,1.过程文件的打开SetProcto过程文件名2.过程的调用Do过程名过程名()Do过程名with实参表过程名(实参表)3.过程文件的关闭SetProctoCloseProc,三、过程与过程文件的使用,31,4.参数传递Do过程名with实参表如果参数是常量或表达式,则按值传递;如果参数是变量,则按引用传递(实参和形参是同一变量,尽管它们的名字可能不同)。过程名(实参表)默认为按值传递使用命令可改变参数传递方式:setUDFPtovalue&设置成按值传递setUDFPtorefe&设置成按引用传递,三、过程与过程文件的使用,32,ClearallX=100?XProcsub1x=20Endproc,函数参数传递举例,ClearallX=100?XProcsub1localxx=20Endproc,ClearallX=100?XProcsub1privatexx=20Endproc,33,VF中的内存变量按作用域可分为三类:公共变量、私有变量和局部变量1.公共变量:在任何模块中都可使用的变量。Public内存变量表2.私有变量:在建立它的模块及其下属各层模块中使用的变量。3.局部变量:只在建立它的模块中使用的变量。Local内存变量表4.变量的隐藏private内存变量表功能:隐藏上层模块中可能存在的同名内存变量。说明:1.程序中没有说明的内存变量,均为私有变量。2.命令窗口中建立的内存变量,均为公共变量。3.用Para说明的形参为私有变量,用Lpara说明的则为局部变量。,四、变量的作用域,34,Clearallmx=VisualFoxpromy=二级Dosub1withmx?my+mxReturnProcsub1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆大足县2025年上半年事业单位公开遴选试题含答案分析
- 浙江省金华县2025年上半年事业单位公开遴选试题含答案分析
- 浙江省常山县2025年上半年事业单位公开遴选试题含答案分析
- 河北省饶阳县2025年上半年公开招聘城市协管员试题含答案分析
- 2025版高品质混凝土构件采购合同规范范本
- 2025年服装辅料代理销售合同
- 2025年度绿色建筑节能材料全国分销合作协议
- 2025版汽车吊吊装设备租赁合同范本
- 2025年度家庭厨房橱柜升级改造工程合同范本
- 2025标准担保公司房产抵押借款合同
- 学校食堂从业人员食品安全知识培训考试试题(含答案)
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 支部纪检委员课件
- 从+“心”+出发遇见更好的自己-开学第一课暨心理健康教育主题班会-2025-2026学年高中主题班会
- 枣庄学院《图学基础与计算机绘图》2024-2025学年第一学期期末试卷
- 2025版仓储库房租赁合同范本(含合同生效条件)
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 2025至2030年中国纳米抛光浆料行业发展监测及发展趋势预测报告
- 养老护理员培训班课件
- 2025-2030城市矿产开发利用政策支持与商业模式创新报告
评论
0/150
提交评论