第六章程序设计基础.pptx

上传人:uij****hh 文档编号:96886035 上传时间:2024-03-29 格式:PPTX 页数:48 大小:336.56KB
返回 下载 相关 举报
第六章程序设计基础.pptx_第1页
第1页 / 共48页
第六章程序设计基础.pptx_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《第六章程序设计基础.pptx》由会员分享,可在线阅读,更多相关《第六章程序设计基础.pptx(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、6.2 程序6.2.1 程序的概念6.2.2 程序文件的建立6.2.3 程序中的输入、输出命令6.2.1 程序的概念定义:完成一定任务的命令的有序集合例:通过编程查看student表的信息一、在数据库中运行open database stscuse studentbrowsuseclose database二、在程序文件1、建立程序文件2、在文件中输入所有命令。3、运行程序三、程序和命令窗口的区别1、在程序窗口中,输入完命令,按回车键该条命令就会被执行。2、在程序中,所以的命令输入完形成程序文件,通过运行程序才能按照程序文件中命令的顺序依次执行。四、vfp中程序命令的说明1、程序命令的注释格式

2、一:note 格式二:*格式三:&2、区别 格式一和格式二可以在程序文件中单独一行出现,称为格式行;格式三只能出现程序文件中某跳语句的后面。四、对话开关语句格式一:set talk on|off功能:打开或关闭程序执行过程中的一些信息,这些信息显示在状态栏上。格式一:set safety on|off功能:打开或关闭程序执行过程中的一些信息,这些信息显示在主窗口上。例:求student表学生的平均年龄;select avg(年龄)as 平均年龄 from student执行时在状态栏会显示,可以使用set talk off关闭提示,提高执行速度例:清空数据库中某一表格的内容,会弹出安全提示,若

3、不要安全提示则可以使用set safety off 关闭由于在程序执行的时候为了提高程序的执行效率,并且在程序执行过程中让程序顺利的执行通常在编程开始和结束的地方写如下语句:Set talk offSet safety off.Set talk onSet safety on5、命令的分行在程序中编写命令语句时,如果语句过长则可以在该行的结束使用”;”换行。6.2.1 程序文件的建立与执行一、程序文件的建立1、菜单方式2、命令方式:modify command(1)若文件名存在,该命令表示修改(2)若文件名不存在,该命令表示新建二、程序文件的保存1、菜单/工具栏2、快捷键:ctrl+w三、程序

4、的运行1、菜单方式2、工具栏运行按钮3、命令:do 四、程序执行常用的命令1、cancel 终止程序运行,返回命令窗口2、do 转向执行另外一个程序3、return 结束程序执行,返回调用它的上级程序,若无上级程序则返回命令窗口4、quit 退出vf 返回操作系统6.2.3 简单的输入、输出命令输入命令:input、accept、wait输出命令:?和?一、input命令格式:input to 例:input“请输入一个数”to aa例:编程完成,从键盘输入两个数,求他们的和并输出clearinput 请输入一个数 to a?a=?ainput 请输入一个数 to b?b=?b?a+b=?a+

5、b说明:1、可以输入字符型、数值型、逻辑型、日期型、日期时间型等类型常量、变量、表达式。2、输入完成后按回车键结束输入,系统自动将输入的内容赋给3、输入字符型要使用定界符”,逻辑性使用圆点定界,日期型使用大括号定界二、accept命令格式:accept to 例:accept“请输入一串字符串”to c说明:1、只接受字符型数据,输入的字符串不需要加定界符2、如果不输人任何字符直接按回车,则将空串赋给变量三、wait命令格式:wait to 例:wait“请输入一串字符串”to c说明:1、以窗口的形式显示提示信息,并暂停程序的执行,直到按任意键或单击鼠标后继续执行程序。2、wait用于接收单

6、个字符且不用按回车键6.3 程序的结构6.3.1 顺序结构6.3.2 选择结构6.3.3 循环结构6.3.1 顺序结构程序结构:程序中命令或语句执行的顺序。顺序结构:(最基本的)按照程序命令、语句的书写顺序依次执行的结构语句1语句2语句n总结:在顺序结构中,程序执行按照语句顺序进行,无任何的分支或重复例:从键盘输入两个数,交换它们的值6.3.2 选择结构当程序执行到某一步时,有多条道路可以选择,但是只能选择期中一条道路,该道路只能执行一次。选择结构语句:条件语句+分支语句一、简单的选择结构条件语句:If 语句序列Endif二、一般的选择结构条件语句:If 语句序列1Else语句序列2endif

7、例:从键盘输入一个数给a,判断若该数大于0,则显示“a是正数”,否则显示“a是非正数”1、clearinput 请输入一个数:to aif a0?a是正数endifif a0?a是正数else?a是负数endifreturn三、分支语句语句格式:Do caseCase Case Case otherwiseEndcase后继语句例:根据学生的成绩显示相应的等级,等级划分如下:优秀:90100(大于等于90小于100);良好:8090;中等:7080;及格:6070;不及格:60分以下clearinput 请输入成绩:to cjdo casecase cj=90?优秀case cj=80?良好c

8、ase cj=70?中等case cj=60?及格otherwise?不及格endcase例:计算分段函数F(x)=2x-1 x03x+5 0=x3X+1 3=x55x-3 5=x=10clearInput“输入x值:to xDo case Case x0 f=2*x-1 case x3 f=3*x+5 case x5 f=x+1 case x10 f=5*x-3 otherwise f=7*x+2Endcase?f(,x,)=,f9/96.2.3 循环结构 也称重复结构,是指程序在执行过程中,某段代码被重复执行若干次。被重复的代码段称之为循环体。语句结构形式:条件循环、步长型循环和扫描型循环

9、一、条件循环语句格式:Do while enddo例:逐条显示student表中性别为男的所有记录方法一clearset talk offset safety offopen database stscuse studentgo topdo while not eof()&循环条件if 性别=男displayendifskipEnddoset talk onset safety on该方法不仅要判断性别为男的记录,也要判断性别为女的记录,算法不好,程序执行效率慢方法二:依次访问性别为男的记录,并显示出来,直到访问完(遇到eof()处)为止clearset talk offset safety

10、offopen database stscuse studentgo toplocat for 性别=男do while not eof()&循环条件displaycontinueenddoset talk onset safety on二、步长型循环 根据给定的次数重复执行循环体语句:For=to step Endfor|next用于循环次数已知的情况省略step默认步长为1若初值终值,步长为正数否则为负数例:显示1100 之间的整数clearfor i=1 to 100 step 1?iEndfor例:逆序显示501之间的偶数clearfor i=50 to 2 step-2?iendfo

11、r思考题:1、找出100999间的“水仙花数”“水仙花数”即各位数字的立方和等于本身的三位数。2、某竞赛有10个评委打分,去掉一个最高分,去掉一个最低分,平均后得出最后得分。编一个求最后得分的程序。三、扫描型循环语句格式:scan forwhileEndscan注:1.该命令是将locate和continue结合一起来,执行该语句时,记录指针依次在当前指定范围内满足条件的记录上移动,并对每一条记录执行循环体内的命令,范围默认值是all2.Scan循环是为操作数据库中表的的记录设计的循环 3.记录指针自动依次按条件移动例:逐条显示student表中性别为男的所有记录方法三clearopen da

12、tabase stscuse studentscan for 性别=男displayendscan6.4多模块化程序把一个大而复杂的程序划分成若干个模块来完成,每个模块完成一个特定的功能,这种方式称为模块化结构。模块是一个相对独立的程序段,它可以被其他模块所调用,也可去调用其他模块。通常,把被其他模块调用的模块称为子模块,把调用其他模块而没有被其他模块调用的模块称为主程序。应用程序一般包含多个程序模块,所以一般都是多模块程序。将一个应用程序分解成多个功能相对简单、单一的程序模块,不仅便于程序开发,而且利于程序的阅读和维护。6.4.1 模块的定义和调用6.4.2参数传递6.4.3变量的作用域6.

13、4.1 模块的定义和调用1、过程的定义2、返回语句3、模块的调用格式1、模块的定义命令格式:Proceture|function|命令序列 return Endproc|endfunc注:Proceture是过程的入口语句,标识了过程段的开始Endproc是过程的出口语句,标识了本过程段的结束2、返回语句格式:return return后没有表达式,则返回.t.,否则返回表达式的值3、模块的调用格式1:do 过程名格式2:过程名()注:调用模块文件中的模块时,需要它所在的文件必须处于打开状态。例:clear?调用过程do p1?调用完毕proc p1?这是第一个过程endproc6.4.2参数

14、的传递1、参数的定义2、调用有参数的模块3、参数的传递规则1、参数的定义:格式一:parameters 格式二:lparameters 注:该语句必须是过程的第一条语句,定义多个参数时,用逗号隔开例:在过程s1定义参数procedure s1parameters x,yreturn x+yendproc2、调用有参数的模块格式一:模块名(实参1,实参2,.)格式二:do 模块名 with 实参1,实参2,.例:clearinput 输入一个数:to ainput 输入另一个数:to bc=s1(a,b)?c说明:1、形参的数目不能少于实参的数目,否则系统会产生运行时的错误。2、如果形参的数码多

15、于实参的数目,则多余的形参取初值逻辑假.F.参数的传递规则:两种规则:值传递和地址传递格式一:do with 说明:若实参为常量或者表达式,则为值传递。若实参为变量,则为地址传递。若给实参变量加上()则强制转化为值传递值传递:形参、实参相互独立,形参值的改变不会影响实参的值。地址传递:形参、实参相互统一,形参变量值的改变会影响原来实参的值。例:procedure s1parameters x,yx=x+1y=y+1Endproccleara=2b=3do s1 with 2,3?a?b格式二:模块名(参数列表)总结:不论实参是值、变量、表达式,均是按值传递6.4.3变量的作用域1、全局变量2、

16、局部变量3、私有变量1、全局变量(公共变量):是在任何模块中都可使用的变量,要先建立后使用。建立命令:Public 注:(1)其初值为.f.,赋值后改变。一旦建立就一直有效,即使程序运行结束返回到命令窗口也不会消失。只有执行clear memory、release、quit 等命令后,才被释放。(2)在命令窗口中直接使用而由系统自动隐含建立的变量也是公共变量例:procedure s1a=a+1b=b+1Endprocclearpublic a,ba=4b=5do s1?a?b2、局部变量 只能在建立它的模块中使用,而不能在其上层或下层模块中使用的变量。当建立它的模块程序运行结束时,局部变量自动释放。必须先建立后使用:建立格式:Local 说明:建立时赋初值.f.。因为与locate前四个字母相同,所以不能缩写。三、私有变量 在程序中直接使用(没有通过public和local命令事先声明)而由系统自动隐含建立的变量。作用域是建立它的模块及其下属的各层模块。建立它的模块程序运行结束,私有变量将自动清除。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com