结构化程序设计基础教学课件vf

上传人:san****019 文档编号:71480196 上传时间:2019-01-20 格式:PPT 页数:84 大小:2.28MB
返回 下载 相关 举报
结构化程序设计基础教学课件vf_第1页
第1页 / 共84页
结构化程序设计基础教学课件vf_第2页
第2页 / 共84页
结构化程序设计基础教学课件vf_第3页
第3页 / 共84页
结构化程序设计基础教学课件vf_第4页
第4页 / 共84页
结构化程序设计基础教学课件vf_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《结构化程序设计基础教学课件vf》由会员分享,可在线阅读,更多相关《结构化程序设计基础教学课件vf(84页珍藏版)》请在金锄头文库上搜索。

1、第6章 结构化程序设计基础,,吉林大学计算机教学与研究中心,Welcome !,2/65,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/65,6.2 程序的建立与执行,VFP源程序是用VFP命令或程序中专用语句编写的文本文件,其扩展名是PRG。,6.2.1 VFP专用程序编辑器,建立源程序文

2、件,方法一:“文件”菜单项“新建”选择“程序”“新建文件”。,方法二:使用常用工具栏的“新建”按钮。,4/65,6.2.1 VFP专用程序编辑器,说明1:此方法可以建立新程序文件,又可修改已有的程序文件。,方法三:在命令窗口中执行命令: Modify Command ,说明2:文件的扩展名可缺省,系统默认扩展名为.PRG。,5/65,6.2.1 VFP专用程序编辑器,方法四:在项目管理器中,进入“代码”选项卡,选择“程序”,单击“新建”。,说明3:一个命令行中只能写一条命令,若一行写不下,需使用分行符“;”。,6/65,6.2.1 VFP专用程序编辑器,保存程序文件,方法一:单击“文件”菜单项

3、“保存”。,方法二:单击“常用”工具栏里的“保存”按钮。,方法三:按 Ctrl+W 。,方法四:关闭程序编辑器,系统提示是否保存文件。,7/65,6.2.2 打开源程序文件,方法一:“文件”菜单项“打开”“文件类型”为“程序”选择文件“确定”,方法二:单击“常用”工具栏里的“打开”按钮。,方法三:在命令窗口中执行命令: Modify Command | ?,打开程序文件,8/65,6.2.3 程序的编译与执行,在VFP中,可以执行源程序、编译程序、应用程序和可执行程序种程序文件。,(1)源程序(PRG):源程序是文本文件,可以对其内容进行修改。只要有源程序文件,就可以生成其他3种程序文件。,执

4、行程序就是按照程序的内部控制结构执行文件中的相关语句序列。,程序文件的类型,9/65,6.2.3 程序的编译与执行,(2)编译程序(FXP):每个源程序文件都有对应的编译程序文件,执行编译程序比执行源程序的速度快。,(3)应用程序(APP):由多个文件(包括程序、表单和菜单等)连接成一个应用程序文件。,注意:以上三种文件都是在VFP环境下运行。,10/65,6.2.3 程序的编译与执行,(4)可执行程序(EXE):将多个文件(包括程序、表单和菜单等)连接成一个可执行程序文件,此种文件可以脱离VFP环境运行。,编译程序,当执行一个源程序时,系统自动将其编译为编译程序(FXP)。在VFP中允许只编

5、译而不执行程序。,11/65,6.2.3 程序的编译与执行,方法一:在程序编辑器中,单击“程序”菜单项“编译”。,方法二:单击“程序”菜单项“编译”选择“文件类型”为“程序”选择程序文件“编译”,编译方法为:,12/65,6.2.3 程序的编译与执行,执行程序,方法一:在程序编辑器中,“程序”菜单“执行”或“运行”常用工具“!”。,方法二:“程序”菜单“运行”选择“文件类型”为“程序”选择或输入程序文件名“运行”。,方法三:在程序或命令窗口中执行: Do ,13/65,6.2.3 程序的编译与执行,说明:当源程序(PRG)和编译程序(FXP)文件同时存在时,系统将执行距当前时间最近的程序文件。

6、,14/65,6.3.1 输入字符串语句,语句格式: Accept To ,“字符表达式”:作为执行到此语句时的提示信息。若无此项,则不输出任何信息。,内存变量:用来接收输入的字符串。若不输入任何字符,则将空字符赋值给内存变量。,例: Accept “请输入学号:” To XH ? ”输入的学号是:”+XH,15/65,6.3.2 等待语句,语句格式: Wait To Window At ,Nowait Clear|NoclearTimeout,“字符表达式”:提示信息。若无此项,则输出任何信息。,To 内存变量:用来接收输入的字符。若不输入任何字符,则将空字符赋值给内存变量。,16/65,6

7、.3.2 等待语句,Window At,:使用Window项表示在VFP主窗口的右上角弹出提示信息窗口。也可以使用At,指定提示信息窗口的开始位置。,Window和Nowait:弹出提示窗口后,程序不暂停,即不等用户按键,就继续执行后面的语句。,Window和Noclear:在执行下一条Wait Window或Wait Clear语句之前,系统不关闭提示信息窗口。,17/65,6.3.2 等待语句,Timeout :用于设定等待的秒数。在等待时间内按任意键或等待超时,程序将继续向下执行。,例:Wait “显示时间:“ Timeout 3 ? Time(),18/65,6.3.3 输入表达式语句

