结构化程序设计基础教学课件VF.ppt
《结构化程序设计基础教学课件VF.ppt》由会员分享,可在线阅读,更多相关《结构化程序设计基础教学课件VF.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6 6章章 结构化程序设计基础结构化程序设计基础吉林大学计算机教学与研究中心6.1 样本程序分析样本程序分析 MODIFY COMMANDMODIFY COMMAND Example_1 Example_1 INPUTINPUT “请输入数请输入数N:”N:”TO NTO N IFIF N 1 N 1?“输入的数输入的数:”,N N,太小!太小!CANCELCANCEL ENDIFENDIF STORE 1 TO I,S STORE 1 TO I,S DO WHILEDO WHILE I=N I=N S=S*I S=S*I I=I+1I=I+1 ENDDOENDDO?N N,“的阶乘是的阶
2、乘是:”,S S CANCEL CANCEL【例【例1 1】求数】求数N N的阶乘的阶乘26.2 程序的建立与执行程序的建立与执行 VFPVFP源源程程序序是是用用VFPVFP命命令令或或程程序序中中专专用用语语句编写的文本文件,其扩展名是句编写的文本文件,其扩展名是PRGPRG。6.2.1 VFP6.2.1 VFP专用程序编辑器专用程序编辑器建立源程序文件建立源程序文件方方法法一一:“文文件件”菜菜单单项项“新新建建”选选择择“程序程序”“”“新建文件新建文件”。方法二:方法二:使用常用工具栏的使用常用工具栏的“新建新建”按钮。按钮。36.2.1 VFP专用程序编辑器专用程序编辑器说明说明1
3、 1:此方法可以此方法可以建立建立新程序文件,又新程序文件,又可可修改修改已有的程序文件。已有的程序文件。方法三方法三:在命令窗口中执行命令:在命令窗口中执行命令:Modify Command 说明说明2 2:文件的扩展名可缺省,系统默认文件的扩展名可缺省,系统默认扩展名为扩展名为.PRGPRG。46.2.1 VFP专用程序编辑器专用程序编辑器方方法法四四:在在项项目目管管理理器器中中,进进入入“代代码码”选选项卡,选择项卡,选择“程序程序”,单击,单击“新建新建”。说明说明3 3:一个命令行中只能写一条命令,若一个命令行中只能写一条命令,若一行写不下,需使用分行符一行写不下,需使用分行符“;
4、”。56.2.1 VFP专用程序编辑器专用程序编辑器 保存程序文件保存程序文件方法一:方法一:单击单击“文件文件”菜单项菜单项“保存保存”。方方法法二二:单单击击“常常用用”工工具具栏栏里里的的“保保存存”按钮。按钮。方法三:方法三:按按 Ctrl+W Ctrl+W。方方法法四四:关关闭闭程程序序编编辑辑器器,系系统统提提示示是是否否保保存文件。存文件。66.2.2 打开源程序文件打开源程序文件方方法法一一:“文文件件”菜菜单单项项“打打开开”“”“文文件类型件类型”为为“程序程序”选择文件选择文件“确定确定”方方法法二二:单单击击“常常用用”工工具具栏栏里里的的“打打开开”按钮。按钮。方法三
5、:方法三:在命令窗口中执行命令:在命令窗口中执行命令:Modify Command|?打开程序文件打开程序文件76.2.3 程序的编译与执行程序的编译与执行 在在VFPVFP中中,可可以以执执行行源源程程序序、编编译译程程序序、应用程序和可执行程序种程序文件。应用程序和可执行程序种程序文件。(1 1)源源程程序序(PRG)(PRG):源源程程序序是是文文本本文文件件,可可以以对对其其内内容容进进行行修修改改。只只要要有有源源程程序序文文件件,就可以生成其他就可以生成其他3 3种程序文件。种程序文件。执执行行程程序序就就是是按按照照程程序序的的内内部部控控制制结结构构执行文件中的相关语句序列。执
6、行文件中的相关语句序列。程序文件的类型程序文件的类型 86.2.3 程序的编译与执行程序的编译与执行(2 2)编编译译程程序序(FXP)(FXP):每每个个源源程程序序文文件件都都有有对对应应的的编编译译程程序序文文件件,执执行行编编译译程程序序比比执执行行源程序的速度快。源程序的速度快。(3 3)应应用用程程序序(APP)(APP):由由多多个个文文件件(包包括括程程序序、表表单单和和菜菜单单等等)连连接接成成一一个个应应用用程程序序文文件。件。注意:注意:以上三以上三种文件都是在种文件都是在VFPVFP环境下运行。环境下运行。96.2.3 程序的编译与执行程序的编译与执行(4 4)可可执执
7、行行程程序序(EXE)(EXE):将将多多个个文文件件(包包括括程程序序、表表单单和和菜菜单单等等)连连接接成成一一个个可可执执行行程程序文件序文件,此种文件可以此种文件可以脱离脱离VFPVFP环境运行。环境运行。编译程序编译程序 当当执执行行一一个个源源程程序序时时,系系统统自自动动将将其其编编译译为为编编译译程程序序(FXP)(FXP)。在在VFPVFP中中允允许许只只编编译译而而不执行程序。不执行程序。106.2.3 程序的编译与执行程序的编译与执行方法一:方法一:在程序编辑器中,单击在程序编辑器中,单击“程序程序”菜单项菜单项“编译编译”。方方法法二二:单单击击“程程序序”菜菜单单项项
8、“编编译译”选选择择“文文件件类类型型”为为“程程序序”选选择择程序文件程序文件“编译编译”编译方法为:编译方法为:116.2.3 程序的编译与执行程序的编译与执行执行程序执行程序 方方法法一一:在在程程序序编编辑辑器器中中,“程程序序”菜菜单单“执行执行”或或“运行运行”常用工具常用工具“!”!”。方方法法二二:“程程序序”菜菜单单“运运行行”选选择择“文文件件类类型型”为为“程程序序”选选择择或或输输入入程程序文件名序文件名“运行运行”。方法三方法三:在程序或命令窗口中执行:在程序或命令窗口中执行:Do 126.2.3 程序的编译与执行程序的编译与执行说明:说明:当源程序当源程序(PRG)
9、(PRG)和编译程序和编译程序(FXP)(FXP)文件文件同时存在时,系统将执行距当前时间最近的同时存在时,系统将执行距当前时间最近的程序文件。程序文件。136.3.1 输入字符串语句输入字符串语句语句格式:语句格式:Accept To “字字符符表表达达式式”:作作为为执执行行到到此此语语句句时时的的提提示信息。若无此项,则不输出任何信息。示信息。若无此项,则不输出任何信息。内内存存变变量量:用用来来接接收收输输入入的的字字符符串串。若若不不输输入任何字符,则将入任何字符,则将空字符空字符赋值给内存变量。赋值给内存变量。例:例:Accept“Accept“请输入学号请输入学号:”To XH:
10、”To XH?”?”输入的学号是:输入的学号是:”+XH+XH 146.3.2 等待语句等待语句语句格式:语句格式:Wait To To Window At Window At,NowaitNowait Clear|NoclearTimeout Clear|NoclearTimeout “字字符符表表达达式式”:提提示示信信息息。若若无无此此项项,则则输出任何信息。输出任何信息。To To 内内存存变变量量:用用来来接接收收输输入入的的字字符符。若若不不输输入任何字符,则将入任何字符,则将空字符空字符赋值给内存变量。赋值给内存变量。156.3.2 等待语句等待语句Window Window A
11、tAt,:使使用用WindowWindow项项表表示示在在VFPVFP主主窗窗口口的的右右上上角角弹弹出出提提示示信信息息窗窗口口。也也可可以以使使用用AtAt,指指定定提提示示信信息息窗窗口口的的开开始位置。始位置。WindowWindow和和NowaitNowait:弹弹出出提提示示窗窗口口后后,程程序序不不暂暂停停,即即不不等等用用户户按按键键,就就继继续续执执行行后后面面的的语句。语句。WindowWindow和和 NoclearNoclear:在在 执执 行行 下下 一一 条条 Wait Wait WindowWindow或或Wait Wait ClearClear语语句句之之前前,
12、系系统统不不关关闭闭提提示信息窗口。示信息窗口。166.3.2 等待语句等待语句Timeout Timeout:用用于于设设定定等等待待的的秒秒数数。在在等等待待时时间间内内按按任任意意键键或或等等待待超超时时,程程序序将继续向下执行。将继续向下执行。例:例:Wait Wait 显示时间:显示时间:Timeout 3 Timeout 3?Time()?Time()176.3.3 输入表达式语句输入表达式语句 语句格式:语句格式:Input To 说说明明:允允许许输输入入任任何何类类型型的的表表达达式式。InputInput输输入字符串时必须加上定界符。入字符串时必须加上定界符。例:例:N=2
13、N=2Input Input 请输入数据:请输入数据:To M To M?M?M186.4.1 If 分支语句分支语句 语句格式:语句格式:If Then Then 1 Endif开始开始语句语句序列序列结束结束条件条件?YN分支结构分支结构后面语句后面语句单分支单分支IfIf语句语句Y其其中中IF-ENDIFIF-ENDIF必必须须配对出现。配对出现。196.4.1 If 分支语句分支语句例:例:Input Input 请输入一个请输入一个N N:To N To NIf N0 If N0 N=-N N=-N EndifEndif?N?N的绝对值是:的绝对值是:,N,N206.4.1 If 分
14、支语句分支语句双分支双分支IfIf语句语句 语句格式:语句格式:If ThenThen 1 ELSE Endif开始开始语句序列语句序列1结束结束条件条件?YN语句序列语句序列2分支结构分支结构后面语句后面语句216.4.1 If 分支语句分支语句例,求两个数中较小值:例,求两个数中较小值:Input X=To XInput X=To XInput Y=To YInput Y=To YIf XYIf X0)0 (X=0)1(X0If X0Y=1Y=1ElseElseIf X=0If X=0Y=0Y=0ElseElseY=-1Y=-1EndifEndifEndifEndif?Y?Y246.4.2
15、 If语句的嵌套语句的嵌套控制程序是否继续执行控制程序是否继续执行 例例 :?DATE()&?DATE()&输出系统日期输出系统日期CANCEL&CANCEL&结束本程序的执行结束本程序的执行?TIME()&?TIME()&此语句得不到执行此语句得不到执行(1 1)CancelCancel:结束当前程序的运行。结束当前程序的运行。256.4.2 If语句的嵌套语句的嵌套控制程序是否继续执行控制程序是否继续执行 (2 2)SuspendSuspend:暂暂停停程程序序的的执执行行。暂暂停停期期间间可以在命令窗口中执行交互命令。可以在命令窗口中执行交互命令。(3 3)ResumeResume:继继
16、续续执执行行SuspendSuspend暂暂停停的的程程序,从序,从SuspendSuspend语句的下一条继续。语句的下一条继续。例例6.9:6.9:X=1X=1SuspendSuspendY=2Y=2?X+Y?X+Y266.4.3 条件函数条件函数 函数格式:函数格式:Iif(,)2)说说明明:若若条条件件成成立立,则则表表达达式式1 1的的值值作作为为函函数值;否则,表达式数值;否则,表达式2 2的值作为函数值。的值作为函数值。例如:例如:Input Input 输入一个数输入一个数N N:To N To N M M=Iif(N0,-N,N)Iif(N0,-N,N)?”N?”N的绝对值是
17、:的绝对值是:”,M,M276.4.4 多分支语句多分支语句 开始开始语句语句序列序列 1结束结束条件条件1?YN语句序列语句序列 2条件条件2?YN语句序列语句序列 n条件条件n?YNOTHERWISE语句序列语句序列 n+1.多分支结构多分支结构286.4.4 多分支语句多分支语句语句格式:语句格式:Do CaseCase 1 1Case 2 2Case n n Otherwise n+1 Endcase296.4.4 多分支语句多分支语句说说明明1 1:执执行行时时,系系统统从从上上向向下下依依次次对对CaseCase后后面面的的条条件件进进行行判判断断,当当条条件件不不成成立立时时,就
18、就判判断断下下一一个个CaseCase条条件件是是否否成成立立。一一旦旦某某个个CaseCase条条件件成成 立立,就就 执执 行行 该该 CaseCase与与 下下 一一 个个CaseCase(OtherwiseOtherwise或或EndcaseEndcase)之之间间的的语语句句序序列列,然后执行然后执行EndcaseEndcase后面的语句。后面的语句。说说明明2 2:若若所所有有条条件件都都不不成成立立,而而有有OtherwiseOtherwise项项,则则执执行行语语句句序序列列n+1n+1,然然后后执执行行EndcaseEndcase后后面面的的语语句句;若若所所有有条条件件都都
19、不不成成立立,且且无无OtherwiseOtherwise项,则直接执行项,则直接执行EndcaseEndcase后面的语句。后面的语句。306.4.4 多分支语句多分支语句例:例:Input Input 请输入一个数:请输入一个数:To X To XDo CaseDo CaseCase X0Case X0Y=1Y=1Case X=0Case X=0Y=0Y=0Otherwise Otherwise Y=-1Y=-1EndcaseEndcase?Y?Y1 (X0)0 (X=0)1(X0)Y=316.5 循环结构程序设计循环结构程序设计 循循环环结结构构指指在在执执行行程程序序过过程程中中,重重
20、复复执执行行某某程序段。程序段。在在循循环环体体中中,可可以以利利用用Exit语语句句提提前前结结束束循循环,也可利用环,也可利用Loop语句提前结束本次循环。语句提前结束本次循环。重重复复执执行行的的程程序序段段称称为为循循环环体体,重重复复执执行行的的次数称为次数称为循环次数循环次数。326.5.1 Do While(当型当型)循环语句循环语句 语句格式:语句格式:Do While Enddo 开始开始语句序列语句序列 结束结束条件条件?YN循环前的语句循环前的语句循环体后的语句循环体后的语句语句序列语句序列 Y说说明明:Do Do WhileWhile与与EnddoEnddo必须必须成对
21、成对使用。使用。336.5.1 Do While(当型当型)循环语句循环语句例,求前例,求前100100个自然数的和:个自然数的和:S=0 S=0 N=1 N=1 Do While N=100 Do While N=100 S=S+NS=S+NN=N+1N=N+1EnddoEnddo循环条件循环体S=1+2+3+4+10034v例例 N=2 S=1 Do While N=5 S=S*N N=N+1 Enddo?”5!等于等于:”,S 思考思考:如何求任意如何求任意数的阶乘数的阶乘?35v例例:P174-例例 Use CJB N=0 Do while!Eof()If 重修重修?”重修学号重修学号
22、:”,学号学号,Space(4),”重修课程码重修课程码:”,课课程码程码 N=N+1 Endif Skip Enddo?”共有共有:”+Str(N,4)+”人次重修人次重修”Use366.5.1 Do While(当型当型)循环语句循环语句死循环死循环如如果果循循环环体体中中没没有有能能执执行行到到的的、使使条条件件趋趋于于不不成成立立的的语语句句、结结束束循循环环或或结结束束程程序序的的语语句句,将将永永远远执执行行不不完完循循环环体体,即即出出现现死死循循环环。语语句修改为:句修改为:Do WhileDo While LoopLoop 2 ExitExit 3 EnddoEnddo376
23、.5.1 Do While(当型当型)循环语句循环语句(2 2)ExitExit:一一旦旦执执行行到到ExitExit语语句句,就就结结束束整整个循环个循环。(1 1)LoopLoop:一一旦旦执执行行到到LoopLoop语语句句,就就提提前前结结束本次循环。束本次循环。例例,对对键键盘盘输输入入的的每每一一个个正正数数,输输出出其其算算术术平平方根;当输入的数小于或等于方根;当输入的数小于或等于0 0时,结束程序。时,结束程序。38开始开始循环体前语句循环体前语句循环体条件循环体条件Y分支条件分支条件YLOOPN分支结构下面的语句分支结构下面的语句N循环体下面的语句循环体下面的语句结束结束
24、无条件转向循环无条件转向循环 语句格式语句格式(以当型循环为例以当型循环为例)DO WHILE IF LOOP ENDIF ENDDO39 例例:计算计算1100的奇数和。的奇数和。*store 0 to i,tdo while i100 i=i+1 if int(i/2)=i/2 loop endif t=t+ienddo?1100奇数和为:,t说明:说明:int(N):取整函数取整函数 此处用于判断此处用于判断i的奇偶性的奇偶性思考:利用思考:利用mod(N1,N2)如何如何 判断奇偶性?判断奇偶性?40开始开始循环体前语句循环体前语句循环体条件循环体条件Y分支条件分支条件NEXITY分支
25、结构下面的语句分支结构下面的语句N循环体下面的语句循环体下面的语句结束结束 无条件跳出循环无条件跳出循环 语句格式语句格式(以当型循环为例以当型循环为例)DO WHILE IF EXIT ENDIF ENDDO41例:例:P174_P174_【例例】DO WHILE .T.CLEAR INPUT “请输入一个数:请输入一个数:”TO X IF Vartype(X)!=N WAIT 不是数值型数据不是数值型数据 LOOP ENDIF IF X 0 EXIT ENDIF?X,的算术平方根为:的算术平方根为:,SQRT(X)WAIT ENDDO?输入的数不大于输入的数不大于0,结束程序结束程序!42
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 程序设计 基础 教学 课件 VF
限制150内