- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012-1VFP第3、4、5部分(程序算法与顺序分支循环)
Visual Foxpro 6.0;要点:
1.算法的概念及特点
2.掌握程序3种基本结构的表示
3.掌握利用分支结构编程
4.掌握利用循环结构编程
;算法及算法的表示; 二、算法的描述
算法的描述方法有很多,为直观、准确地表示一个问题的处理方法和步骤,通常采用流程图的方法。
流程图是用一些几何图形符号、线条及文字说明来表征一个问题的处理过程。
一般采用传统流程图和N-S图来描述算法。;(教材P51) 【例3-1】设计如图所示表单,在文本框text1中输入华氏温度,单击“计算”按钮可以求出对应的摄氏温度,并在文本框text2中显示。;“计算”按钮的“Click”事件代码如下:
fas=thisform.text1.value
cels=5*(fas-32)/9
thisform.text2.value=round(cels,1)
结果保留1位小数 ;〖描述方法1〗用自然语言表示
步骤1:输入华氏温度fas。
步骤2:按照公式,计算摄氏温度cels。
;〖描述方法2〗 用流程图表示如图所示。 ;〖描述方法3〗用N-S流程图如图所示。; 一个算法应该具有以下特点:教材P52
①确定性。
②有穷性。
③有效性。
④输入。
⑤输出。
; 任何一个问题能否让计算机处理,关键在于能否设计出合理的算法,有了合适的算法,再使用合适的计算机语言来编写程序。
VFP就是一种语言工具。要用VFP编写出高质量的程序,一方面要构建合理的算法,另一方面要掌握VFP的语法规则,它是实现算法的基础。;命令有一定的书写规则:
1、命令分行。
程序中每条命令都以回车键结尾,一行只能写一条命令。若命令需分行书写,应在一行终了时键入续行符“;”,然后按回车键。
;2、命令注释。
程序中可以插入注释,以提高程序的可读性。
注释语句;三、3种基本结构的表示
程序的3种基本结构:顺序结构、选择(或分支)结构、循环结构,它们构成了实现一个算法的基本单元。;顺序结构:是一种最基本、最简单的程序结构。如下图所示,先执行A,再执行B,A与B按照顺序执行。;选择(或分支)结构:根据条件是否成立而执行不同的程序模块。;循环结构:是指重复执行某些操作,重复执行的部分称为循环体。;1、基本的输入/输出命令;例如:s=100
input 请输入: to a
? a=,a
执行上述命令,若输入的内容为s+20,则
输出结果;2) ACCEPT命令 ; 3)基本输出命令;常用输入输出控件(用于可视化程序);程序设计实例 ;1.顺序结构
顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。Visual FoxPro系统中的大多数命令都可以作为顺序结构中的语句。
;(教材P52) 【例3-2】设计如图3-5所示表单,在文本框text1、text2、text3中输入三角形的三边,单击“计算”按钮可以在文本框text4中显示三角形的面积。其计算公式为 ;“计算”按钮的“Click”事件代码如下:
a=thisform.text1.value
b=thisform.text2.value
c=thisform.text3.value
=(a+b+c)/2
area=sqrt( *( -a)*( -b)*( -c))
thisform.text4.value=round(area,1);2.分支(选择)结构
分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。
;多路分支语句;流程图;(教材P53) 【例3-3】修改【例3-2】,在文本框text1、text2、text3中输入三角形的三边,单击“计算”按钮,如果输入的三边能构成三角形,则在文本框text4中显示三角形的面积;否则用提示框给出提示信息:不能构成三角形,重新输入!。如图所示。 ;“计算”按钮的“Click”事件代码如下:
a=thisform.text1.value
b=thisform.text2.value
c=thisform.text3.value
if a+bc and a+cb and b+ca
=(a+b+c)/2
area=sqrt( *( -a)*( -b)*( -c))
thisform.text4.value=round(area,1)
else
m
文档评论(0)