欢迎来到天天文库
浏览记录
ID:48738444
大小:146.50 KB
页数:34页
时间:2020-01-26
《第6章 结构化程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章结构化程序设计1本章目录第一节 程序文件第二节 程序的基本结构第三节 程序的模块化第四节 程序调试2第一节程序文件VF中的程序设计程序文件的建立结构化程序设计基础编程的几点说明3一、VF中的程序设计VF的工作方式有两种:交互操作方式(命令、菜单)程序文件方式VisualFoxPro系统提供的命令丰富,且功能强大,把这些命令和程序设计语句有效地组织在一起,就形成了实现某一特定功能的程序。VisualFoxPro系统的程序有两个特点:一是程序控制流模式,由顺序、分支、循环三种基本结构构成。二是面向对象可视化的结构程序模块,在每个模块的内部也
2、是由程序控制流组成。4二、程序文件的建立建立、修改程序文件ModifyCommand[d:][path]程序文件名程序文件扩展名为.PRG运行程序文件Do[d:][path]程序文件名[With参数表]程序文件名(参数表)程序文件可被修改并重新运行,且可多次运行;一个程序可调用其他程序(子程序、过程)51.原则和方法结构化程序设计是一种程序设计方法,其设计原则和方法是:自顶向下,逐步求精,程序结构模块化。2.结构化程序的三种基本结构顺序结构:在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。选择结构:在程序执行时,根据不同的条件,选择
3、执行不同的程序语句。循环结构:使某些语句或程序段重复执行若干次。每一个基本结构可以包含一个或多个命令。过程结构:如果一些程序段需要反复执行多次,但这些程序段不是集中在一个固定的位置上重复执行,就可把这些程序段独立出来形成一个过程或自定义函数。三、结构化程序设计基础6图6-1顺序结构流程图 图6-2分支结构流程图三、结构化程序设计基础图6-3当型循环结构流程图形图6-4直到型循环结构流程图7四、编程的几点说明注释语句以note、*或&&开头的代码行命令后添加注释,则以&&开头命令如果分行书写,应在行尾加续行符;Quit:退出VF系统。Wait
4、语句Wait[提示符]windowsat行,列[Timeout数值表达式]Setdefaultto默认路径&&设置默认路径Settalkon
5、off&&打开
6、关闭命令执行时的对话开关Setcenturyon
7、off&&是否用四位表示年Setfieldsto字段名表&&设置字段筛选Setfilterto条件&&设置记录筛选Setsysmenutodefault&&恢复系统的默认菜单8第二节程序的基本结构顺序结构选择结构循环结构9一、顺序结构顺序结构是指按程序书写的先后顺序执行。例:p1.prgsettalkoffsetdafaulttoe:图
8、书管理系统opendatabase学生管理学生管理wait“按任意键显示学生表的内容”select*from学生&&显示学生表的内容closedatabaseall10二、分支结构1.单向分支单向分支语句,即根据条件表达式的值,决定某一操作是否执行。If条件命令行序列EndIf112.双向分支双向分支语句,即根据条件表达式的值,选择两个操作中的一个来执行。IF条件命令行序列1ELSE命令行序列2EndIf二、分支结构12举例:闰年问题输入一个年份,编程判断是否是闰年。一个年份满足以下条件之一即为闰年:能被4整除且不能被100整除能
9、被400整除Input“请输入年份:”toyearIFyear%4=0ANDyear%100!=0oryear%400=0?"是闰年"ELSE?"不是闰年"ENDIF133.多向分支DoCaseCase条件1命令行序列1Case条件2命令行序列2……[Otherwise命令行序列n+1]EndCase举例:将求闰年问题改成多向分支结构二、分支结构14举例:成绩判定Input"请输入成绩:"to成绩docasecase成绩>=85?"优秀"case成绩>=75?"良好"case成绩>=60?"及格"case成绩>=0?"不及格"othe
10、rwise?"成绩输入错误!"ENDcase154.使用分支语句应注意的几点If…EndIf和DoCase…EndCase必须配对使用条件可以是各种表达式或函数的组合,其值必须是逻辑值。命令行序列:可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。DoCase…EndCase命令中,若有多个Case的条件值为真时,只执行第一个条件值为真的<命令行序列>,然后执行EndCase的后面的第一条命令。二、分支结构16三、循环结构1.“当”型循环“当”型循环,即根据条件表达式的值决定循环体内语句的执行次数。DoWhile条件命令行序列E
11、ndDo17举例:累加和累乘求1+2+3+…+100i=1s=0dowhilei<=100s=s+ii=i+1enddo?S思考:求10!程序怎样改?求1!+2!
此文档下载收益归作者所有