欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VFP第7章结构化程序设计.ppt

    • 资源ID:5452151       资源大小:502KB        全文页数:55页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VFP第7章结构化程序设计.ppt

    第七章Visual FoxPro程序设计,教学目标,掌握程序与命令的区别;掌握程序文件的建立与运行;掌握结构化程序设计的三种基本结构及其特点;调试应用程序的基本方法。,双语课堂C,重点与难点:程序调试的基本方法与步骤,检测和排除程序中错误(尤其是逻辑错误)的方法与技巧。,7.1 程序与程序文件,程序的逻辑性 VFP程序主要用于进行数据处理,其过程一般由三部分组成:根据题意(实际问题)给出原始数据及处理要求。按规定要求对数据进行处理。输出数据处理的结果。上述过程简称为:输入数据处理数据输出数据 程序调用(运行)后,由系统自动按命令的排列次序逐条执行。由此可见命令的排列次序必须严格的遵守解决问题的逻辑顺序。,一.Visual FoxPro程序的概念,例如:要计算圆面积,就要依次完成下列三步:步骤1:给出圆半径 r步骤2:按公式 S=r*r计算圆柱体积步骤3:输出圆面积 VFP程序是用命令来叙述这个过程,虽然这里选用计算圆面积并非典型的数据处理问题,但是编程思想是相似的,下面写出求半径为10cm的圆面积计算程序 r=10 输入 S=3.1415*r*r 处理?圆面积=,S 输出,这3条命令的三大步骤决定了这个程序的逻辑性,只有执行了r=10后,才能计算S,之后才能输出S,否则会因变量找不到而终止程序。程序的通用性 程序可反复执行,故编制程序应具有通用性,使程序的应用范围更广。只能计算r=10的圆面积程序就价值不大,若对任意半径都能计算圆面积,则程序的功能就具有通用性。通常在程序执行过程中输入原始数据与处理要求,就能更加体现出程序的通用性。,下面是一个完整的VFP程序,*功能说明:求圆形的面积。*文件名:E7_1.PRGCLEARSET TALK OFFINPUT“请输入圆的半径,半径=”TO RS=PI()*R*R?“半径为”+ALLTRIM(STR(R)+“的圆,面积=”,SSET TALK ONRETURN,程序的组成:前言:注释语句 设置区:设置程序的运行环境,多由SET命令实现 程序体:包括数据的输入输出、数据的处理以及结果输出等命令 整理部分:如关闭各种文件 程序的退出:设置有关命令关闭文件返回到命令窗口状态或操作系统状态,程序书写规则 命令分行程序中每条命令都以回车键结束,一行只能写一条命令。若命令需分行书写,应在一行终了时键入续行符“;”,然后按回车键。VFP程序不区分命令动词和短语的大小写。命令注释 程序中可插入注释,以提高程序的可读性。,程序文件的创建与编辑通常采用文本编辑器来进行,例如Word、记事本等均能创建程序文件。一般情况是调用VFP系统内置的文本编辑器。通常有两种方法:命令方式与菜单方式。,1.建立程序,命令方式:MODIFY COMMAND 说明:为主文件名,其扩展名的默认值为.PRG 示例:建立名为E7_2.PRG的应用程序,使其能够在学生 表XS.DBF中,显示所有平均成绩最高和平均成绩 最低的记录。命令窗口:MODI COMM E7_2.PRG,编辑窗口:*FILENAME L1.PRGSET TALK OFFUSE XSCLEARINDEX ON 平均成绩 TO CJIN&按平均成绩升序索引GO BOTTOMH=平均成绩&取最高成绩LIST FOR 平均成绩=H&显示所有平均成绩最高的记录GO TOPL=平均成绩&取最低成绩LIST WHILE 平均成绩=L&显示所有平均成绩最低的记录USESET TALK ON,菜单方式:(1)在【文件】菜单中选择【新建】命令;(2)在“新建”对话框中选择“程序”;(3)单击【新建文件】按钮。系统弹出文本编辑窗口,并在命令窗口自动生成MODIFY COMMAND命令,从项目管理器创建程序:(1)打开项目管理器;(2)选定【代码】选项卡中的【程序】项;(3)选择【新建】命令。,2.保存程序 从【文件】菜单中选择【保存】命令。按Ctrl+W组合键。(使用Ctrl+Q组合键,不存盘退出编辑窗口)若关闭一个没有保存的程序,会弹出相应对话框,提示用户是否保存已作的修改。若保存了一个由项目管理器创建的程序,则该程序被加入到项目中。若保存一个尚未命名的程序,则会打开“另存为”对话框,提示用户为程序指定程序名。程序保存后,可以运行或修改它。,选择【文件】菜单的【打开】命令,系统弹出“打开”对话框,在【文件类型】列表框中选择【程序】,然后在文件列表中选择要修改的程序,单击【确定】按钮。若程序包含在一项目中,则在【项目管理器】中选定它并单击【修改】按钮。使用“编辑”菜单中的选项“复制”、“剪切”和“粘贴”等功能可加速编辑过程。修改完成后保存。,3.修改程序首先按以下方式打开想要修改的程序:在命令窗口键入命令:MODIFY COMMAND,4.运行程序运行程序的方法有以下三种:若程序包含在一个项目中,则可在项目管理器中选定它,并选择【运行】命令。在【程序】菜单中选择【运行】菜单项,然后在程序列表中,选择想要运行的程序,并单击【运行】按钮。在命令窗口中输入命令:DO,说明:如果文件不加扩展名,系统会假定它具有.PRG的扩展名,如果想运行一个具有其他扩展名的命令文件时,在输入命令时必须给出这个命令文件的全名。如:要运行上例中编辑的程序,可以在命令窗口中输入:DO E7_1 然后按回车键执行。若指定的程序文件不在当前路径,应在文件名前面指定路径。程序文件名的扩展名PRG可省略。,在VFP系统中,一个程序文件通过编译、连编可产生不同的目标代码文件,这些目标代码文件名相同,但是扩展名不同。这些文件扩展名的含义如下:PRG:VFP源程序文件。FXP:VFP编译文件,一旦源程序文件被执行,自动产生FXP文件。APP:VFP应用程序文件。EXE:Windows 可执行文件。当DO命令执行程序文件时,如果没有指定文件扩展名,系统按下列顺序执行某个文件:,EXE,APP,FXP,PRG,7.2 VFP程序设计中常用的命令,1.WAIT命令,功能:暂停正在运行的程序,直到输入一个字符为止。,格式:WAITTO WINDOWSATCLEAR NOCLEARTIMEOUT,说明:(1)若选择TO 子句,则将输入的单个字符存入指定的内存变量。若直接输入回车键,则内存变量中存入空字符串。内存变量的类型为字符型。(2)若选择子句,执行此命令时,屏幕上将显示提示信息,否则,屏幕上将显示“按任意键继续”,WAIT语句主要用于下列两种情况 暂停程序的运行,以便观察程序的运行情况,检查程序运行的中间结果。根据实际情况输入某个字符,以控制程序的执行流程。比如,在某应用程序的“YN”选择中,常用此命令暂停程序的执行,等待用户回答“Y”或“N”,由于这时只需输入单个字符,也不用按回车键,操作简便,响应迅速。,功能:暂停程序的执行,将从键盘上接收的字符串数据存入指定的内存变量中。提供此命令是为了向后兼容,在VFP中可以用格式输入命令实现。,2.字符接收命令,格式:ACCEPT TO,参数描述:提示信息:指定提示信息字符串,其后是数据输入区。提示文本的字体与VFP主窗口的字体相同。但输入的字符数据用9磅FoxFont字体显示。提示信息缺省,屏幕上将有输出任何信息。内存变量名:指定存储字符数据的内存变量或数组元素。如果没有定义此内存变量,ACCEPT将自动创建。如果没有输入数据就按Enter键,内存变量或数组元素则为空字符串。,说明:ACCEPT命令允许直接向内存变量或数组元素输入字符数据,输入时不需要用定界符将字符括起来。执行此语句时,先在屏幕上显示,光标紧随其后,然后暂停程序运行,等待用户从键盘上输入信息。输入的信息可以是任何可显示的ASCII码字符串,并以回车键结束。系统将此字符串信息存入指定的内存变量中,然后,继续运行暂停的程序。,例:试编程完成下述功能:从键盘随机输入某个表的文件名,要求打开并显示此表的内容。在命令窗口输入下列命令:MODIFY COMMAND E7_3屏幕显示编辑窗口。在编辑窗口输入如下程序代码:,CLEARSET TALK OFFACCEPT 请输入表文件名 TO FileNameUSE&FileNameLISTUSESET TALK ONRETURN,按Ctrl+W存盘,返回命令窗口。使用宏代换函数,是由于FileName本身不是文件名,而其内容才是文件名。,宏代换函数,3.通用数据接收命令ACCEPT语句只能给字符型内存变量提供数据。如果用户想给其他类型的内存变量提供数据,可以使用下列命令:,格式:INPUT TO,功能:接收从键盘上输入的表达式,并将计算结果存入指定的内存变量或数组元素中。包含此命令也是为了提供向后的兼容性。在VFP中,该命令也可以用格式输入命令实现。,参数描述:提示信息:提示用户输入数据。内存变量名:指定一个内存变量或数组元素,存储从键盘输入的数据。如果指定的内存变量或数组元素不存在,VFP将自动创建该内存变量或数组。说明:INPUT语句与ACCEPT语句的执行过程相同,功能相似。的数据类型取决于输入数据的类型。可以为数字型、字符型、日期型和逻辑型。,INPUT语句与ACCEPT语句的区别:ACCEPT命令只能接收字符串,而INPUT语句可以接收任意类型的VFP表达式;如果输入的是字符串,ACCEPT语句不要使用字符型定界符,而INPUT语句必须用定界符括起来。,示例:,功能:显示一个用户定义的信息对话框,按下一次按钮即返回一个数值。说明:指定在对话框中显示的信息文本。:设定对话框中的按钮、图标和默认按钮,它们的意义见表7.1。,4.MESSAGEBO()函数,格式:MESSAGEBOX(,),的值为三者之和,如“1+48+256”中:“1”表示在对话框中设置“确定”和“取消”两个按钮;“48”表示对话框中图标为“警告”(惊叹号);“256”则表示对话框中第2个按钮为默认按钮。,:指定对话框标题栏的显示文本。缺省该参数则在标题栏显示“Microsoft Visual FoxPro”。函数返回值是一个数值,意义见表7.2。用户将根据操作时按下的按钮来获得相应的返回值,编程时根据返回值来设置动作。,5.中止程序运行在程序运行过程中,按Esc键可以中止程序的运行,系统会显示警告对话框让用户选择:取消:中止程序运行,这是缺省选择;挂起:暂停程序运行,返回命令窗口。当选择【程序】菜单下的【继续执行】选项或在命令窗口中输入“Resume”命令,系统则从中止的地方继续程序的执行;忽略:忽略所给的Esc,继续程序的执行。,6.注释命令,格式一:NOTE|*格式二:&,说明:上述命令不作任何操作,只是注释标记,用于说明程序或命令的功能等。注释内容不需要用定界符定界,执行时也不显示。注释信息如果在一行内没有写完,换行时也必须再写注释命令。NOTE或*是用于整行注释的,因此,它必须写在每一个注释行的开头;而&命令是用于注释一行的部分内容的,因此,它可以写在行中(命令的尾部、注释信息的头部),这是程序中唯一可以在一个逻辑行写两个语句的命令。,3.清屏命令,格式一:CLEAR,格式二:CLEAR TO,功能:清除屏幕上所有显示内容,将光标置于屏幕左上角。,功能:清除屏幕上相应区域的显示内容。,7.3 程序的基本结构,一.程序的结构,顺序结构:命令按其在程序中书写的先后顺序执行。分支结构:根据给定的逻辑条件在一条或多条程序路径 中选择一个执行。循环结构:在满足条件的情况下,重复执行某一命令序 列,并在条件不成立的时候中止循环。,二.分支结构程序设计,格式:IF ELSE ENDIF,1.IF 语句,参数描述:条件:指定要计算的逻辑表达式。如果的值为“真”,则执行IF语句之后的;如果的值为“假”,而且包含ELSE语句和,则执行;如果的值为“假”,而且不包含ELSE语句和,则程序忽略IF语句和ENDIF语句之间的所有语句,程序从ENDIF语句后的第一条命令开始继续往下执行其他程序。,注意:,(1)IF 和 ENDIF必须成对出现。(2)可以是各种表达式的组合,但其值必须是逻辑值“真”或“假”值。(3)语句序列可以是一组命令,也可以是其他程序的控制命令,命令可以嵌套写入(如IF的嵌套结构)。,P160:例7.11,2.分支选择函数IIF(),功能:当条件为真时,取表达式1的值作为函数返回值,否则取表达式2的值作为函数返回。,例如:REPLACE 基本工资 WITH;基本工资+IIF(基本工资=500,50,20),格式:IIF(,),IF 条件1 IF 条件2 IF 条件3 ENDIF IF 条件4 ENDIF ELSE ENDIF ELSE IF 条件5 ENDIFENDIF,3.IF语句的嵌套结构,P161:例7.14,格式:DO CASE CASE CASE OTHERWISE ENDCASE,条件1为真?,多分支语句流程图,n,4.CASE多分支语句,参数描述:CASE:VFP在执行这条多分支选择命令时,按命令行中写出的条件表达式的顺序逐条检查,当遇到第一个结果为“真”的时,就执行它后面的语句序列。语句序列中的命令逐条被执行,直到遇到下一个CASE或OTHERWISE或ENDCASE,然后再从ENDCASE语句后的第一条命令开始继续执行其他命令。如果一个CASE 为“假”,就忽略它后面的语句序列。,P162:例7.15,二.循环结构程序设计,1.基于条件的循环:DO WHILE 命令,格式:DO WHILE 循环体语句 ENDDO,条件为真?,ENDDO后面的语句,Y,N,参数描述:条件表达式:指定一个逻辑表达式,它的值决定是否执行DO WHILE和ENDDO之间的命令集合。如果的值为“真”,就执行命令集。语句序列:指定当计算为“真”时要执行的VFP命令集。ENDDO:表明DO WHILE语句的结束。,P164:例7.18,2.循环结构中的两条专用命令,DO WHILE LOOPENDDO,条件为真?,LOOP,Y,ENDDO后面的语句,Y,N,N,格式一:LOOP,DO WHILE EXITENDDO,条件为真?,EXIT,Y,ENDDO后面的语句,Y,N,N,格式二:EXIT,功能:LOOP:直接将程序控制返回到DO WHILE语句,并重新计算条件值。LOOP可以放在DO WHILE和ENDDO之间的任何位置。EXIT:将程序控制从DO WHILE和ENDDO循环的内部转到ENDDO后的第一条命令。EXIT可以放在DO WHILE和ENDDO之间的任何位置。,例:求连续N个不是7的倍数的自然数之和,当和是101的倍数时显示最后的自然数和它们的和。,STORE 0 TO AA,BB&定义两个变量,用以保存累加值和累加数DO WHILE.T.BB=BB+1IF MOD(BB,7)=0&判断BB是否为7的倍数 LOOP&如果BB是7的倍数则返回去将BB再加1ENDIFAA=AA+BB&将BB不是7的倍数的连续自然数累加求和 IF MOD(AA,101)=0&判断AA是否是101的倍数 EXIT&如果AA是101的倍数,则结束程序的循环ENDIFENDDO?BB,AA&屏幕显示结果为207和18483,P167:例7.21,FOR=TO STEP LOOP EXITENDFOR|NEXT,变量变量+步长,变量超过终值?,ENDFOR后面的语句,N,Y,内存变量初值,语句序列,3.基于计数的循环:FOR 循环,参数描述:内存变量:指定作为计数器的内存变量或数组元素。在执行FORENDFOR语句之前,此内存变量或数组元素不一定存在。初值 TO 终值:初值是计数器的初始值,而终值是计数器的终止值。STEP:是计数器递增或递减的步长。如果步长是负值,则计数器递减;如果省略STEP子句,计数器每次递增1。,P169:例7.22,EOF()为真?,语句序列,条件为真?,ENDSCAN后面的语句,Y,Y,N,4.基于表的循环:SCAN 循环,在指定范围内?,SKIP,Y,N,N,SCAN FOR WHILE LOOP EXITENDSCAN,参数描述:范围:指定对当前表中记录扫描的范围。只有在范围之内的记录才有可能扫描到。SCAN命令的默认范围为ALL。FOR:只有条件表达式的计算结果为“真”的记录,才能对其执行命令。包含FOR子句可以筛选出不想扫描的记录。WHILE:指定一个逻辑表达式作为执行命令的条件,只要逻辑表达式计算为“真”,就对记录执行命令,直到遇到使表达式不为“真”的记录为止。ENDSCAN:标志SCAN过程的结束。,说明:SCAN循环是专为表的操作而设计的,该命令在当前打开的表中控制记录指针自动下移。,例:逐条显示XS表中男生的情况。USE XS SCAN FOR 性别=”男”DISPWAIT ENDSCAN USE,USE XSSCAN IF 性别#“男”LOOP ENDIFDISPWAITENDSCANUSE,或者:,P170:例7.24,5.多重循环结构,格式:(以当型循环结构为例):DO WHILE 条件表达式1 语句行序列11 DO WHILE 条件表达式2 语句行序列21 DO WHILE 条件表达式3 语句行序列31 ENDDO3 语句序列22 ENDDO2 语句行序列12 ENDDO1,P172:例7.26,本章小结,VFP源程序也称命令文件,用MODI COMM命令既可建立也可修改源文件。VFP采用编译方式运行程序,VFP程序与一般高级语言程序类似,从程序结构看也是由顺序、分支和循环三种基本结构的不同组合和嵌套而成的。程序中可以包括前面介绍的各种操作命令,用于控制流程的语句也是不可缺少的,在分支的嵌套中要注意逻辑关系和配对关系,对于多重循环,尤应注意逻辑关系和嵌套层次关系。,双语课堂C,

    注意事项

    本文(VFP第7章结构化程序设计.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开