第5章 程序设计基础精选文档.ppt





《第5章 程序设计基础精选文档.ppt》由会员分享,可在线阅读,更多相关《第5章 程序设计基础精选文档.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 程序设计基础程序设计基础本讲稿第一页,共七十二页5.1 程序设计概述程序设计概述l程序设计:利用系统提供的设计工具,按照程程序设计:利用系统提供的设计工具,按照程序设计语言的规范描述解决问题的算法并进行序设计语言的规范描述解决问题的算法并进行程序编写的过程。程序编写的过程。l两类:两类:结构化程序设计面向对象的程序设计本讲稿第二页,共七十二页5.2结构化 程序设计5.2.1 创建、修改和运行程序lVFP程序是包含一系列命令的文本文件l创建:项目管理器MODIFY COMMAND 程序文件名.PRGl修改:项目管理器l运行:生成.FXP项目管理器DO 程序文件名 本讲稿第三页,共七十
2、二页l5.2.2 顺序结构 P139l5.2.3 分支结构(根据逻辑表达式的值决定程序的流程)(根据逻辑表达式的值决定程序的流程)IFELSE ENDIF P140DO CASE CASE 表达式1 命令组1 CASE 表达式 2 命令组2 -OTHERWISE 命令组 ENDCASE P141本讲稿第四页,共七十二页l5.2.4 循环结构FOR 循环变量=初值 TO 终值 STEP 步长 命令组 ENDFOR|NEXTlLOOP:跳出本次循环跳出本次循环,进入下一次循环进入下一次循环lEXIT 退出循环退出循环 P143DO WHILE 条件 命令组 ENDDO P145SCAN 范围 FO
3、R 条件 命令组 ENDSCAN P146本讲稿第五页,共七十二页l结构可以嵌套结构可以嵌套例例:输出九九乘法表的下三角形式输出九九乘法表的下三角形式 FOR K=1 TO 9 FOR J=1 TO K?STR(K*J,4)ENDFOR?ENDFOR 本讲稿第六页,共七十二页5.2.5 过程与用户自定义函数l定义PROCEDURE/FUNCTION PARAMETER RETURN 表达式表达式ENDPROC/ENDFUNCP147过程或自定义函数可以作为独立的程序文件保存,或多个过程和自定义函数保存在一个称为过程文件的程序文件中,或位于一个程序的底部 实验书P72本讲稿第七页,共七十二页过程
4、与函数调用DO 过程名过程名 WITH 参数参数函数名函数名(参数参数)P148本讲稿第八页,共七十二页:完善程序SET TALK OFF ;CLEAR;X=SPACE(0)FOR I=1 TO X=X+ALLT(STR(I)?STR(VAL(X)+”*9+”+”=“+ALLT(STR(VAL(X)*9+I+1)ENDFOR 1*9+2=11 12*9+3=111 123*9+4=1111 1234*9+5=11111 12345*9+6=111111 123456*9+7=1111111 1234567*9+8=11111111 12345678*9+9=111111111 12345678
5、9*9+10=1111111111本讲稿第九页,共七十二页运行结果?TT(”123E%n w$O 4q*5n6”)FUNCTION TT PARAMETERS cStr cResult=SPACE(0)FOR n=1 TO LEN(ALLT(cStr)c=SUBSTR(cStr,n,1)IF!BETWEEN(c,”A”,”Z”)AND!BETWEEN(c,”a”,”z”)LOOP ENDIF cResult=cResult+CHR(ASC(c)+1)ENDFOR RETURN cResultENDFUNCTION本讲稿第十页,共七十二页CLEARI=0N=0DO WHILE I=10 IF M
6、OD(I,2)=0 N=N+1 ENDIFI=I+1ENDDO?N本讲稿第十一页,共七十二页下列函数功能是:当传送17之间的数值型参数时,返回一个中文形式的“星期日-星期六FUNCTION NTOC PARAMETERS N LOCAL CHCH=“日一二三四五六”MCH=“星期”+SUBSTR(CH,_,2)RETURN MCHENDFUNC本讲稿第十二页,共七十二页显示结果CLEARDO WHILE N10 IF INT(N/2)=N/2?”W”ENDIF?”Fox”N=N+1ENDDO显示_行,内容为_本讲稿第十三页,共七十二页完善程序,以显示7-1000以内能被7整除且含有数字5的所有
7、整数.(如35,56,105等)FOR N=7 TO 1000 _ CH=ALLT(STR(N)IF“5”$CH?N ENDIFENDFOR本讲稿第十四页,共七十二页5.3 面向对象的程序设计基础面向对象的程序设计基础本讲稿第十五页,共七十二页6.1.1 面向对象的程序设计方法面向对象的程序设计方法(object-oriented programming,简称OOP)l以对象为中心的问题求解方法以对象为中心的问题求解方法:用什么做用什么做-要要做什么做什么本讲稿第十六页,共七十二页5.3.1 类和对象类和对象一、类(class):面向对象程序设计的核心。将具有相同结构,操作,并遵守相同规则的对
8、象聚合在一起,这组对象称为类。类是一个具有相同行为的对象的抽象。二、对象(object)是类的一个实例.三、类和对象的关系程序由一个或多个类组成,在程序运行时需要创建该类的各个对象(实例)。类是静态概念,而对象是动态概念。在VFP中,表单,表单集,控件都是对象。本讲稿第十七页,共七十二页 而这个类的实例对象,便是 一 部 电 话。电话的电路结构和设计布局可以是一个类本讲稿第十八页,共七十二页品牌品牌型号型号颜色颜色大小大小听筒有拿起和挂上听筒有拿起和挂上两种状态两种状态对象具有属性对象具有属性(Property)l每个对象都有属性。每个对象都有属性。l属性定义了对象的特征或某一方属性定义了对象
9、的特征或某一方面的行为。面的行为。l属性由对象所基于的类决定。可属性由对象所基于的类决定。可以定义新的属性。以定义新的属性。l有些属性值既能在设计时也可在有些属性值既能在设计时也可在运行时进行设置;有些只能在设运行时进行设置;有些只能在设计阶段设计,不能在运行阶段设计阶段设计,不能在运行阶段设置;有些则不能进行设置。置;有些则不能进行设置。本讲稿第十九页,共七十二页例如,表单中一个按钮的部分属性例如,表单中一个按钮的部分属性lCaption按钮上按钮上的说明性文字。的说明性文字。lEnabled按钮按钮能否被用户操作。能否被用户操作。lForeColor标题文本的颜色。标题文本的颜色。lLef
10、t按钮按钮左边的位置。左边的位置。lMousePointer在按钮上鼠标指针的形状。在按钮上鼠标指针的形状。lTop顶边的位置。顶边的位置。lVisible是否可见。是否可见。本讲稿第二十页,共七十二页对象具有与之相关联的事件对象具有与之相关联的事件(event)和方法和方法(method)程序程序l事件事件(Event)是由对象识别的一个动作。如)是由对象识别的一个动作。如l单击鼠标(Click)l移动鼠标(MouseMove)l按键(KeyPress)等l事件由用户动作产生,也可以由程序或系统产生。事件由用户动作产生,也可以由程序或系统产生。l可以对事件编写相应的代码对此动作进行响应。可以
11、对事件编写相应的代码对此动作进行响应。l事件集合是固定的,用户不能创建新的事件,事件集合是固定的,用户不能创建新的事件,本讲稿第二十一页,共七十二页对象具有与之相关联的事件对象具有与之相关联的事件(event)和方法和方法(method)程序程序l方法程序:方法程序:对象能够执行的一个操作。是与对象相关对象能够执行的一个操作。是与对象相关联的过程,方法程序紧密地和对象连接在一起。联的过程,方法程序紧密地和对象连接在一起。l事件可以具有与之相关联的方法程序。例如,为事件可以具有与之相关联的方法程序。例如,为 Click 事件编写的方法程序代码将在事件编写的方法程序代码将在 Click 事件出现事
12、件出现时被执行。时被执行。l方法程序也可以独立于事件而单独存在,此类方法程方法程序也可以独立于事件而单独存在,此类方法程序必须在代码中被显式地调用。序必须在代码中被显式地调用。l可由用户创建,因此方法程序集合却可以无限扩展。可由用户创建,因此方法程序集合却可以无限扩展。本讲稿第二十二页,共七十二页5.3.2基类基类l所有对象的属性、事件和方法程序在定义类时被指定。所有对象的属性、事件和方法程序在定义类时被指定。基类是系统内部提供的类,可作为其他用户自定义类的基础。子类是以其他的类(基类和子类)为起点自定义的类,子类继承任何对父类所做的修改用户自定义类与基类相似,但由用户定义,并可派生子类。l类
13、还有如下特征:类还有如下特征:封装性封装性、多态性多态性和和继承性继承性 P137 P137:本讲稿第二十三页,共七十二页本讲稿第二十四页,共七十二页继承性说明了子类延用父类特征的能力。如果父类特征发生改变,则子类将继承这些新特征。多态性主要是指一些关联的类包含同名的方法程序,但方法程序的内容可以不同。封装是指将对象的方法程序和属性代码包装在一起。本讲稿第二十五页,共七十二页基类分两种基类分两种l容器类容器类(container classes)是包容其他类的基类。)是包容其他类的基类。基于容器类创建的对象称为容器对象可以将容器类的对象作为一个整体进行操作也可以分别对其包容的对象分别处理。l控
14、控件件类类(control classes),也也可可称称为为非非容容器器类类,是是可可以以包包含含在在容容器器类类中的基类。中的基类。l控件对象可以包含在容器对象中但不能作为其它对象的父对象。l基类P151表5-1,容器类表5-2;所有基类都有最小属性集(表5-3;最小事件集(表5-4)本讲稿第二十六页,共七十二页VFP中的类的层次中的类的层次本讲稿第二十七页,共七十二页容器类以及可以包含的对象容器类以及可以包含的对象本讲稿第二十八页,共七十二页5.3.3 处理对象处理对象本讲稿第二十九页,共七十二页1 引用对象引用对象引用对象必须知道:引用对象必须知道:l对象的容器层次关系对象的容器层次关
15、系l对象的名(对象的名(name)本讲稿第三十页,共七十二页本讲稿第三十一页,共七十二页对象引用分为对象引用分为绝对引用绝对引用和和相对引用相对引用l绝对引用绝对引用是指从容器的最高层次引用对象,给出对是指从容器的最高层次引用对象,给出对象的绝对地址。象的绝对地址。l例如:表单例如:表单Form1对象的绝对引用可表示为:对象的绝对引用可表示为:FormSet1.Form1l表格的第一列对象的绝对引用表格的第一列对象的绝对引用FormSet1.Form1.Pageframe1.page1.grid1.column1本讲稿第三十二页,共七十二页对象引用分为对象引用分为绝对引用绝对引用和和相对引用相
16、对引用l相相对对引引用用是是指指在在容容器器层层次次中中相相对对于于某某个个容容器器层层次次的的引用。引用。l相相对对引引用用通通常常运运用用于于某某个个对对象象的的事事件件处处理理代代码码或或方方法程序代码中。法程序代码中。本讲稿第三十三页,共七十二页相对引用对象时所用的关键字相对引用对象时所用的关键字lActiveForm 当前活动表单当前活动表单lActivePage 当前活动表单中的活动页面当前活动表单中的活动页面lActiveControl 当前活动表单中具有焦点的控件当前活动表单中具有焦点的控件lPARENT 该对象的直接容器该对象的直接容器lTHIS 该对象该对象lTHISFOR
17、M 包含该对象的表单包含该对象的表单lTHISFORMSET 包含该对象的表单集包含该对象的表单集lTHIS、THISFORM、THISFORMSET只能在方法程序或事件处理代码中使用。本讲稿第三十四页,共七十二页l如在选项按钮组的事件代码中引用文本框如在选项按钮组的事件代码中引用文本框TEXT1,l THIS.PARENT.TEXT1l THISFORM.TEXT1l THISFORMSET.FORM1.TEXT1本讲稿第三十五页,共七十二页系统变量系统变量 _SCREENl系系 统统 变变 量量 _SCREEN表表 示示 屏屏 幕幕 对对 象象,与与ActiveForm等等组组合合可可以以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 程序设计基础精选文档 程序设计 基础 精选 文档

限制150内