VFP第3、4、5部分(程序算法及顺序分支循环).ppt
《VFP第3、4、5部分(程序算法及顺序分支循环).ppt》由会员分享,可在线阅读,更多相关《VFP第3、4、5部分(程序算法及顺序分支循环).ppt(77页珍藏版)》请在三一办公上搜索。
1、Visual Foxpro 6.0,程序设计基础,重庆工商大学计算机学院计算机基础教研室,要点:1.算法的概念及特点 2.掌握程序3种基本结构的表示 3.掌握利用分支结构编程 4.掌握利用循环结构编程,第三、四、五讲 程序设计(1),算法及算法的表示,一、算法的概念及特点 所谓算法就是对解决问题所采用的方法和步骤的描述。,二、算法的描述 算法的描述方法有很多,为直观、准确地表示一个问题的处理方法和步骤,通常采用流程图的方法。流程图是用一些几何图形符号、线条及文字说明来表征一个问题的处理过程。一般采用传统流程图和N-S图来描述算法。,(教材P51)【例3-1】设计如图所示表单,在文本框text1
2、中输入华氏温度,单击“计算”按钮可以求出对应的摄氏温度,并在文本框text2中显示。,“计算”按钮的“Click”事件代码如下:fascels=5*(fas-32)/9thisform.text2.value=round(cels,1)&结果保留1位小数,描述方法1用自然语言表示步骤1:输入华氏温度fas。步骤2:按照公式,计算摄氏温度cels。,步骤3:输出摄氏温度。,描述方法2 用流程图表示如图所示。,描述方法3用N-S流程图如图所示。,一个算法应该具有以下特点:教材P52 确定性。有穷性。有效性。输入。输出。,任何一个问题能否让计算机处理,关键在于能否设计出合理的算法,有了合适的算法,再
3、使用合适的计算机语言来编写程序。VFP就是一种语言工具。要用VFP编写出高质量的程序,一方面要构建合理的算法,另一方面要掌握VFP的语法规则,它是实现算法的基础。,命令有一定的书写规则:1、命令分行。程序中每条命令都以回车键结尾,一行只能写一条命令。若命令需分行书写,应在一行终了时键入续行符“;”,然后按回车键。,2、命令注释。程序中可以插入注释,以提高程序的可读性。注释语句,NOTE|*注释部分&注释部分,格式:,行首注释,单命令的行尾注释,三、3种基本结构的表示 程序的3种基本结构:顺序结构、选择(或分支)结构、循环结构,它们构成了实现一个算法的基本单元。,顺序结构:是一种最基本、最简单的
4、程序结构。如下图所示,先执行A,再执行B,A与B按照顺序执行。,选择(或分支)结构:根据条件是否成立而执行不同的程序模块。,循环结构:是指重复执行某些操作,重复执行的部分称为循环体。,1、基本的输入/输出命令,常用命令(用于结构化程序),1)INPUT命令,INPUT TO,格式:,例如:s=100 input 请输入:to a?a=,a 执行上述命令,若输入的内容为s+20,则 输出结果,2)ACCEPT命令,ACCEPT TO,格式:,例如,把上例中的input改成accept:s=100accept 请输入:to b?b=,b执行上述命令,若输入的内容为s+20,则 输出结果,3)基本输
5、出命令,?|?,,格式:,常用输入输出控件(用于可视化程序),1)输入控件,2)输出控件,文本框,标签、文本框,fas,thisform.text2.value=round(cels,1),程序设计实例,顺序结构程序实例分支(选择)结构程序实例循环结构程序实例,1顺序结构 顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。Visual FoxPro系统中的大多数命令都可以作为顺序结构中的语句。,教材P53,(教材P52)【例3-2】设计如图3-5所示表单,在文本框text1、text2、text3中输入三角形的三边,单击“计算”按钮可以在文本框text4中显示三角形的面积。其
6、计算公式为,(其中a,b,c为三角形的三边,area为三角形的面积),“计算”按钮的“Click”事件代码如下:=(a+b+c)/2area=sqrt(*(-a)*(-b)*(-c)thisform.text4.value=round(area,1),2分支(选择)结构 分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。,多路分支语句,常见的分支结构有:,IF语句,流程图,1)IF语句 格式:,见教材P57,条件?,语句序列1,语句序列2,Y,N,ENDIF之后的命令,(教材P53)【例3-3】修改【例3-2】,在文本框text1、text2、t
7、ext3中输入三角形的三边,单击“计算”按钮,如果输入的三边能构成三角形,则在文本框text4中显示三角形的面积;否则用提示框给出提示信息:不能构成三角形,重新输入!。如图所示。,“计算”按钮的“Click”事件代码如下:if a+bc and a+cb and b+ca=(a+b+c)/2 area=sqrt(*(-a)*(-b)*(-c)thisform.text4.value=round(area,1)elsemessagebox(不能构成三角形,重新输入!)thisform.text1.value=0thisform.text2.value=0thisform.text3.value=
8、0thisform.text4.value=0thisform.text1.setfocus endif,EXM1:判断某一年是否是闰年。,假如年份用y表示,判断y是否是闰年的方法是:若y能够被400整除或y能够被4整除并且不能够被100整除,y/4=int(y/4)and y/100int(y/100)or y/400=int(y/400),提示:判断一个整数M能否被另一个整数N整除,一般采用三种方法,判断:MOD(M,N)是否等于0INT(M/N)是否等于M/NM%N=0若等于,则表明M能被N整除。,CLEARINPUT 请输入年份:to yIF y/4=int(y/4)and y/100
9、int(y/100)or y/400=int(y/400)?str(y,4)+年是闰年ELSE?str(y,4)+年不是闰年ENDIFRETURN,结构化方法,程序设计及运行,表单设计(参考教材p54例3-4),设计界面,(教材P53)【例3-5】已知一元二次方程的3个系数,求一元二次方程的根。求根公式:,“求解”命令按钮的“Click”事件代码如下:a=thisform.text1.value b=thisform.text2.value c=thisform.text3.value if a=0messagebox(二次项系数为0,这不是一个一元二次方程)else d=b2-4*a*cif
10、 d=0 x1=round(-b+sqrt(d)/(2*a),2)x2=round(-b-sqrt(d)/(2*a),2)thisform.text4.value=x1 thisform.text5.value=x2elsemessagebox(该方程没有实数根!)endifendif,EXM2:输入两个数,比较大小,并输出较大数。,表单设计界面,表单运行结果,方法一:双分支,方法二:单分支,表单设计界面,EXM3:输入两个数,比较大小,并按从大到小的顺序输出。,使用单分支结构:,容器A,容器B,容器C,1,3,交换,1、C=A2、A=B3、B=C,表单设计界面,表单运行结果,分支的嵌套EXM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 部分 程序 算法 顺序 分支 循环
链接地址:https://www.31ppt.com/p-6524413.html