8、,语句格式: Input To ,说明:允许输入任何类型的表达式。Input输入字符串时必须加上定界符。,例6.5: N=2 Input “请输入数据: “ To M ? M,19/65,6.4.1 If 分支语句,语句格式: If Then Endif,开始,语句序列,结束,条件?,Y,N,分支结构后面语句,单分支If语句,其中IF-ENDIF必须配对出现。,20/65,6.4.1 If 分支语句,例: Input “请输入一个N:“ To N If N0 N=-N Endif ? “N的绝对值是:“, N,21/65,6.4.1 If 分支语句,双分支If语句,语句格式: If Then

9、ELSE Endif,开始,语句序列1,结束,条件?,Y,N,语句序列2,分支结构后面语句,22/65,6.4.1 If 分支语句,例,求两个数中较小值: Input “X=“ To X Input “Y=“ To Y If XY M=X Else M=Y Endif ? “ X与Y中的较小者是:“, M,23/65,6.4.2 If语句的嵌套,在If分支结构的语句序列中可以包含另一个If分支语句,称为If语句的嵌套。VFP中为了解决多分支问题,允许进行多层If嵌套。嵌套时,不允许出现交叉嵌套,即一个If语句块要完整地包含在另一个If语句序列之内。 例如:,24/65,6.4.2 If语句的嵌

10、套,Input “请输入一个数:“ To X If X0 Y=1 Else If X=0 Y=0 Else Y=-1 Endif Endif ? Y,25/65,6.4.2 If语句的嵌套,控制程序是否继续执行,例 6.8: ? DATE() & 输出系统日期 CANCEL & 结束本程序的执行 ? TIME() & 此语句得不到执行,(1)Cancel:结束当前程序的运行。,26/65,6.4.2 If语句的嵌套,控制程序是否继续执行,(2)Suspend:暂停程序的执行。暂停期间可以在命令窗口中执行交互命令。,(3)Resume:继续执行Suspend暂停的程序,从Suspend语句的下一

11、条继续。,例6.9: X=1 Suspend Y=2 ? X+Y,27/65,6.4.3 条件函数,函数格式: Iif(,),说明:若条件成立,则表达式1的值作为函数值;否则,表达式2的值作为函数值。,例如:Input “输入一个数N:“ To N M = Iif(N0,-N, N) ? ”N的绝对值是:”, M,28/65,6.4.4 多分支语句,开始,语句序列 1,结束,条件1?,Y,N,语句序列 2,条件2?,Y,N,语句序列 n,条件n?,Y,N,OTHERWISE,语句序列 n+1,多分支结构,29/65,6.4.4 多分支语句,语句格式: Do Case Case Case Cas

12、e Otherwise Endcase,30/65,6.4.4 多分支语句,说明1:执行时,系统从上向下依次对Case后面的条件进行判断,当条件不成立时,就判断下一个Case条件是否成立。一旦某个Case条件成立,就执行该Case与下一个Case(Otherwise或Endcase)之间的语句序列,然后执行Endcase后面的语句。,说明2:若所有条件都不成立,而有Otherwise项,则执行语句序列n+1,然后执行Endcase后面的语句;若所有条件都不成立,且无Otherwise项,则直接执行Endcase后面的语句。,31/65,6.4.4 多分支语句,例6.13: Input “请输入

13、一个数:“ To X Do Case Case X0 Y=1 Case X=0 Y=0 Otherwise Y=-1 Endcase ? Y,32/65,6.5 循环结构程序设计,循环结构指在执行程序过程中,重复执行某程序段。,在循环体中,可以利用Exit语句提前结束循环,也可利用Loop语句提前结束本次循环。,重复执行的程序段称为循环体,重复执行的次数称为循环次数。,33/65,6.5.1 Do While(当型)循环语句,语句格式: Do While Enddo,开始,语句序列,结束,条件?,Y,N,循环前的语句,循环体后的语句,语句序列,Y,说明:Do While与Enddo必须成对使用

14、。,34/65,6.5.1 Do While(当型)循环语句,例6.14,求前100个自然数的和: S=0 N=1 Do While N=100 S=S+N N=N+1 Enddo,S=1+2+3+4+100,35/65,例:P174-6.15 N=2 S=1 Do While N=5 S=S*N N=N+1 Enddo ?”5!等于:”,S,思考: 如何求任意数的阶乘?,36/65,例:P174-例6.17 Use CJB N=0 Do while !Eof() If 重修 ?”重修学号:”,学号,Space(4),”重修课程码:”,课程码 N=N+1 Endif Skip Enddo ?”

15、共有:”+Str(N,4)+”人次重修” Use,37/65,6.5.1 Do While(当型)循环语句,死循环,如果循环体中没有能执行到的、使条件趋于不成立的语句、结束循环或结束程序的语句,将永远执行不完循环体,即出现死循环。语句修改为:,Do While Loop Exit Enddo,38/65,6.5.1 Do While(当型)循环语句,(2)Exit:一旦执行到Exit语句,就结束整个循环。,(1)Loop:一旦执行到Loop语句,就提前结束本次循环。,例6.16,对键盘输入的每一个正数,输出其算术平方根;当输入的数小于或等于0时,结束程序。,39/65,开始,循环体前语句,循环体条件,Y,分支条件,Y,LOOP,N,分支结构下面的语句,N,循环体下面的语句,结束,无条件转向循环,语句格式(以当型循环为例) DO WHILE IF LOOP ENDIF ENDDO,40/65,例: 计算1100的奇数和。 *Ex3.prg store 0 to i, t do while i100 i=i+1 if int(i/2)=i/2 loop endif t=t+i enddo ? 1100奇数和为: , t,说明:int(N): 取整函数 此处用于判断i的奇偶性 思考:利用mod(N1,N

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号