Visual FoxPro数据库课件:第6章_结构化程序设计1

上传人:努力****83 文档编号:122573136 上传时间:2022-07-20 格式:PPT 页数:38 大小:1.22MB
收藏 版权申诉 举报 下载
Visual FoxPro数据库课件:第6章_结构化程序设计1_第1页
第1页 / 共38页
Visual FoxPro数据库课件:第6章_结构化程序设计1_第2页
第2页 / 共38页
Visual FoxPro数据库课件:第6章_结构化程序设计1_第3页
第3页 / 共38页
资源描述:

《Visual FoxPro数据库课件:第6章_结构化程序设计1》由会员分享,可在线阅读,更多相关《Visual FoxPro数据库课件:第6章_结构化程序设计1(38页珍藏版)》请在装配图网上搜索。

1、第第6 6章章 结构化程序设计结构化程序设计1 1吉林大学吉林大学 公共计算机教学与研究中心公共计算机教学与研究中心程序程序是指能够完成一定任务的一组是指能够完成一定任务的一组有序命有序命令令的的集合集合。程序中的。程序中的命令称为语句命令称为语句。程序。程序以文件以文件形式形式保存保存。方法三方法三:在命令窗口中执行命令。:在命令窗口中执行命令。Modify Command Modify Command 1.1.建立源程序文件建立源程序文件方法一方法一:文件文件菜单菜单新建新建选择选择程序程序新建文件新建文件。进入进入程序编辑器程序编辑器。6.2 6.2 程序的建立与执行程序的建立与执行 程

2、序编辑器程序编辑器独立的独立的注释语句注释语句,以以*或或NoteNote开头开头。可执行语句的可执行语句的注释注释输入命令输入命令方法四方法四:关闭关闭程序编辑器程序编辑器窗口窗口时,系统将时,系统将提示用户是否保存文件。提示用户是否保存文件。方法三方法三:按按Ctrl+WCtrl+W键键,保存文件的同时关,保存文件的同时关闭程序编辑器;闭程序编辑器;方法二方法二:“保存保存”常用工具常用工具。方法一方法一:文件文件菜单菜单保存保存(或或按按Ctrl+SCtrl+S键键)。不关闭不关闭程序编辑器。程序编辑器。2.2.保存程序文件保存程序文件方法一方法一:文件文件菜单菜单打开打开选择选择“文件

3、类文件类型型”为为“程序程序”选择或键入选择或键入程序文件名程序文件名“确定确定”。6.2.2 6.2.2 打开源程序文件打开源程序文件方法三方法三:在命令窗口中执行命令:在命令窗口中执行命令:Modify CommandModify Command|?。源程序源程序:扩展名是:扩展名是PRGPRG编译程序编译程序:扩展名是扩展名是FXPFXP应用程序应用程序:扩展名是扩展名是APPAPP可执行程序可执行程序:扩展名是扩展名是EXEEXE。6.2.3 6.2.3 程序的编译与执行程序的编译与执行是是文本文件文本文件。只要。只要有源程序有源程序文件,就可以文件,就可以生生成其他成其他3 3种程序

4、文件。种程序文件。可以可以脱离脱离VFPVFP环境环境运行运行,以便程序发行。,以便程序发行。必须必须安装安装VFPVFP系系统才能统才能运行运行程序程序 由多个文件由多个文件(包括程序、表单和菜单等)(包括程序、表单和菜单等)连接成连接成一个应用程序文件,便于程序的运一个应用程序文件,便于程序的运行和管理。行和管理。执行过的源程序文件都有对应的编译程序文件。执行过的源程序文件都有对应的编译程序文件。执行编译程序比执行源程序的执行编译程序比执行源程序的速度快速度快。1.1.程序文件类型程序文件类型:方法二方法二:程序编辑器中:程序编辑器中,常用工具常用工具 “!”方法四方法四:执行命令。:执行

