文档介绍:(模块化)zxlVFP第12部分(模块化)zxl作业中的问题建立永久关联的步骤1、建立数据库 2、建表3、找关键字,确定父表和子表、父表与子表的对应关系一对多关联:关键字没有重复值(一方)为父表,有重复值(多方)为子表一对一关联:关键字没有重复值(一方)为父表,没有重复值(一方)为子表4、建索引一对多关系:父表建立主索引-----子表建立普通索引一对一关系:父表建立主索引-----子表建立主索引或候选索引5、建永久关联将父表的索引标识拖到子表的索引标识上勇蛋秦酶粒爱抹鉴歧增拭提闻淮股戴他挨郡拧烩署塘音近疤郊仔伤啦技阿VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl建立临时关联的步骤1、确定关键字(两个表共有的字段,或语义相同的字段)2、确定父表和子表、父表与子表的对应关系多对一关联:关键字有重复值(多方)为父表,没有重复值(一方)为子表一对一关联:关键字没有重复值(一方)为父表,没有重复值(一方)为子表3、选择一个工作区: select 工作区号4、打开子表 :use子表文件名5、为子表的关键字建索引 :  indexon 子表的关键字tag 索引标识名6、选择另外一个工作区: select 工作区号7、打开父表: use父表文件名8、用命令建关连 :set relationto父表的关键字into子表的别名背芥躇蛙署军述势幸气沙靶病蜒唐华欺叼擂殉诲霖谈汕请岂弥蕊凤狮车院VFP第12部分(模块化)zxlVFP第12部分(模块化)zxluselogdowhilenoteof()s1=val(left(结束时间,2))-val(left(开始时间,2))s2=val(right(结束时间,2))-val(right(开始时间,2))replace数据流量with(s1*3600+s2*60)/100skipenddo上述两条命令可用以下一条命令替换:s=ctot(结束时间)-ctot(开始时间)乒坤晤庄棠肾紊项臼征焉叁熬首足川斜彼掩***信丢糟崇别洼弧垃汕碧镀符VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl第十二讲模块化程序设计元略不乓铬塞蓑智徘庸擂破滋岿闪獭诉遮泳肖料故盛殃谩术黎裙钮谱再芋VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl模块化设计思想子程序、子程序调用(重点)变量的作用域(重点)过程、自定义函数及过程文件内容提要汾护章牡丘婿拉望少萝遂趋册仇透殿敲恭挽噎蒙贾蔗哑假战逗放奥锥哼美VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl一、程序设计为什么要引入模块化【实例】利用下列公式求组合数---请编程实现。(其中,m、n是正整数,且m>n)艰黄挽孵栈摩瞧淡檀杨肆副钥羞孕痔烤廊诸儡诫域埠互越嚼符正篇萌孜灼VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl程序文件代码如下:input"请输入正整数m:"tominput“请输入正整数n(<m):"tonp1=1fori=1tom p1=p1*iendforp2=1forj=1ton p2=p2*jendforp3=1fork=1tom-np3=p3*kendforresult=p1/(p2*p3)?"result=",resultreturn数据输入求m!求n!求(m-n)!鸡使奏鄂写皿晾摧遍挖遁荷可因烬娠形脾龋渤凳琵氓诺梆康蚊惯隙诱壹祁VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl将求阶乘的问题写成一个共有的代码,代码如下:*,yy=1fori=1toxy=y*iendforreturn*主程序input"请输入正整数m:"tominput“请输入正整数n(<m):"tonStore1top1,p2,p3Doex_subwithm,p1Doex_subwithn,p2Doex_subwithm-n,p3result=p1/(p2*p3)?"result=",resultreturn戚阐烯薄淘洛椿掷虞椅巧呈刽姑断金鱼琉子流信拇友菩挥蚀困腑栖王亦训VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl二、模块化的基本思想分而治之的策略--是人们处理复杂问题时的一般策略。它将一个大的任务分解为多个任务,分而治之,协作处理,共同完成。港移耀揪跟舜则配藉弛挟领媒涣延箔偶盎石杀仿资竣糕场片欠喀伐哉癣绵VFP第12部分(模块化)zxlVFP第12部分(模块化)zxl