第五章 结构化程序设计_第1页
第五章 结构化程序设计_第2页
第五章 结构化程序设计_第3页
第五章 结构化程序设计_第4页
第五章 结构化程序设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1,5章结构化编程,第2节,第一节程序文件,VisualFoxPro程序的说明1。注释语句格式1 * 格式2功能提高程序文件的可读性。2.对话开关语句格式执行SETTALKOFF|ON 功能命令时关闭或打开对话开关。3.命令的换行VisualFoxPro程序是命令行序列,每个命令只能在一行中写入一个命令。如果命令太长,不能作为一行写入,请换行,在换行中输入“;”也可以添加文字,然后按Enter键。3、2,创建、修改和运行程序文件,1 .创建或修改程序文件1)命令方法:MODIFYCOMMAND程序文件名 2)菜单方法:打开“文件”菜单,然后选择“新建”。在“新建”窗口中,依次选择“程序”、“新建文件”、“4,3”。项目管理器:在选定项目管理器的“代码”选项卡上,选择项目群项目,然后选择“新建”命令。2.保存程序文件输入程序后,单击“文件”|“保存”菜单项,或按Ctrl W复合键在“另存为”对话框中指定程序文件的保存位置和文件名,然后单击“保存”按钮保存程序文件并退出文本编辑器。程序文件的默认扩展名为.PRG。5,3。运行流程文档流程文档生成后,可以通过多种方式多次运行它。以下是两种常用方法:1)菜单方法单击“程序”“运行”菜单项,打开“运行”对话框。从文件列表框中选择要运行的程序文件,单击“运行”命令按钮后,程序文件开始运行2)命令方法“do 功能”指定的程序文件可执行程序文件运行后,文件中包含的命令将依次执行,直到所有命令都运行完毕。6、2子句程序的基本结构,由顺序、分支和循环三个基本结构组成。(1)如图6-1所示,顺序结构在执行b操作之前执行a操作。(2)分支结构:如图6-2所示,如果条件p为真,则p执行a操作,否则执行b操作。图6-1顺序结构流程图6-2分支结构流程图,7,(3)循环结构:循环结构允许多次重复特定语句或程序段。如果某些语句或程序段需要在一个固定位置重复操作,则最好使用循环。8,3个输入命令的异同ACCEPTTOACCEPT命令仅接受基于字符的数据(不带分隔符),然后按enter键退出。WAITTOWAIT命令只能输入不带分隔符的单个字符,输入完成后无需按enter键。INPUTTOINPUT命令接受数字、字母、逻辑、日期和日期时间数据,如果是字符串,则输入为分隔符,然后按enter键结束。9、分支结构中的1 .单向分支单向分支语句有三种格式。也就是说,用户设置的条件表达式的值决定是否执行操作。语句格式if条件表达式命令行序列ENDIF语句功能首先计算条件表达式的值,如果条件表达式的值为true,则执行命令行序列。否则,将执行ENDIF后面的第一个命令。第三,求分支结构,10,示例6-9一阶二次方程ax2 bx c=0的实根。程序文件名为PROG9 .PRG。settckoffclearinputtoainputtobinputtocz=b 2-4 * a* cifz=0x 1=(-b sqrt(z)/(2 * a)x2X1、x2 endfsettalon、11、2。双向分支是根据您设置的条件表达式的值选择两个操作之一执行的双向分支语句。语句格式if条件表达式命令行序列1 else命令行序列2 ENDIF语句功能首先计算条件表达式的值,如果条件表达式的值为true,则执行命令行序列1的命令。否则,请执行命令行序列2中的命令。ENDIF后的第一个命令在运行命令行序列1或命令行序列2后执行。,12,示例6-10创建密码验证程序(假定密码为ABC)。程序文件名为PROG10 .PRG。输入SETTALKOFFCLEARACCEPT密码: toaaaifaaa=ABC clear?“欢迎来到这个系统!”ELSE?“密码无效!”endfsettal、13、3。多分支多分支门。也就是说,根据多个条件表达式的值,选择多个操作之一的匹配运行。语句格式do case条件表达式1命令行序列1,5734case条件表达式2命令行序列2,5734case条件表达式N命令行序列N反转命令行序列N;在所有CASE中,如果条件表达式的值为假时存在OTHERWISE条目,则将执行命令行序列N 1,并执行ENDCASE之后的第一个命令。否则,直接执行ENDCASE后面的第一个命令。假设收入(p)和税率(r)的关系,以编程方式求税。程序文件名为PROG11 .PRG。0p 800r=0.05800p 2000.082000p 50000.1 p5000,15,输入“settckoffclearinput”收入:税如下:TAXSETTALKON,16,4,循环结构,1。do while循环语句格式11dowhile enddo,17,格式2 do while loop exit enddo,loop语句:循环开始EXIT语句:强制跳出循环,然后执行ENDDO后面的语句。18,范例6-12 1 2 3.编程以求100的和。程序文件名为PROG12 .PRG。settckoffclears=0i=1 Dow hilei=100s=s ii=I 1 enddo?“1 2 3.100=,ssettalckon,19,示例6-13在STUDENT数据库的STUD表中逐个显示性别为“男性”的所有记录。程序文件名为PROG13 .PRG。settalkoffclearclosedata baseallopendatabasestudenusestudendowhile . not . eof()if性别=男性 displayendfskipenddoclosedatbaseallsettalkon程序文件名为PROG14 .PRG。settalk off clearclosedatabaseallopendatabasestudenusestudendowhile . not . eof()if名称= sun yefor循环语句格式for=tosteploopexitend for/next for语句的执行过程如图所示。22,使用FOR循环语句的说明:如果省略step,则STEP为默认值1;初始值、结束值和步骤可以是数值表达式,但是这些表达式只有在开始执行循环语句时才会计算。循环语句执行期间,初始值、最终值和步骤保持不变,并相应地确定循环数。EXIT和LOOP命令可以出现在循环中。执行LOOP命令时,结束循环,循环变量增加步长值,返回FOR循环头,以确定是否满足循环条件。执行EXIT命令时,程序将退出循环,并执行循环结束后的语句。23,3 . 指针“循环控制语句”根据循环控制语句(即用户设置的表中的当前记录指针)确定循环正文语句的执行辅助数据。语句格式scan FOR条件表达式SCAN命令行序列ENDSCAN语句功能语句控制指定范围内数据记录指针的循环数。执行语句时,首先确定函数EOF()的值,如果该值为 true ,则结束循环,否则(条件表达式)、执行(命令行序列)、记录指针移动到指定范围和条件中的下一条记录,如果函数EOF()的值为true,则函数EOF()的值将一直持续到循环结束,24,示例6-18输出STUDENT数据库的STUD表中所有男生的姓名和地址。程序文件名为PROG18 .PRG。settalkoffclearclosedata baseallopendatabasestudenusestudenscanfor性别=男性?名称、地址endSCANclosedatasbaseallsettinalckon、25、4。使用循环语句时要注意的点(1),DOWHILE和ENDDO、FOR与ENDFOR、scan和ENDSCAN必须成对使用。5734-2循环变量必须是数字内存变量或数组元素。(3)EXIT和LOOP命令内置在回路中,可以更改回路数,但不能单独使用。EXIT的功能是脱离循环,执行ENDDO、ENDFOR和ENDSCAN后面的第一个命令。LOOP的功能是返回到循环的开头并再次判断“条件”。三节流程模块化、VFP模块化以三种形式提供:子程序、流程和函数。子例程子例程(也称为外部进程)将程序文件(.PRG)格式,单独存储在磁盘上。子程序的结构与常规程序文件一样,可以使用MODIFYCOMMAND命令设置、修改和保存,扩展名为.默认为PRG。子程序和其他程序文件之间的唯一区别是,其结尾或返回点必须具有返回语句RETURN。子程序调用:DO、27、ii、过程(内部)、内部过程:将多个过程组织到一个文件(称为过程文件)中,或放在调用过程的程序文件的末尾。过程文件格式如下:PROCEDUREPARAMETERRETURN过程包括(1)过程文件(.PRG文件)将所有过程集写入磁盘文件(2),直接写入调用过程的主程序文件,打开主程序时将过程同时发送到内存(在调用时节省时间)。(3)如果是默认RETURN,则隐式RETURN命令将在进程结束时自动执行,否则为逻辑值。t .返回。28,示例6-22将创建以下过程文档,并将进程放置在程序文档中。* main。prgsettaloff?“正在运行主程序”do sub1 settlekonproceduresub 1?“正在运行sub 1”return、29、3,进程文件的创建方式与程序文件相同。可以使用MODIFYCOMMAND命令或通过调用其他文字编辑软件进行设置。过程文件通常是procedurern procedurerun,在调用过程文件时调用过程文件中的过程.procedure return,30,1。打开过程文件时,必须先打开过程文件。打开过程文件的命令如下:SETPROCEDURETO在任何时候只能打开一个过程文件,打开新的过程文件时,最初打开的过程文件将自动关闭。过程文件DOWITH参数表2。调用过程文件的退出过程文件可以使用以下命令:format 1SETPROCEDURETOformat 2close procedure,31,参数传递主程序调整进程时,可以将主程序的参数传递给过程,处理进程后返回主程序。呼叫者的格式:格式1: do with ,格式2: ,实际参数可以是常数、变量或表达式。调用程序时,将发送实际参数。接收参数命令:parameters ,此时参数是个人变量。L parameters ,造型参数现在是本端变数。32,规则:(1)当实际参数数大于造型参数数时,系统会提示您发生错误。(2)实际参数数等于几何体参数数时,实际参数分别对应于头发和连接参数。(3)如果实际参数数小于形参数数,则将逻辑false.f .指定给多馀的形参照。传递参数的两种方法是:(1)按值传递。变更造型变数值不会影响实际变数值。(2)按地址(见)传送。几何参数值变更时,实际参数也会变更。SETUDFPARMSTOVALUE REFERENCE、按值传递、按地址、33、变量的范围、变量的范围表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论