资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1第六章第六章结构化程序设计结构化程序设计 2第第6章章 结构化程序设计结构化程序设计 6.1 程序程序设计 6.2 VFP程序程序设计基基础 6.3 程序的控制程序的控制结构构 6.4 多模多模块程序程序 36.16.1程序设计程序设计程序设计程序设计程序程序:(Program)是一组能够完成特定任务的)是一组能够完成特定任务的指令序列,按照特定的逻辑关系以一定的结构组指令序列,按照特定的逻辑关系以一定的结构组织在一起,并以文件的形式存储在计算机外部设织在一起,并以文件的形式存储在计算机外部设备上。备上。程序设计程序设计:根据特定的问题,使用某种程序设计根据特定的问题,使用某种程序设计语言编写的,计算机可以执行的指令序列。语言编写的,计算机可以执行的指令序列。 46.2 VFP6.2 VFP程序设计基础程序设计基础程序设计基础程序设计基础程序基本操作步骤:程序基本操作步骤:1.文件文件新建新建程序程序2.输入程序语句输入程序语句3.保存文件名为:保存文件名为:pro14.程序程序运行运行pro1x=34y=45z=67?x+y+z?(x+y+z)/3例:求三个数的总和及平均值。例:求三个数的总和及平均值。 5命令方式:命令方式:1.建立或修改程序:建立或修改程序:modify command 程序名程序名4.运行程序:运行程序:do 程序名程序名注意:程序文件扩展名:注意:程序文件扩展名:prg input 提示信息提示信息 to 内存变量内存变量 accept 提示信息提示信息 to 内存变量内存变量 wait 提示信息提示信息 to 内存变量内存变量输入命令输入命令注意注意:input命令可用于各种类型数据的输入命令可用于各种类型数据的输入,输入字符型数据需要加定界输入字符型数据需要加定界符。符。 Accept命令只限于输入字符型数据。输入时内容不需要加定界符。命令只限于输入字符型数据。输入时内容不需要加定界符。 Wait一般起到等待的作用。一般起到等待的作用。 7ClearUse djksaccept “请输入考号请输入考号:” to x &将将accept 改成改成input 再运行再运行Loca for 考号考号=xDisp 考号考号,姓名姓名,笔试笔试,上机上机,结论结论Use wait 谢谢使用谢谢使用! windows timeout 3 return例:成绩查询。例:成绩查询。 8在程序开始使用在程序开始使用note加注释。加注释。在语句前用在语句前用*加注释。加注释。在语句后用在语句后用& 加注释。加注释。加注释加注释 9ClearSet talk offUse xsdaaverage 成绩成绩Set talk onaverage 成绩成绩set talk on/off 作用:关闭对话状态。作用:关闭对话状态。Set safety on/off 作用:作用: 提供或取消安全保护。提供或取消安全保护。use xsdacopy to abcuse abczapset safety offzap 10set heading on/off显示显示/不显示字段名不显示字段名use xsdadispset heading offdisp?date( )?time( )?date( )10,10 say date( )?不换行显示不换行显示在第几行第几列显示内容在第几行第几列显示内容 116.36.3程序的基本控制结构程序的基本控制结构程序的基本控制结构程序的基本控制结构6.3.1 顺序结构顺序结构 6.3.2 选择结构选择结构6.3.3 循环结构循环结构 126. 3 程序的基本控制结构程序的基本控制结构顺序,选择,循环三种基本结构顺序,选择,循环三种基本结构一一.顺序结构顺序结构 按照程序语句一条一条的顺序的往下执行。按照程序语句一条一条的顺序的往下执行。二二.选择结构选择结构根据不同的条件,选择执行不同的程序语句,用来解决根据不同的条件,选择执行不同的程序语句,用来解决有选择,有转移的诸多问题。有选择,有转移的诸多问题。三三.循环结构循环结构使一些语名重复地执行若干次。使一些语名重复地执行若干次。 13顺顺序序结结构构流流程程图图程序语句程序语句1程序语句程序语句26.3.1顺序结构顺序结构 14双双分分支支选选择择结结构构流流程程图图条件?条件?语句序列语句序列1语句序列语句序列2其它语句其它语句YESNO 15条件?条件?YES程序语句程序语句其它语句其它语句NO循循环环结结构构流流程程图图 16例例:查找查找djks表中有没有叫刘表中有没有叫刘宁这个学生,显示有关信息。宁这个学生,显示有关信息。ClearUse djksLoca for 姓名姓名=“刘宁刘宁Disp 考号考号,姓名姓名,笔试笔试,上机上机,结论结论Use return结束结束清除屏幕清除屏幕打开打开djks表表查找名为刘宁的记录查找名为刘宁的记录显示该学生的情况显示该学生的情况 关闭表关闭表程序流程示意图程序流程示意图 17顺序结构课堂练习:顺序结构课堂练习:任意输入四个数,找出任意输入四个数,找出四个数的最大值和最小值。四个数的最大值和最小值。提示提示1:任意输入一个数用:任意输入一个数用input命令实现。命令实现。例如:例如:input “请输入第一个数请输入第一个数” to x提示提示2:利用利用MAX( ),),MIN( )函数。)函数。 例如:例如: ?MAX(4,5,6,2)值为)值为6 18clearInput 请输入第请输入第1个数个数 to x1Input 请输入第请输入第2个数个数 to x2Input 请输入第请输入第3个数个数 to x3Input 请输入第请输入第4个数个数 to x4m=max(x1,x2,x3,x4) n=min(x1,x2,x3,x4)?m,nreturn任意输入任意输入的四个数的四个数求出最大值求出最大值和最小值和最小值输出结果输出结果程序结束程序结束答案答案: 196.3.2选择结构选择结构基本形式有三种基本形式有三种:单分支、双分支、多分支。单分支、双分支、多分支。1.单分支结构单分支结构IF 条件表达式条件表达式 命令行序列命令行序列 ENDIF语句格式:语句格式:条件?条件?语句序列语句序列ENDIF后续语句后续语句YES流程示意图流程示意图NO 20ClearUse djksaccept 请输入考号请输入考号: to xLoca for 考号考号=xif found( )Disp 考号考号,姓名姓名,笔试笔试,上机上机,结论结论endifUse return单分支结构单分支结构例:成绩查询,找到则显示成绩。例:成绩查询,找到则显示成绩。 212.双分支结构双分支结构语句格式:语句格式:IF 条件表达式条件表达式 命令行序列命令行序列1ELSE 命令行序列命令行序列2ENDIF功能功能:即根据用户设置的条件表达式的值即根据用户设置的条件表达式的值,选择两个选择两个操作中的一个来执行操作中的一个来执行. 22ClearUse djksaccept 请输入考号请输入考号: to xLoca for 考号考号=xif found( )Disp 考号考号,姓名姓名,笔试笔试,上机上机,结论结论Else?无此人无此人“endifUse return双分支结构双分支结构例:成绩查询,找到则显示成绩,没找到则显示无此人。例:成绩查询,找到则显示成绩,没找到则显示无此人。 23 课堂练习l任意输入一个数任意输入一个数,如果这个数大于零则在如果这个数大于零则在屏幕上显示屏幕上显示你好你好,否则在屏幕上显示否则在屏幕上显示再见再见。 24答案input 请输入数: to xif x0?你好else?再见endif 25clearinput 请输入三角形的第一边请输入三角形的第一边: to ainput 请输入三角形的第二边请输入三角形的第二边: to binput 请输入三角形的第三边请输入三角形的第三边: to cif a0 and b0 and c0 if a+bc and b+ac and a+cb p=(a+b+c)/2 s=sqrt(p*(p-a)*(p-b)*(p-c) ?三角形的三边长分别为三角形的三边长分别为:,a,b,c ?三角形面积为三角形面积为:,round(s,2) else ?此三边不能构成三角形此三边不能构成三角形! endif else ?三角形边长必须大于三角形边长必须大于0! endif例例任意输入三个数,如果这三个数能构成三角形的三任意输入三个数,如果这三个数能构成三角形的三边,计算该三角形面积,否则输入错误信息。边,计算该三角形面积,否则输入错误信息。 26DO CASECASE 条件表达式条件表达式1命令行序列命令行序列1CASE 条件表达式条件表达式2命令行序列命令行序列2CASE 条件表达式条件表达式N命令行序列命令行序列NOTHERWISE 命令行序列命令行序列N+1ENDCASE3.多分支结构多分支结构 27y=2*x-5 x1 y=2*x 1=x=10 练习练习 (利用(利用do case endcase 语句)计算语句)计算y值。值。 28clearinput 请输入请输入X的值的值 TO Xdo case case X1 Y=2*X-5 case X=10 Y=2*X+5endcase?y 296.3.3循环结构循环结构DO WHILE LOOPEXIT ENDDO 30DO WHILE 型循环也叫当型循环,即根据型循环也叫当型循环,即根据条件表达式的值条件表达式的值,决定循环体内的执行次数。决定循环体内的执行次数。最简单的循环格式为最简单的循环格式为:DO WHILE ENDDO 31cleari=5do while i0 ?LOVE i=i-1enddo 32X=1DO WHILE X50?XX=X*3ENDDO 33计算计算1+2+100s=0i=1Do while ia(i) temp=a(1) a(1)=a(i) a(i)=temp endifendfor? 5个数中最小数是个数中最小数是:,a(1)例例2:任意输入任意输入5个数,找出最小值。个数,找出最小值。 42cleardime a(5)for i=1 to 5input 请输入第请输入第 + str(i,1) + 个数:个数: to a(i)endforfor i=2 to 5 if a(1)a(i) temp=a(1) a(1)=a(i) a(i)=temp endifendfor? 5个数中最小数是个数中最小数是:,a(1)例例3:输出任意行数正三角。输出任意行数正三角。 436.46.4多模块程序多模块程序多模块程序多模块程序调用子程序:调用子程序:do 子程序名子程序名 with 参数参数返回返回:return 44例:例:任意输入一个数,计算以该数为半径的圆面积。任意输入一个数,计算以该数为半径的圆面积。cleararea=0input 请输入半径请输入半径 to r if r=0 ?半径必须大于半径必须大于0! else do area with r,area endif?半径是半径是:,r?面积是面积是: ,areapara r1,ss=pi()*r1*r1return主程序主程序main子程序子程序area45s=0for i=3 to 5 i=i+2 s=s+inext?s程序程序1程序程序2c=a=沈阳农大沈阳农大b=程序设计程序设计for j=1 to 2 c=c+left(a,2)+right(b,2)next?c程序程序3n=3k=1 for i=1 to n k=k*i next?k46store 0 to a,bdo while a30 a=(a+1)*(a+2) b=b+1enddo?b程序程序4程序程序5y=0do while y=10 y=y+1 if y/4=int(y/4) ?y endifenddo程序程序6x=int(rand( )+5)do case case x=3 ? 大大 case x=4 ?小小 case x=5 ?多多 otherwise ?“少少” endcase47x=0y=1do while x1 exit endif a=a+1 b=b+a*(a+1)enddo?b程序程序9cleara=-5input 输入输入c的值的值 to cdo case case a=-5 b=a+1 case a=0 b=a+2 otherwise b=a+3endcase ?b48dime aa(4)s=0for n=1 to 4 aa(n)=nendfor for i=1 to 4 s=s+aa(i)endfor?s程序程序1049input 请输入一个数:请输入一个数: to xflag=1 for i=2 to x-1if mod(x,i)=0?不是不是flag=0exitendifendforif flag=1?是是endif编写程序:判断一个数是否是素数。编写程序:判断一个数是否是素数。50改错:统计改错:统计200-500之间能被之间能被3整除的数的个数。整除的数的个数。n=0 &改为:改为:s=0for i=200 to 500 if mod(i,3)0 &将将变为变为= s=s+1 endifendfor? s=,s 51
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号