5、命令。Do Do 3.3.执行程序执行程序结构化程序设计的三种结构结构化程序设计的三种结构1、顺序结构顺序结构2、分支结构分支结构 If-Endif,Do Case-Endcase3、循环结构循环结构 Do While-Enddo,For-Endfor,Scan-Endscan分支结构(分支结构(P187-P190)1、简单分支语句(、简单分支语句(P187)2、双分支语句(、双分支语句(P188)3、If语句嵌套(语句嵌套(P189)4、条件函数条件函数Iif()(P189)5、多分支语句多分支语句Do Case(P190)6、控制程序的语句控制程序的语句(P188)Cancel,Quit,

6、Return,Suspend,Resume6.4.1 If6.4.1 If分支语句分支语句语句格式:语句格式:If ThenThen Endif开始开始语句语句序列序列结束结束条件条件?YN分支结构分支结构后面语句后面语句Y其中其中IF-ENDIFIF-ENDIF必须必须配对出现配对出现。例例6.10(P188)Accept“请输入表文件的主名:请输入表文件的主名:”To FNIf Not File(Alltrim(Fn)+”.DBF”)MessageBox(FN+”表文件不存在!表文件不存在!”)CancelEndIfUse&FNDisplay AllUse6.4.1 If 6.4.1 If

7、 分支语句分支语句 语句格式:语句格式:If If Then Then 1 ELSEELSE 2 EndifEndif开始开始语句序列语句序列1 1结束结束条件条件?Y YNN语句序列语句序列2 2分支结构分支结构后面语句后面语句例例6.12(P188)Input“x=”to xInput“y=“to yIf xy m=xElse m=yEndif?”x与与y中的较小者是:中的较小者是:”,m其他输入输出语句例例:Iif(50,Date(),英语英语)6.4.3 6.4.3 条件函数条件函数 IifIif Iif(,)表达式表达式1和表达式和表达式2可以是可以是不同的数据类型。不同的数据类型。

8、是是逻辑表达式逻辑表达式。若条件。若条件成立成立,则表达式,则表达式1值作值作为函数值为函数值;不成立不成立,表达式,表达式2值作为函数值值作为函数值。.F.F.=英语英语请试着将例请试着将例6.12用条件函数完成用条件函数完成6.4.2 If语句的嵌套语句的嵌套Input Input 请输入一个数:请输入一个数:To X To XIf X0If X0Y=1Y=1ElseElseIf X=0If X=0Y=0Y=0ElseElseY=-1Y=-1EndifEndifEndifEndif?Y?Y1 (X0)0 (X=0)1(X0)Y=格式:格式:Do CaseDo Case CaseCase 1

9、 1 CaseCase 2 2 CaseCase n n OtherwiseOtherwise n+1 EndcaseEndcase开始开始语句语句序列序列 1结束结束条件条件1?YN语句序列语句序列 2条件条件2?YN语句序列语句序列 n条件条件n?YNOTHERWISE语句序列语句序列 n+1.6.4.4 6.4.4 多分支语句多分支语句 例例6.15(P190)Input“请输入一个数请输入一个数”to xDo Case Case x0 y=1 Case x=0 y=0 Otherwise y=-1Endcase?y循环结构(循环结构(P191-P198)1、Do While-Enddo

10、(P191)2、For-Endfor/Next(P194)3、Scan-Endscan(P195)4、结构嵌套结构嵌套(P196)5、循环控制语句循环控制语句(P191)Loop,Exit6.5 6.5 循环结构程序设计循环结构程序设计 循环结构循环结构指在执行程指在执行程序过程中,序过程中,重复执行重复执行某某程序段。程序段。重复执行的程重复执行的程序段称为序段称为循环体循环体,重复,重复执行的次数称为执行的次数称为循环次循环次数数。开始开始语句序列语句序列 结束结束循环条件循环条件?YN循环前的语句循环前的语句 循环后的语句循环后的语句语句序列语句序列 Y语句格式:语句格式:For=To

11、Step Endfor|Next 6.5.2 For(6.5.2 For(步长型步长型)循环语句循环语句 是一个是一个内存变量内存变量,也称循环变量、控制,也称循环变量、控制 变量。变量。数值表达式数值表达式,只在循环,只在循环开始开始执行时执行时计算一次。计算一次。省略省略时,步长值时,步长值为为1 1与与ForFor语句中的循环控制变量语句中的循环控制变量是同一个变量是同一个变量,一起配对使用一起配对使用数值表达式数值表达式,只在循环,只在循环开始开始执行时执行时计算一次计算一次数值表达式数值表达式,只在循环,只在循环开始开始执行时执行时计算一次计算一次开始开始结束结束循环条件循环条件?N

12、初值赋给循环变量初值赋给循环变量 循环后的语句循环后的语句语句序列语句序列 Y循环变量循环变量增加一个步长值增加一个步长值步长步长:循环变量循环变量终值终值步长步长:循环变量循环变量终值终值步长步长=:且初值且初值终终值时,将永远执行值时,将永远执行循环体,即产生死循环体,即产生死循环。循环。6.5.2 For6.5.2 For循环语句循环语句例例6.21:求前求前100100个自然数的和个自然数的和6.5.1 Do While(6.5.1 Do While(当型当型)循环语句循环语句 语句格式:语句格式:Do While Enddo 开始开始语句序列语句序列 结束结束循环条件循环条件?YN循

13、环前的语句循环前的语句 循环后的语句循环后的语句语句序列语句序列 Y说明:说明:Do WhileDo While与与EnddoEnddo必须必须成对使用成对使用。是是逻辑表达式逻辑表达式。成立成立,则,则执行循环体;不成立执行循环体;不成立,则则终止循环终止循环,即执行,即执行EnddoEnddo后面的语句。后面的语句。即即循环体循环体。是当循环条件成立时,。是当循环条件成立时,重复重复执行执行的程序代码的程序代码 例例6.166.16:S=0 S=0 N=1 N=1 Do While N=100 Do While N=100 S=S+NS=S+NN=N+1N=N+1 Enddo Enddo?

14、”1+2+3+99+100=“,S?”1+2+3+99+100=“,S6.5.1 Do While(6.5.1 Do While(当型当型)循环语句循环语句 开始开始S=S+NN=N+1结束结束N=100?YS=0N=1N?SS=S+N N=N+1 YFor For 循环与循环与Do WhileDo While循环循环S=0 S=0 For N=1 To 100 For N=1 To 100 S=S+NS=S+NEndforEndfor?”1+2+3+99+100=“,S?”1+2+3+99+100=“,SS=0 S=0 N=1 N=1 Do While N=100 Do While N=10

15、0 S=S+N S=S+N N=N+1 N=N+1Enddo Enddo?”1+2+3+99+100=“,S?”1+2+3+99+100=“,S 例例6.196.19 Use CJB N=0 Do while!Eof()If 重修重修?”重修学号重修学号:”,学号学号,Space(4),”重修课程码重修课程码:”,课课程码程码 N=N+1 Endif Skip Enddo?”共有共有:”+Str(N,4)+”人次重修人次重修”Use重修学号:重修学号:22060101 22060101 重修课程码:重修课程码:010201010201重修学号:重修学号:22060101 22060101 重修

16、课程码:重修课程码:010303010303重修学号:重修学号:11050102 11050102 重修课程码:重修课程码:010101010101重修学号:重修学号:11050102 11050102 重修课程码:重修课程码:010201010201 共有:共有:4 4人次重修人次重修Do While Do While LoopLoop 2 ExitExit 3 EnddoEnddo6.5.1 Do While(6.5.1 Do While(当型当型)循环语句循环语句例例 为避免出现为避免出现死循环死循环,实际编程时,实际编程时,可以在循环可以在循环体中的体中的分支结构里使用分支结构里使用L

17、oop 和和Exit 语句。语句。即:即:永远执行不完永远执行不完循环体。循环体。Use CJBScan For 重修重修 Repl 实验成绩实验成绩 with 10Endscan ScanScan For For While While 2 EndscanEndscan6.5.3 Scan(6.5.3 Scan(扫描扫描)循环语句循环语句3 3项项都省略都省略,则对当前数据表,则对当前数据表中的中的所有记录所有记录依次执行循环体依次执行循环体 10.010.010.010.0 LocateLocate For For While While 2 Do While Found()Do Whil

18、e Found()ContinueContinue EnddoEnddo Scan Scan与与EndscanEndscan必须必须成对使用成对使用。用于处理。用于处理与与数据表有关数据表有关的循环问题,功能等效于:的循环问题,功能等效于:6.5.3 Scan(6.5.3 Scan(扫描扫描)循环语句循环语句例例:使用使用 Scan循环结构编程。输出循环结构编程。输出CJB.DBF中中重修学生的学号和课程码重修学生的学号和课程码,并统计出重修人次数并统计出重修人次数如:如:For M=1 To 9For M=1 To 9For N=1 To MFor N=1 To M?Space(2),?Sp

19、ace(2),Str(M,1)Str(M,1),*,?Str(N,1),=,Str(M?Str(N,1),=,Str(M*N,2)N,2)Endfor Endfor?EndforEndfor 6.5.4 6.5.4 结构嵌套结构嵌套 例例 VFPVFP允许相互嵌套。但允许相互嵌套。但不允许交叉嵌套不允许交叉嵌套,即一个结构必须即一个结构必须完整地包含完整地包含在另一个结构中。在另一个结构中。书写源程序时多书写源程序时多采用缩进格式采用缩进格式。外层循环外层循环内层循环内层循环控制输出控制输出1 19 9行行 控制某一行的输出控制某一行的输出控制输出的格式,如直接换成:控制输出的格式,如直接换成

20、:M,M,会会产生很多不符合输出格式的空格产生很多不符合输出格式的空格另起一行输出另起一行输出控制程序的语句控制程序的语句 CancelCancel :结束当前程序的运行。:结束当前程序的运行。?DATE()?DATE()CANCELCANCEL?TIME()?TIME()执行程序执行程序结束结束程序的执行程序的执行输出系统当前日期输出系统当前日期不执行不执行此语句此语句X=1Suspend?X+Y控制程序的语句控制程序的语句?X?XX=4X=4ResumeResume输出结果为:输出结果为:6 暂停暂停执行程序期间执行程序期间,可执行交互命令可执行交互命令查看变量查看变量X X的值的值修改变

21、量修改变量X X的值的值继续继续执行执行SuspendSuspend的的下一语句下一语句6.3.1 6.3.1 输入字符串语句输入字符串语句AcceptAcceptAccept Accept To To 值作为值作为执行到此语句时的执行到此语句时的提示信息提示信息 按回车键按回车键结束输入时,系统将输入的字符串结束输入时,系统将输入的字符串赋赋值值给内存变量给内存变量。201113041620111304162011130416 请输入学号:请输入学号:输入的学号是:输入的学号是:例例允许输入允许输入任何类型表达式任何类型表达式。执行时,系统先输出字符表达式的值,然后执行时,系统先输出字符表达

22、式的值,然后,等待键入表达式等待键入表达式,按回车键按回车键表示结束输入,系表示结束输入,系统会将表达式的统会将表达式的值赋给内存变量值赋给内存变量。6.3.3 6.3.3 输入表达式语句输入表达式语句 InputInput InputInput To To 其值作为其值作为提示信息提示信息。省略时,则不输出任何。省略时,则不输出任何信息。信息。输入字符串输入字符串时必须时必须加上定界符加上定界符。若若只按回车键只按回车键或或输入非法输入非法表达式,则系统要表达式,则系统要求求重新输入数据。重新输入数据。字符型、数值型、日期(时间)型、关系字符型、数值型、日期(时间)型、关系型、逻辑型等表达式

23、型、逻辑型等表达式6.3.2 6.3.2 等待语句等待语句 WaitWaitWaitWait To To WindowWindow At At,NowaitNowait Clear|NoclearClear|Noclear Timeout Timeout 值作为值作为执行到此语句时的执行到此语句时的提示信息提示信息。省略省略时,时,则系统提示则系统提示“按任意键继续按任意键继续”。接收单个字符接收单个字符型数据型数据 。只按回车键只按回车键或或单击鼠单击鼠标标,则将,则将空字符空字符赋给内存变量。赋给内存变量。省略时省略时,则,则不不保留保留输入的字符。输入的字符。弹出弹出提示信息提示信息窗口

24、窗口 。省略省略时,提示信息时,提示信息显示在显示在VFPVFP主窗口主窗口或或应用程序窗口应用程序窗口 指定指定提示信息窗口的提示信息窗口的开始位置开始位置。WindowWindow和和NowaitNowait:弹出提示窗口后:弹出提示窗口后,程序程序不暂停不暂停,WindowWindow和和NoclearNoclear:在在执行执行下一条下一条Wait WindowWait Window或或Wait ClearWait Clear语句之语句之前前,系统系统不关闭不关闭提示提示信息窗口信息窗口。在在由数值表达式值由数值表达式值设定的秒数内设定的秒数内,按任意键或按任意键或等待超时等待超时,程

25、序将,程序将继续向下执行继续向下执行;当数值表达;当数值表达式值为式值为0 0时,相当于时,相当于省略省略TimeoutTimeout项项。当数值表。当数值表达式值达式值小于小于0 0时,将时,将立即结束立即结束此语句。此语句。程序暂停程序暂停执行,直到执行,直到按某个键按某个键或或单击鼠标后单击鼠标后才才继继续执行续执行后面的语句。后面的语句。6.3.4 6.3.4 定位输入输出语句定位输入输出语句 Say Say Get Get Default Default ReadRead 可以在可以在VFP主窗口或应用程序窗口的主窗口或应用程序窗口的指定指定位置输入位置输入/输出输出数据。数据。一个

26、一个Read语句可以与多个语句可以与多个 Get 语句语句结合。结合。Get 语句必须与语句必须与Read语句一语句一起使用才可以修改变量的值。起使用才可以修改变量的值。指定指定行号行号和和列号列号位置位置 在指定位置在指定位置输出表达式值输出表达式值 内存内存变量变量必须具必须具有初值有初值或由或由DefaultDefault指定初指定初值,以便指明变量的类型和长度;若是值,以便指明变量的类型和长度;若是字字段变量段变量,则,则显示当前显示当前记录的记录的字段值字段值。如果如果GetGet短语中的内存变量没有初值,可以短语中的内存变量没有初值,可以由由DefaultDefault指定初值指定

27、初值 当执行到当执行到Read时,光标时,光标自动停在自动停在第一个第一个 语语句的句的变量值上变量值上,可以,可以修改其值修改其值(数据类型必须(数据类型必须与初值相同)。按回车键后,光标停在第二个与初值相同)。按回车键后,光标停在第二个 语句的变量值上,依然可以修改其值。依语句的变量值上,依然可以修改其值。依次类推,直到所有的次类推,直到所有的 语句语句都执行完毕都执行完毕,才,才执行执行Read后面后面的语句。的语句。例例MessageboxMessagebox(,)例:例:MessageboxMessagebox(关闭电源关闭电源,1 1+4848+256256,警示警示)6.3.5

28、6.3.5 对话框函数对话框函数设置对话框中要设置对话框中要显示的信息显示的信息 说明对话框类型,数值表达式的值是说明对话框类型,数值表达式的值是按钮按钮编编码、码、图标图标编码和编码和默认按钮默认按钮编码的组合值,系编码的组合值,系统统默认值为默认值为。设置对话框的设置对话框的标题标题 。默认标题是。默认标题是“Microsoft Microsoft Visual FoxProVisual FoxPro”函数函数返回值由用户选择返回值由用户选择的按钮而定的按钮而定 包含按钮包含按钮设置图标设置图标 默认按钮默认按钮窗口标题窗口标题函数函数返回值返回值是是1 1显示的信息显示的信息开始开始循环

29、条件循环条件Y分支条件分支条件YLOOPN分支结构下面的语句分支结构下面的语句N循环后的语句循环后的语句结束结束 一旦一旦执行到执行到LoopLoop语句语句,就提前,就提前结束本次循环结束本次循环。不执行。不执行LoopLoop与与EnddoEnddo之间的语句,而之间的语句,而直接转直接转到到对应的对应的Do WhileDo While语句语句再次判断条件是否成立再次判断条件是否成立。Loop Loop 语句语句开始开始循环体前语句循环体前语句循环条件循环条件Y分支条件分支条件NEXITY分支结构后的语句分支结构后的语句N循环后的语句循环后的语句结束结束一旦一旦执行到执行到Exit语句,语句,就就结束整个循环结束整个循环。即 不 执 行即 不 执 行 E x i tE x i t 与与EnddoEnddo之间的语句,之间的语句,而而直接执行直接执行对应的对应的EnddoEnddo后面后面语句。语句。Exit Exit 语句语句

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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