结构化程序设计应用举例.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《结构化程序设计应用举例.ppt》由会员分享,可在线阅读,更多相关《结构化程序设计应用举例.ppt(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计1第八讲第八讲 (六)程序调试(六)程序调试 (七)结构化程序设计综合实例(七)结构化程序设计综合实例第3章 结构化程序设计湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计2VFP程序的构成程序的构成VFP程序设计语言的特点程序设计语言的特点VFP程序设计的概念程序设计的概念递推法递推法选择排序法选择排序法冒泡排序法冒泡排序法算法算法程序的建立与运行程序的建立与运行穷举法穷举法基本基本概念概念与操与操作方作方法法典型典型算法算法迭加迭加(累
2、加累加)法法湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计3 Visual FoxPo程序设计的概念程序设计的概念一、什么是程序一、什么是程序 Visual FoxPro提提供供了了一一种种程程序序执执行行方方式式,这这种种方方式式就就是是预预选选把把需需要要执执行行的的多多条条命命令令按按一一定定的的结结构构组组成成一一个个有有机机序序列列以以文文件件的的形形式式存存储储在在磁磁盘盘上上,这这个个文文件就称为程序文件或命令文件。件就称为程序文件或命令文件。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应
3、用课程VFP程序设计4 其中,把其中,把Visual FoxPro提供的命令、函数和控提供的命令、函数和控制语句有机的组成一个计算机可执行的序列,这个制语句有机的组成一个计算机可执行的序列,这个序列的设计、编码和调试的过程序列的设计、编码和调试的过程编写调试程序。编写调试程序。使用计算机解决实际问题,通常是使用计算机解决实际问题,通常是先要对问题进行分先要对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,并析并建立数学模型,然后考虑数据的组织方式和算法,并用某一种程序设计语言编写程序,最后调试程序,使之运用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。行后能产
4、生预期的结果。这个过程称为程序设计。这个过程称为程序设计。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计5二、二、Visual FoxPro程序设计语言的特点程序设计语言的特点1、语言丰富、自成体系、语言丰富、自成体系2、人机对话功能、人机对话功能3、高效的结构化程序设计功能、高效的结构化程序设计功能 Visual FoxPro程程序序具具有有顺顺序序、分分支支、循循环环三三种种基基本本结结构构。Visual FoxPro的的语语句句没没有有标标号号,程程序序的的走走向向完完全全靠靠控控制制块块控控制制。一一般般来来讲讲,Visual F
5、oxPro程程序序由由一一主主控控程程序序和和若若干干子子控控程程序序组组成成。任任何何一一个个程程序序的的逻逻辑辑结结构构均均可可由由顺顺序序结结构构、分分支支结构、循环结构组合而成。结构、循环结构组合而成。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计6 顺序结构顺序结构 分支选择结构(选择结构)分支选择结构(选择结构)循环结构1.当型循环结构:当条件成立时反复执行,直到条件当型循环结构:当条件成立时反复执行,直到条件不成立;不成立;2.直到型循环结构:先执行,直到型循环结构:先执行,再判断条件是否成立,再判断条件是否成立,若为假(不
6、若为假(不成立),继续执行,直到条件为真(成立)成立),继续执行,直到条件为真(成立)用循环结构编程时,要注意出现死循环。用循环结构编程时,要注意出现死循环。死循环:一种永远也跳不出循环体的循环。死循环:一种永远也跳不出循环体的循环。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计7!注意:注意:程程序序的的每每一一行行只只能能书书写写一一条条语语句句,并并且且一一行行最最多多只只能能有有255个个字字符符(包包括括空空格格)。如如果果一一条条语语句句一一行行写写不不完完,可可以以用用“;”续续行行,每每一一个个语语句句用回车键结束。用回车
7、键结束。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计8三、三、Visual FoxPro程序的构成程序的构成*程序名:程序名:AREA.PRG*功能:功能:求圆的面积求圆的面积*设计人设计人 张大民张大民*设计日期设计日期 1998年年3月月SET TALK OFFSET COLOR TO GR+/B+CLEARINPUT“圆半径圆半径R=”TO RS=3.1415926*R*R?“圆面积圆面积S=”,SCLEAR ALLSET TALK ON RETURN程序的前程序的前文文程序的设程序的设置部份置部份程序的主体部份程序的主体部份程序
8、的关闭部份程序的关闭部份程序的退出部份程序的退出部份湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计9程序的前程序的前文文程序的设程序的设置部份置部份程序的主体部份程序的主体部份程序的关闭部份程序的关闭部份程序的退出部份程序的退出部份 提供数据提供数据运算处理运算处理输出结果输出结果INPUT“圆半径圆半径R=”TO RS=3.1415926*R*R?“圆面积圆面积S=”,S湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计10算法算法如如果果需需要要解解决决一一个个实实际际问问题题,从从
9、拿拿到到任任务务到到得得到到结果,要经过以下几个阶段:结果,要经过以下几个阶段:1、分析问题;、分析问题;2、确定处理方案;、确定处理方案;3、确定操作步骤;、确定操作步骤;4、根据操作步骤编写源程序;、根据操作步骤编写源程序;5、将程序输入计算机并使之运行;、将程序输入计算机并使之运行;6、整理输出结果,写出有关文档资料。、整理输出结果,写出有关文档资料。一、利用计算机处理问题的过程一、利用计算机处理问题的过程湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计11计算机处理一个实际问题的主要过程计算机处理一个实际问题的主要过程分析问题分析问
10、题确定处理方案确定处理方案(算法设计)(算法设计)确定操作确定操作步骤步骤编写程序编写程序上机运行上机运行程序程序整理结果整理结果湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计12二、算法的概念二、算法的概念 在在上上述述六六个个步步骤骤中中,第第1、2步步一一般般与与实实际际问问题题的的专专业业有有关关,第第36步步则则是是程程序序人人员员的的职职责责。其其中中最最关关键键的的是是第第3步步,即即“算算法法设设计计”,只只要要算算法法是是正正确确的的,写写程程序序就就不不会会有有太太多多困困难难。所所谓谓“算算法法”,粗粗略略地地说说,
11、是是为为解解决决一一个个特特定定问问题题而而采采取取的的确确定定的的、有限的步骤。有限的步骤。三、算法的表示三、算法的表示流程图流程图例例2 求求一一个个班班学学生生的的平平均均成成绩绩。设设A等等(85)12人人,B等等(70分)分)16人,人,C等(等(60分)分)6人,人,D等(等(50分)分)5人。人。例例3 输入一个数输入一个数x,如果它的值为正,则打印,如果它的值为正,则打印x的值。的值。例例4 输入输入10个数,把其中的正数打印出来。个数,把其中的正数打印出来。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计13开始开始A=8
12、5B=70C=60D=50PJF=(A*12+B*16+C*6+D*5)/(12+16+6+5)结束结束输出平均成绩输出平均成绩PJF开始输入A、B、C、D的值结束结束输出平均成绩输出平均成绩计算平均成绩计算平均成绩湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计14NY开始开始输入输入X的值的值结束结束输出输出XX0输入一个数给输入一个数给XX0是是否否输出输出X湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计15开始开始输入输入X的值的值结束结束输出输出XX0输入一个数给输入一个数给
13、XX0是是否否输出输出XN=1N=10YNNYN=N+1N=1当当N=10N=N+1湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计16程序的建立与运行程序的建立与运行一、一、Visual FoxPro程序的建立程序的建立1、用用Visual FoxPro本本身身提提供供的的文文本本编编辑辑器器来来建建立立和和编辑编辑命令窗口方式:命令窗口方式:MODIFY COMMAND 菜单窗口方式:菜单窗口方式:文件的保存:文件的保存:2、用、用WPS建立和编辑建立和编辑VFP程序文件程序文件3、用、用DOS的的EDIT编辑器来建立和编辑编辑器来建立
14、和编辑VFP程序文件程序文件湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计17二、二、Visual FoxPro程序文件的执行程序文件的执行1、命令窗口方式:、命令窗口方式:DO 2、菜单窗口方式、菜单窗口方式3、直接单击工具栏中的红色惊叹号。直接单击工具栏中的红色惊叹号。4、右击程序编辑窗口标题栏,弹出快捷菜单,右击程序编辑窗口标题栏,弹出快捷菜单,选择执行命令。选择执行命令。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计18一、迭加一、迭加(累加累加)法法 典型算法典型算法 P=
15、0P=P+1累加累加统计统计S=0S=S+X湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计19和积综合计算和积综合计算1、有限个符合条件的整数的和积计算;、有限个符合条件的整数的和积计算;2、有特殊规律的分数的和的计算;、有特殊规律的分数的和的计算;3、逆积式的计算。、逆积式的计算。这类计算要注意两个要点:一是用来表这类计算要注意两个要点:一是用来表示计算结果的初始化值。二是计算的过程是示计算结果的初始化值。二是计算的过程是否正确。这类问题出现在填空题和改错题中否正确。这类问题出现在填空题和改错题中的可能性非常大。主要考核程序设计的基本的
16、可能性非常大。主要考核程序设计的基本功。功。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计20举例:举例:例例1 1 利用循环结构求利用循环结构求1 1100100之和。之和。MODI COMM EX121.PRGMODI COMM EX121.PRG SET TALK OFF CLEAR S=0 I=1方方法法一一湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计21DO WHILEDO WHILE I=100I720 IF S720 EXIT EXIT ENDIF ENDIF END
17、DOENDDOI=I-1&I=I-1&最后一个乘数最后一个乘数方方法法一一湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计2610,10 SAY 10,10 SAY 连乘数的积连乘数的积S=;S=;FONT FONT 魏碑体魏碑体,28 STYLE B;,28 STYLE B;GET S FONT GET S FONT 魏碑体魏碑体,28;,28;STYLE B FUNCTION B STYLE B FUNCTION B 14,10 SAY 14,10 SAY“最后一个乘数是最后一个乘数是”;FONT FONT 魏碑体魏碑体,28 STYL
18、E B;,28 STYLE B;GET I FONT GET I FONT 魏碑体魏碑体,28;,28;STYLE B FUNCTION B STYLE B FUNCTION B SET TALK ONSET TALK ONRETURNRETURN湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计27SET TALK OFFCLEARS=1FOR I=1 TO 800 S=S*IIF S720 EXIT ENDIF ENDFOR?”最后一个乘数是最后一个乘数是”FONT 魏碑体魏碑体,28 STYLE B,I FONT“”,28?连乘数的积连
19、乘数的积S=“FONT“”,28,S FONT“”,28SET TALK ONRETURN方方法法二二湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计28例例3已知已知 S1=1,S2=1+2,S3=1+2+3,Sn=1+2+3,+n,编写一程序求编写一程序求 S1+S2+S100的和。的和。MODI COMM EX738PRG湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计29SET TALK OFFCLEARN=1S=0DO WHILE N=100 I=1 SUB=0DO WHILE
20、 I=N SUB=SUB+I 湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计30 I=I+1 ENDDO S=S+SUB N=N+1ENDDO?S1+S2+S100=,SSET TALK ONRETURN 湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计31SET TALK OFFDO WHILE.T.CLEAR ACCEPT 请选择代码:请选择代码:1问候;问候;2 循环循环 3 退出退出 TO CHOICE DO CASE CASE CHOICE=1?例例4 根据输入代码执行相应操
21、作根据输入代码执行相应操作湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计32?Good!您好!您好!WAIT“请按任一键继续请按任一键继续”WINDOW;TIMEOUT 15 CASE CHOICE=2 I=1 S=0 DO WHILE I=100 S=S+I I=I+1 ENDDO湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计33?1+2+3+100=,S WAIT“请按任一键继续请按任一键继续”WINDOW;TIMEOUT 15 CASE CHOICE=3 EXIT ENDCAS
22、E ENDDOSET TALK ONRETURN 湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计 S=0FOR n=1 TO 100?S【例例3.15】求和:求和:,当n=100时的S值 S=S+1/nS=S-1/nYNn%3=1湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计*prog3_15.prg,求和SSET TALK OFFCLEARS=0FOR n=1 TO 100 IF n%3=1 S=S+1/n ELSE S=S-1/nENDIFENDFOR?”S=”,SSET TAL
23、K ON湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计【例3.16】已知一个数列的前三项为0,0,1,以后各项都是其相邻的前三项之和,求该数列前30项之和。*prog3_16.prg,求,求SET TALK OFFCLEARS=1&因为数列前三项的计算不包含在循环体中因为数列前三项的计算不包含在循环体中f1=0f2=0f3=1湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计FOR n=4 TO 30 ff=f1+f2+f3 S=S+ff f1=f2 f2=f3 f3=ffENDFOR?
24、”S=”,SSET TALK ON湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计38二、穷举法二、穷举法 所谓穷举法是从有限个对象中一个一个的进行所谓穷举法是从有限个对象中一个一个的进行判断,选择符合要求的对象进行处理。主要有两种判断,选择符合要求的对象进行处理。主要有两种处理类型:一是符合要求的对象的统计计算,如个处理类型:一是符合要求的对象的统计计算,如个数的计算、累加和的计算、连乘积的计算;二是寻数的计算、累加和的计算、连乘积的计算;二是寻找最大(或最小)对象。穷举法必须使用循环及选找最大(或最小)对象。穷举法必须使用循环及选择分支
25、结构才能实现其功能。择分支结构才能实现其功能。湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计39 例例3.17:我国古代数学家在我国古代数学家在算经算经中中出了一道题:出了一道题:“鸡翁一,值钱五;鸡母一,鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、鸡雏各几何?问鸡翁、母、鸡雏各几何?”X+Y+Z=100X*5+Y*3+Z/3=100湖南师范大学计算机教学部湖南师范大学计算机教学部数据库技术及应用课程数据库技术及应用课程VFP程序设计40SET TALK OFFCLEAR?公
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 程序设计 应用 举例
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内