程序设计方法简介设计方法主要概念设计过程程序执行方式结构化程序设计功能模块(即过程、自定义函数)编制各个功能模块,再用主程序将它们串起来将应用程序分解成若干功能模块,通过各模块的相互调用来完成整个执行过程,是过程驱动的。面向对象程序设计类、对象、属性、事件、方法设计类、子类、对象(设计外观、设置属性、为事件编写方法程序)将应用程序分解成具有特定属性的对象,通过调用各对象的不同方法来完成相关事件,是事件驱动的。•3.数据容器•VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。•(1)常量(constants):•一个在操作过程中保持不变的数值或字符串。•常用的常量类型常量类型数值型常量字符型常量逻辑型常量日期型常量表示方式-25.36abc,123,中国.T..F.{^2005/07/10}•(2)变量(variables):•是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。•变量的命名习惯:类型变量代号•如:cStud、nCj、dCsrq——•分别代表一个字符型、数值型、日期型的变量名•变量的赋值方式:•1)用STORE命令如:STORE王兰TOcStud•2)用赋值操作符=如:cStud=王兰•变量的作用域:即变量起使用的有效范围。•队列•abcdef54321依次入队•退队顺序为:abcdef54321•循环队列•容量50头指针front=45尾指针rear=10•元素:n-f+r•50-45+10=15•数组•长度50(下标0-49)栈底bottom=49栈顶top=30•元素:bottom-top+1•49-30+1=20•学生(学号、姓名、班级、年龄)•课程(课号、课程名、学时)健选课(学号、课程号、成绩)•主索引•候选索引•通过建立数据库表的主索引可以实现数据的实体完整性。•索引能够确定表中记录的逻辑顺序而不改变记录中的物理顺序保证数据的实体完整性•参照完整性与表之间的联系有关,通过建立字段有效性规则可以保证数据的域完整性;实体完整性是保证表中记录惟一的特性,即一个表中不允许有重复的记录。在VisualFoxPro中利用主关键字或候选关键字来保证表中的记录惟一,这里主关键字称为主索引,候选关键字称为候选索引•查询文件执行)Doxxx.qpr)在项目管理器数据选项卡中展开查询选项,选择要运行的查询,单击运行命令按钮)单击查询菜单中的运行查询命令)利用快捷键CTRL+Q运行查询•表单执行•Doform表单文件名•zmp.dbf中有通用型字段,则其相应的数据保存在•zmp.fpt•年龄字段•限制在18-45•年龄字段•有效性规则“年龄必须在18-45之间”Altertable学生alter年龄check年龄=45and年龄=18总分字段有效性规则”总分必须大于等于0并且小于等于750Altertable成绩alter总分setcheck总分=0and总分=750域完整性约束•数据库表上字段有效性规则是一个逻辑表达式。歌手号字段定义为候选索引、索引名是ternp,altertable歌手addunique歌手号tagtemp•ALTERTABLE语句用于在已有的表中添加、修改或删除字段。删除字段的格式为:•altertabletablenamedropcolumnfieldname删除student表的“平均成绩”字段的正确SQL命令是altertablestudentdropcolumn平均成绩•Vfp数据库系统所使用的数据是逻辑结构的关系(二维表)•对查询结果计数的函数是count()•Distinct消除查询结果中的重复记录•要满足条件的分组查询,用having字句来限定分组•查询设计器的”分组依据“SQL的Groupby•Having只能与Groupby连用对应•在SQL的SELECT语句中Having短语要结合Groupby使用,用来进一步限定满足分组条件的元组。•将查询的结果存储到临时表应使用into语句•只能建立一个主索引•查询和视图中,视图不能独立存储为文件(即存储在数据库中)•在关系数据库中,视图也称作窗口,即视图是操作表的窗口,可以把它看作是从表中派生出来的虚表。视图是根据对表的查询定义的。•视图是根据表定义的,要依赖数据表而存在,但视图可以同数据表进行联接操作,而且可以用来更新数据。由于视图并不是独立存在的基本表,它是由基本表派生出来的,因此不能利用MODIFYSTRUCTURE命令修改表结构。查询是为了提高数据处理速度而引用的一种数据库对象,可以认为是一个事先定义好的SQLSELECT语句,可以用数据库表和自由表来建立查询。•二叉树•5个度为2的结点•3个度为1的结点•结点总数:度为0+度为1+度为26+3+5=14注:度为0的比度为2的多一个结点共有14个结点•深度为7、满二叉数•度为2的结点个数?深度为K结点:2k-1深度7则结点为127所以n0+n2=127(n2+1)+n2=1272n2+1=127N2=63•二叉树•有n个度为2的节点•则该二叉树中的叶子节点数为?即度为0的节点数•度为0=n+1•叶子结点个数=度为2的结点个数+1,•在此题中叶子结点个数为1,说明度为2的结点数为0,即二叉树中不存在度为2的结点,只有度为1的结点和叶子结点,那么此二叉树就是一棵单支树,树中结点个数即为树的深度•软件是的集合•程序、数据、文档•软件测试:白盒测试基本路径的测试黑盒测试•软件生命周期软件定义期:问题定义、可行性分析、需求分析软件开发期:概要设计、详细设计、实现、测试运行维护期:运行、维护结构化分析方法DFD(数据流图)面向对象分析方法程序流程图PADPDL把软件划分为模块确定模块间的调用关系确定各模块的功能•软件测试:(按顺序的)单元测试、集成测试、验收测试、系统测试对模块(程序单元)进行正确性检验详细的设计说明和源程序依据动态分析和静态分析方法•软件设计是将软件需求转换为软件表示的过程•数据结构与数据库设计是软件设计的任务之一(还有设计软件系统结构、编写概要设计文档、概要设计文档评审)•PAD图是软件详细设计的表示工具•软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们是抽象、模块化、信息隐蔽和数据独立性。•自底向上是集成测试中增量测试的一种。•软件工程三要素:方法:完成软件工程项目的计数手段工具:支持软件的开发、管理、文档的生成过程:支持软件开发的各个环节的控制、管理•命令按钮Command•cancel属性的默认值.f.•从表中取出满足条件的元组•时间:2009年3月3日选择{^2009-03-03}常量关系操作参照完整性中的插入规则包括:限制、忽略数据库表之间的参照完整性规则包括级联、限制和忽略,如果将两个表之间的更新规则、插入规则和删除规则中都设置了限制,则不允许修改两表之间的公共字段。•表单编辑框ReadOnly、enable•符合结构化原则的三种基本控制结构:选择结构循环结构顺序结构数据库系统的核心:数据库管理系统只读状态•E-R图实体属性实体联系•使用SQL的createtable语句建立数据库表时,为了说明主关键字应该使用关键词PRIMARYKEY(一般用大写的)•建立表并创建主索引Createtable课程表(课程号C(5)primarykey,课程名C(30))注:Unique唯一索引candidate候选索引•在VisualFoxPro中,惟一索引是为了保持同早期版本的兼容性。它的惟一性是指索引项的惟一,而不是字段值的惟一,即重复的索引字段值只有惟一一个值出现在索引项中。•建立索引可以加快对数据的查询速度,索引文件作为一个独立的文件进行存储,文件中包含指向表记录的指针,建立索引后,表中记录的物理顺序不变。•在建立表间一对多的永久联系时,主表的索引类型必须是主索引•关系基本运算:•传统集合运算:并、交、差•专门关系运算:选择、投影、连接Select短语用于实现关系的投影操作不改变关系表的属性个数但能减少元组个数的•Locate•指定范围内•继续查找:continue找到.T.第一个满足的记录.F.Found()指针Eof()没找到.F.all、rest最后一个记录之后.T.Record()、next()最后一个记录.F.•所有学生年龄增加一岁•Replaceall年龄with年龄+1•性别为男的年龄增加一岁Updatestudentset年龄=年龄+1where性别=“男”•sc(学号,课程号,成绩)表•检索成绩高于或等于平均成绩的学生的学号Select学号fromscwhere成绩=(selectavg(成绩)fromsc)•select短语中除了包含表中的列及其构成的表达式外,还可以包括常量等其他元素.•在select短语中可以使用别名,并规定了结果集中的列顺序,如果from短语中引用的两个表有同名的列,则select短语引用它们时必须使用表名前缀加以限定。•前序遍历:根左右•中序遍历:左根右后序遍历:左右根•二维表中元组的分量不能再分成更小的数据项•在文本框中输入时显示的是隐藏信息(如显示*),要设置PasswordChar属性(如设置为*)•项目项目中的文件组合为一个单一应用程序文件其中里面分别有标记为“包含”和标记为“删除”的文件编译应用程序连编后为只读文件需要用户修改的文件程序文件的编译错误:语法错误和连接错误汇编程序的功能是将汇编语言所编写的源程序翻译成由机器语言组成的目标程序•使用命令dimension和declare说明数组变量•日期年份显示4位数:setcenturyon•表单运行;dofrom表单文件名•表单运行时居中:设置AutoCenter属性,要居中则设置为.T.•SelStart返回用户在文本框中所选文本的起始点或插入位置,属性的有效值在0和文本框中总字符数之间。•数据库管理系统对数据库运行的控制主要是通过数据的安全性、完整性、故障恢复和并发操作四方面来实现•数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及数据的存储结构•串的长度指的是串中的字符的个数,且其字符个数可以为零。•计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。指算法程序的运行时间是有限的。•数据库设计:•需求分析、概念设计、逻辑设计、物理设计E-R图属性转换为关系中的属性其中联系通常转换为关系•数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上设计数据库的结构并建立数据库的过程•数据库技术的根本目标是要解决数据共享的问题;•数据库需要操作系统的支持;•数据的物理结构又称数据的存储结构,就是数据元素在计算机存储器中的表示及其配置。•数据的逻辑结构是指数据元素之间的逻辑关系,它是数据在用户或程序员面前表现的方式,在数据库系统中,数据的物理结构不一定与逻辑结构一致。•Insertintoscvalues(‘s101’,’c11’,98)•字段值为空值(NULL)表示字段还没有确定值,例如一个商品的价格的值为空值,表示这件商品的价格还没有确定但不等同于数值为0。•表达式EMPTY(.NULL.)的值是.F.。•select学号fromscwhere课程号=”c1”and学号In(select学号fromscwhere课程号=”c5”)•Load事件在表单建立之前引发,•Init事件在表单建立时引发,•Unload事件在表单释放时引发,•Release属于释放表单时要引用的方法而不属于事件。•物理删除zap•逻辑删除delete•从磁盘中删除pack•FoxPro中的delete命令属于逻辑删除,作用是给符合条件的记录打上删除标记,可用RECALL命令来恢复,在执行时需要用use命令先打开数据表,•SQL的delete命令删除数据库表中的记录之前,不需要先用USE命令打开表•Select零件.零件名,零件.颜色,零件