结构化程序设计基础教学课件VF.ppt
《结构化程序设计基础教学课件VF.ppt》由会员分享,可在线阅读,更多相关《结构化程序设计基础教学课件VF.ppt(84页珍藏版)》请在三一办公上搜索。
1、第6章 结构化程序设计基础,吉林大学计算机教学与研究中心,Welcome!,2,6.1 样本程序分析,MODIFY COMMAND Example_1 INPUT“请输入数N:”TO N IF N 1?“输入的数:”,N,太小!CANCEL ENDIF STORE 1 TO I,S DO WHILE I=N S=S*I I=I+1 ENDDO?N,“的阶乘是:”,S CANCEL,【例1】求数N的阶乘,3,6.2 程序的建立与执行,VFP源程序是用VFP命令或程序中专用语句编写的文本文件,其扩展名是PRG。,6.2.1 VFP专用程序编辑器,建立源程序文件,方法一:“文件”菜单项“新建”选择“
2、程序”“新建文件”。,方法二:使用常用工具栏的“新建”按钮。,4,6.2.1 VFP专用程序编辑器,说明1:此方法可以建立新程序文件,又可修改已有的程序文件。,方法三:在命令窗口中执行命令:Modify Command,说明2:文件的扩展名可缺省,系统默认扩展名为.PRG。,5,6.2.1 VFP专用程序编辑器,方法四:在项目管理器中,进入“代码”选项卡,选择“程序”,单击“新建”。,说明3:一个命令行中只能写一条命令,若一行写不下,需使用分行符“;”。,6,6.2.1 VFP专用程序编辑器,保存程序文件,方法一:单击“文件”菜单项“保存”。,方法二:单击“常用”工具栏里的“保存”按钮。,方法
3、三:按 Ctrl+W。,方法四:关闭程序编辑器,系统提示是否保存文件。,7,6.2.2 打开源程序文件,方法一:“文件”菜单项“打开”“文件类型”为“程序”选择文件“确定”,方法二:单击“常用”工具栏里的“打开”按钮。,方法三:在命令窗口中执行命令:Modify Command|?,打开程序文件,8,6.2.3 程序的编译与执行,在VFP中,可以执行源程序、编译程序、应用程序和可执行程序种程序文件。,(1)源程序(PRG):源程序是文本文件,可以对其内容进行修改。只要有源程序文件,就可以生成其他3种程序文件。,执行程序就是按照程序的内部控制结构执行文件中的相关语句序列。,程序文件的类型,9,6
4、.2.3 程序的编译与执行,(2)编译程序(FXP):每个源程序文件都有对应的编译程序文件,执行编译程序比执行源程序的速度快。,(3)应用程序(APP):由多个文件(包括程序、表单和菜单等)连接成一个应用程序文件。,注意:以上三种文件都是在VFP环境下运行。,10,6.2.3 程序的编译与执行,(4)可执行程序(EXE):将多个文件(包括程序、表单和菜单等)连接成一个可执行程序文件,此种文件可以脱离VFP环境运行。,编译程序,当执行一个源程序时,系统自动将其编译为编译程序(FXP)。在VFP中允许只编译而不执行程序。,11,6.2.3 程序的编译与执行,方法一:在程序编辑器中,单击“程序”菜单
5、项“编译”。,方法二:单击“程序”菜单项“编译”选择“文件类型”为“程序”选择程序文件“编译”,编译方法为:,12,6.2.3 程序的编译与执行,执行程序,方法一:在程序编辑器中,“程序”菜单“执行”或“运行”常用工具“!”。,方法二:“程序”菜单“运行”选择“文件类型”为“程序”选择或输入程序文件名“运行”。,方法三:在程序或命令窗口中执行:Do,13,6.2.3 程序的编译与执行,说明:当源程序(PRG)和编译程序(FXP)文件同时存在时,系统将执行距当前时间最近的程序文件。,14,6.3.1 输入字符串语句,语句格式:Accept To,“字符表达式”:作为执行到此语句时的提示信息。若无
6、此项,则不输出任何信息。,内存变量:用来接收输入的字符串。若不输入任何字符,则将空字符赋值给内存变量。,例:Accept“请输入学号:”To XH?”输入的学号是:”+XH,15,6.3.2 等待语句,语句格式:Wait To Window At,Nowait Clear|NoclearTimeout,“字符表达式”:提示信息。若无此项,则输出任何信息。,To 内存变量:用来接收输入的字符。若不输入任何字符,则将空字符赋值给内存变量。,16,6.3.2 等待语句,Window At,:使用Window项表示在VFP主窗口的右上角弹出提示信息窗口。也可以使用At,指定提示信息窗口的开始位置。,W
7、indow和Nowait:弹出提示窗口后,程序不暂停,即不等用户按键,就继续执行后面的语句。,Window和Noclear:在执行下一条Wait Window或Wait Clear语句之前,系统不关闭提示信息窗口。,17,6.3.2 等待语句,Timeout:用于设定等待的秒数。在等待时间内按任意键或等待超时,程序将继续向下执行。,例:Wait 显示时间:Timeout 3?Time(),18,6.3.3 输入表达式语句,语句格式:Input To,说明:允许输入任何类型的表达式。Input输入字符串时必须加上定界符。,例6.5:N=2Input 请输入数据:To M?M,19,6.4.1 I
8、f 分支语句,语句格式:If Then Endif,开始,语句序列,结束,条件?,Y,N,分支结构后面语句,单分支If语句,其中IF-ENDIF必须配对出现。,20,6.4.1 If 分支语句,例:Input 请输入一个N:To NIf N0 N=-N Endif?N的绝对值是:,N,21,6.4.1 If 分支语句,双分支If语句,语句格式:If Then ELSE Endif,开始,语句序列1,结束,条件?,Y,N,语句序列2,分支结构后面语句,22,6.4.1 If 分支语句,例,求两个数中较小值:Input X=To XInput Y=To YIf XYM=XElseM=YEndif?
9、X与Y中的较小者是:,M,23,6.4.2 If语句的嵌套,在If分支结构的语句序列中可以包含另一个If分支语句,称为If语句的嵌套。VFP中为了解决多分支问题,允许进行多层If嵌套。嵌套时,不允许出现交叉嵌套,即一个If语句块要完整地包含在另一个If语句序列之内。例如:,24,6.4.2 If语句的嵌套,Input 请输入一个数:To XIf X0Y=1ElseIf X=0Y=0ElseY=-1EndifEndif?Y,25,6.4.2 If语句的嵌套,控制程序是否继续执行,例 6.8:?DATE()&输出系统日期CANCEL&结束本程序的执行?TIME()&此语句得不到执行,(1)Canc
10、el:结束当前程序的运行。,26,6.4.2 If语句的嵌套,控制程序是否继续执行,(2)Suspend:暂停程序的执行。暂停期间可以在命令窗口中执行交互命令。,(3)Resume:继续执行Suspend暂停的程序,从Suspend语句的下一条继续。,例6.9:X=1SuspendY=2?X+Y,27,6.4.3 条件函数,函数格式:Iif(,),说明:若条件成立,则表达式1的值作为函数值;否则,表达式2的值作为函数值。,例如:Input 输入一个数N:To N M=Iif(N0,-N,N)?”N的绝对值是:”,M,28,6.4.4 多分支语句,开始,语句序列 1,结束,条件1?,Y,N,语句
11、序列 2,条件2?,Y,N,语句序列 n,条件n?,Y,N,OTHERWISE,语句序列 n+1,.,多分支结构,29,6.4.4 多分支语句,语句格式:Do CaseCase Case Case Otherwise Endcase,30,6.4.4 多分支语句,说明1:执行时,系统从上向下依次对Case后面的条件进行判断,当条件不成立时,就判断下一个Case条件是否成立。一旦某个Case条件成立,就执行该Case与下一个Case(Otherwise或Endcase)之间的语句序列,然后执行Endcase后面的语句。,说明2:若所有条件都不成立,而有Otherwise项,则执行语句序列n+1,
12、然后执行Endcase后面的语句;若所有条件都不成立,且无Otherwise项,则直接执行Endcase后面的语句。,31,6.4.4 多分支语句,例6.13:Input 请输入一个数:To XDo CaseCase X0Y=1Case X=0Y=0Otherwise Y=-1Endcase?Y,32,6.5 循环结构程序设计,循环结构指在执行程序过程中,重复执行某程序段。,在循环体中,可以利用Exit语句提前结束循环,也可利用Loop语句提前结束本次循环。,重复执行的程序段称为循环体,重复执行的次数称为循环次数。,33,6.5.1 Do While(当型)循环语句,语句格式:Do While
13、 Enddo,开始,语句序列,结束,条件?,Y,N,循环前的语句,循环体后的语句,语句序列,Y,说明:Do While与Enddo必须成对使用。,34,6.5.1 Do While(当型)循环语句,例6.14,求前100个自然数的和:S=0 N=1 Do While N=100 S=S+NN=N+1Enddo,S=1+2+3+4+100,35,例:P174-6.15 N=2 S=1 Do While N=5 S=S*N N=N+1 Enddo?”5!等于:”,S,思考:如何求任意数的阶乘?,36,例:P174-例6.17 Use CJB N=0 Do while!Eof()If 重修?”重修学
14、号:”,学号,Space(4),”重修课程码:”,课程码 N=N+1 Endif Skip Enddo?”共有:”+Str(N,4)+”人次重修”Use,37,6.5.1 Do While(当型)循环语句,死循环,如果循环体中没有能执行到的、使条件趋于不成立的语句、结束循环或结束程序的语句,将永远执行不完循环体,即出现死循环。语句修改为:,Do While Loop Exit Enddo,38,6.5.1 Do While(当型)循环语句,(2)Exit:一旦执行到Exit语句,就结束整个循环。,(1)Loop:一旦执行到Loop语句,就提前结束本次循环。,例6.16,对键盘输入的每一个正数,
15、输出其算术平方根;当输入的数小于或等于0时,结束程序。,39,开始,循环体前语句,循环体条件,Y,分支条件,Y,LOOP,N,分支结构下面的语句,N,循环体下面的语句,结束,无条件转向循环,语句格式(以当型循环为例)DO WHILE IF LOOP ENDIF ENDDO,40,例:计算1100的奇数和。*Ex3.prgstore 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)如何 判断奇偶性?,41,开
16、始,循环体前语句,循环体条件,Y,分支条件,N,EXIT,Y,分支结构下面的语句,N,循环体下面的语句,结束,无条件跳出循环,语句格式(以当型循环为例)DO WHILE IF EXIT ENDIF ENDDO,42,例:P174_【例6.16】*E6_16.prg 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,结束程序!,43,6.5.2 For(步长型)循环语句,语句格式:F
17、or=To Step Endfor|Next,说明2:若步长缺省,默认值为1。,说明1:初值、终值和步长应为数值型表达式,44,6.5.2 For(步长型)循环语句,例6.19,求前100个自然数的和:S=0For N=1 To 100 S=S+NEndfor?1+2+3+98+99+100=,S,45,6.5.3 Scan(扫描)循环语句,语句格式:Scan For While Endscan,说明1:Scan和Endscan必须成对使用。此循环语句用于处理与数据表有关的循环问题,功能等效于:,Locate ForWhileDo While Found()ContinueEnddo,46,6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 程序设计 基础 教学 课件 VF

链接地址:https://www.31ppt.com/p-6056604.html