三种控制结构程序设计.ppt

上传人:sh****n 文档编号:13179139 上传时间:2020-06-06 格式:PPT 页数:68 大小:669KB
返回 下载 相关 举报
三种控制结构程序设计.ppt_第1页
第1页 / 共68页
三种控制结构程序设计.ppt_第2页
第2页 / 共68页
三种控制结构程序设计.ppt_第3页
第3页 / 共68页
点击查看更多>>
资源描述
第四章三种基本结构程序设计,本章内容及要求:1.了解算法概念及算法的表示,掌握用NS流程序表示算法2.熟练掌握赋值语句、End语句和注释语句等语句及输入/输出消息框函数的使用;3.熟练掌握行if语句、块if结构、SelectCase情况选择结构有使用,掌握选择的嵌套结构;4.熟练掌握实现循环结构的For/Next循环结构及ExitFor语句、Do/Loop循环结构的使用,掌握多重循环。,重点:选择结构及循环结构的实现及其应用,难点:选择的嵌套及多重循环结构,4.1算法及算法的表示,4.1.1算法概述什么是算法:广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:,例4.1输入三个数,然后输出其中最大的数。将三个数依次输入到变量、B、C中,设变量MAX存放最大数。其算法如下:,例4.2输入10个数,打印输出其中最大的数。算法设计如下:(1)输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1(2)将A存入表示最大值的变量Max中,即Max=A(3)再输入一个值给A,如果AMax则Max=A,否则Max不变(4)让记录数据个数的变量增加1,即N=N+1(5)判断N是否小于10,若成立则转到第(3)步执行,否则转到第(6)步。(6)打印输出max,1)输入A、B、C。2)A与B中大的一个放入MAX中。3)把C与MAX中大的一个放入MAX中。4)输出MAX,MAX即为最大数。,4.1.2算法的特性,有穷性确定性有0个或多个输入有一个或多个输出有效性,4.1.3算法的表示一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。例如:例4.1可用如下的伪代码表示Begin(算法开始)输入A,B,CIFAB则AMax否则BMaxIFCMax则CMaxPrintMaxEnd(算法结束),二用传统流程图表示算法,处理框,起止框,I/O框,判断框,流程线,连接点,1、传统流程图中的基本符号,2、三种基本结构的表示(1)顺序结构,条件,语句1,语句2,Y,N,语句1,语句2,(2)选择结构,条件,(a),条件,语句组,(3)循环结构,a)当型循环,b)直到循环,Y,N,Y,N,(b),语句组,三种基本结构的特点:,(1)只有一个入口(2)只有一个出口(3)不存在死语句(4)不存在死循环,例:例4.2输入10个数,打印输出其中的最大的数的流程图,从10个数中选出最大的数的流程图,NMax,Max=A,输入A,开始,再输入给A,N=N+1,打印Max,结束,Y,N,N,Y,4.1.4用NS流程图表示算法,将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框,三种基本结构的NS图表示:,语句A,语句B,语句A,语句B,条件,Y,N,1、顺序结构,2、选择结构,语句组,(3)循环结构,a)当型循环,b)直到循环,当条件成立,语句组,直到当条件成立,例:画出从10个数中选出最大的数的NS流程图,(a),(b),传统流程图,NMax,Max=A,输入A,开始,再输入给A,N=N+1,打印Max,结束,Y,N,N,Y,输入A,当N=Max,Y,N,PrivateSubForm_Click()Dima%,max%,i%max=aFori=1To10a=Val(InputBox(A=?)IfamaxThenmax=aNextiPrintMax=;maxEndSub,最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符一计算机语言的语法规则。下面是例4.2的计算机程序,即为用计算机语言表示算法:,4.1.6结构化程序设计方法(补充),(一)、用计算机解决问题的过程,提出、分析问题,确定算法模型,设计算法,编写程序,调试程序,分析输出结果,正确合理,结束,不正确,(二)、结构化程序设计思想,自顶向下、逐步细化、模块化,自顶向下:先从全局、整体设计逐步细化:将一个问题分解成几个较小的问题解决模块化:将一个大任务分解成若干个较小的部分,每个部分承担一定功能,称为“功能模块”,例:给100个整数,打印输出其中的素数,S1,NS流程图,S3,S2,S1,NS流程图,S3,S2,S21,细化后的流程图,4.2顺序结构,4.2.1赋值语句形式:变量名表达式对象.属性表达式功能:将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值.例:sRate!=0.1Text1.Text欢迎使用VisualBasic6.0”说明:1执行过程:先求表达式的值,然后将值赋值给左边的变量。2右边的表达式可以是变量、常量、函数调用等特殊的表达式。3不要将“”理解为数学上的等号:A=A+1是表示将A单元的值加后以放回到A单元。,执行过程如右图,4赋值符号“=”左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:5=X左边是常量。Abs(X)=20左边是函数调用,即是表达式。,5.赋值符号“=”两边的数据类型一般要求应一致。,4.2.2数据的输出Print方法,Print方法的一般格式:对象名.Print,|;,说明:对象名.可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。在2.3节窗体对象的方法中对Print方法做了详细的介绍。用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。,4.2.3用户交互函数和过程1.InputBox函数变量名=InputBox$(,)其中:提示提示信息,标题标题区显示,缺省输入区缺省值有$返回字符类型,否则为数值类型.例如,要在屏幕上显示如下的对话框:,例如:有下列语句如下:DimstrNameAsString*40,strS1AsString*40strS1=“请输入你的姓名”+Chr(13)+Chr(10)+“然后单击确定”strName=InputBox$(strS1,“输入框”,100,100)当键盘输入“王晓明”后,变量strName获得键盘输入的值.,2.MsgBox函数和MsgBox过程函数形式:变量%=MsgBox(提示,按钮图标+缺省按钮+模式,标题)过程形式:MsgBox提示,按钮图标+缺省按钮+模式,标题,说明:“标题”和“提示”与InputBox函数中对应的参数相同;“按钮图标+缺省按钮+模式”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式(见表4.1)若程序中需要返回值,则使用函数,否则可调用过程。,按钮及图标值如下:,根据用户所选按钮,函数返回17的整数值,其含义如下表:(表4.2),4.2.4注释语句,其语法格式为:Rem或说明:1.指要包括的任何注释文本。在Rem关键字和注释内容之间要加一个空格。可以用一个英文单引号“”来代替Rem关键字。2.如果在其他语句行后面使用Rem关键字,必需用冒号(:)与语句隔开。若用英文单引号“”,则在其他语句行后面不必加冒号(:)。例如:ConstPI=3.1415925符号常量PIS=PI*r*r:Rem计算圆的面积,4.3选择结构1.IfThen语句(单分支结构)IfThen语句块EndIf或IfThen,例:已知两个数x和y,比较它们的大小,使得x大于y.IfxYThenPrintXElsePrintY,双分支选择结构执行过程,例4.1设计一个求解一元二次方程的程序,3.IfThenElseIf语句(多分支结构)形式:IfThenElseIfThenElse语句块n+1EndIf,例:输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以为“不合格”,执行过程,使用IF语句实现的程序段如下:Ifx=90thenPrint优秀ElseIfx=80ThenPrint良好ElseIfx=70ThenPrint中等ElseIfx=60ThenPrint及格ElsePrint不及格EndIf,4.3.2SelectCase语句(情况语句)形式:SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2CaseElse语句块n+1EndSelect:与同类型的下面四种形式之一:表达式例:A+5一组枚举表达式(用逗号分隔)2,4,6,8表达式1To表达式260to100Is关系运算符表达式IsK1Then如果N1为素数,将N分解为N1+N2N2=N-N1K2=Int(Sqr(N2)ForI=2ToK2判断N2是否是素数IfN2ModI=0ThenExitForNextIIfIK2Then如果N2也为素数,则打印输出PrintN&=&N1&+&N2EndIfEndIfNextN1EndSub,4.6.2字符串处理,例4.11统计文本框中英文单词的个数。算法设计(1)从文本(字符串)的左边开始,取出一个字符;设逻辑量WT表示所取字符是否是单词内的字符,初值设为False。(2)若所取字符不是“空格”、“逗号”、“分号”或“感叹号”等单词的分隔符,再判断WT是否为True,若WT不为True,则表示新单词的开始,让单词数Nw=Nw+1;让WT=True。(3)若所取字符是“空格”、“逗号”、“分号”或“感叹号”等单词的分隔符,则表示字符不是单词内字符,让WT=False。(4)再依次取下一个字符,重复(2)(3)步直到文本结束。,例4.12字符的加密和解密加密算法是:将每个字母C加(或减)一序数K,即用它后的第K个字母代替,变换式公式:c=chr(Asc(c)+k)例如:设序数k为5,这时AF,af,BG当加序数后的字母超过Z或z则c=Chr(Asc(c)+k-26)例如:YouaregoodDtzfwjltti解密算法:解密为加密的逆过程将每个字母C减(或加)一序数K,即c=chr(Asc(c)-k),例如:序数k为5,这时ZU,zu,YT当加序数后的字母小于A或a则c=Chr(Asc(c)-k+26),迭代法在数学上也称“递推法”,凡是由一给定的初值,通过某一算法(公式)可求得新值,再由新值按照同样的算法又可求得另一个新值,这样经过有限次即可求得其解。,4.6.3迭代法,例4.13用迭代法求某个数的平方根。已知求平方根的迭代公式为:,算法思想如下:设平方根的解为x,可假定一个初值x0=a/2(估计值),根据迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;再以新值作为初值,即:x1x0,重新按原来的方法求x1,重复这一过程直到|x1-x0|(某一给定的精度)。此时可将x1作为问题的解。,程序代码见教材Pg.103,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!