第4章结构化的程序设计精选文档.ppt
《第4章结构化的程序设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第4章结构化的程序设计精选文档.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章结构化的程序章结构化的程序设计设计本讲稿第一页,共七十八页4.1.1结构化程序设计方法的基本原则结构化程序设计方法的基本原则结构化程序设计方法的结构化程序设计方法的基本思路基本思路:把一个:把一个复杂的复杂的求解过程求解过程分阶段分阶段进进行行,每个阶段每个阶段处理的问题处理的问题都都控制在人们控制在人们容易理解和处理容易理解和处理的范围内。的范围内。每个阶段每个阶段的的处理处理都都用一个用一个相对独立的相对独立的过程过程来完成;来完成;整个程序整个程序由若干个由若干个过程过程组合而成组合而成。结构化程序设计方法结构化程序设计方法的的主要原则:主要原则:(1)自顶向下)自顶向下(2)逐
2、步求精)逐步求精(3)模块化)模块化(4)限制使用)限制使用GOTO语句语句结构化程序设计方法结构化程序设计方法要求要求:只能只能使用使用三种基本结构三种基本结构来来组成组成程序。程序。4.1结构化程序设计方法结构化程序设计方法简介简介顺序结构、选择结构、循环结构。本讲稿第二页,共七十八页1.算法算法在计算机中,把在计算机中,把解题过程解题过程的准确而完整地的准确而完整地描述描述称为解题算法,它称为解题算法,它是是为了为了求解求解某个特定的某个特定的问题问题而设计的而设计的有限多个有限多个操作步骤操作步骤的的集合集合。4.1.2算法及算法的特性算法及算法的特性2.算法的特性算法的特性(1)有穷
3、性)有穷性(2)确定性)确定性(3)有效性)有效性(4)有零个或多个输入)有零个或多个输入(5)有一个或多个输出)有一个或多个输出本讲稿第三页,共七十八页1.自然语言表示法自然语言表示法自然语言:自然语言:就是指人们日常使用的语言,可以是汉语、英语就是指人们日常使用的语言,可以是汉语、英语或其它语言。或其它语言。4.1.3算法的表示算法的表示 表示算法的方法有许多种,如自然语言自然语言、伪代码伪代码、传统流程传统流程图图、结构化流程图结构化流程图等。例例4.1求两个正整数的求两个正整数的最大公约数最大公约数的的欧几里德算法欧几里德算法。从键盘输入两个正整数m和n的值;求出m除以n的余数r;若r
4、=0,则转至第步,否则,执行第步;用n取代m,用r取代n;转到第步,继续求新的m和n的最大公约数;输出n的值,n的值即为当初那两个数的最大公约数。本讲稿第四页,共七十八页伪代码:伪代码:是是用用介于介于自然语言自然语言和和计算机语言计算机语言之间之间的的文字文字和和符号符号(包包括数学符号括数学符号)来来描述算法描述算法。2.伪代码表示法伪代码表示法用伪代码描述的欧几里德算法为:从键盘输入两个正整数m和n的值;r=m Mod n;If r=0 then 转至第步;m=n:n=r 转到第步;Print n。本讲稿第五页,共七十八页处理框起止框I/O框判断框流程线连接点(1)流程图中的基本符号流程
5、图中的基本符号3.流程图表示法流程图表示法本讲稿第六页,共七十八页顺序结构顺序结构语句1语句2选择结构选择结构(2)三种基本结构的表示三种基本结构的表示基本结构的特点基本结构的特点:(1)只有一个入口)只有一个入口(2)只有一个出口)只有一个出口(3)不存在死语句)不存在死语句(4)不存在死循环)不存在死循环条件语句1语句2YNN条件Y语句组Y条件语句组N循环结构循环结构本讲稿第七页,共七十八页例例4.2用用流程图流程图表示表示欧几里德算法欧几里德算法本讲稿第八页,共七十八页N-S流程图流程图是对是对流程图流程图表示法加以表示法加以改进改进之后得到的一种之后得到的一种新的新的、符合符合结构化程
6、序设计思想结构化程序设计思想的的流程图流程图形式。形式。语句A语句B顺序结构顺序结构语句A语句B条件YN选择结构选择结构4.用用N-S流程图表示算法流程图表示算法a)当型循环当型循环语句组当条件成立b)直到型循环直到型循环语句组直到条件成立循环结构循环结构本讲稿第九页,共七十八页例例4.3用用N-S流程图流程图表示表示欧几里德算法欧几里德算法本讲稿第十页,共七十八页N-S流程图示例流程图示例例例4.4:从从100个数中选出最大的数个数中选出最大的数本讲稿第十一页,共七十八页PrivateSubForm_Click()Dimn%,w%,i%,r%InputBox是输入数据的函数n=Val(Inp
7、utBox(请输入一个正整数!请输入一个正整数!,判别素数的程序判别素数的程序,17)w=1:i=2 w=1表示假设n是素数Do DoLoop是循环控制语句r=nModi Mod是除取余数的运算符Ifr=0Thenw=0 余数r=0表示n能被i整除i=i+1 先求i+1的值,再把结果送给iLoopUntil(i=nOrw=0)Ifw=1ThenMsgBox(n&是一个素数!是一个素数!)Else MsgBox是输出数据的函数MsgBox(n&不是一个素数!不是一个素数!)EndIfEndSub例例4.6用用VB语言语言表示出表示出判别素数的算法判别素数的算法.5.用计算机语言表示算法用计算机语
8、言表示算法本讲稿第十二页,共七十八页4.2顺序结构程序设计顺序结构程序设计4.2.1 4.2.1 注释语句注释语句注释语句是在编程工作中注释语句是在编程工作中经常使用经常使用的语句之一,在程序中对一的语句之一,在程序中对一些些关键的语句关键的语句加以加以注释注释,可以可以提高提高整个程序结构的整个程序结构的清晰度清晰度,使得程序使得程序更更加加易于理解易于理解。注释语句注释语句的的一般形式一般形式为:为:Rem注释内容注释内容注释语句注释语句的的简化应用形式简化应用形式为:为:注释内容注释内容例如:例如:Rem本程序的功能是计算球的体积本程序的功能是计算球的体积ConstPIasDouble=
9、3.1415926535定义符号常量定义符号常量PI注意注意:注释语句用的单引号必须在英文输入状态下输入注释语句用的单引号必须在英文输入状态下输入V=4/3*PI*R3:Rem计算球的体积计算球的体积Rem计算球的体积计算球的体积:V=4/3*PI*R3本讲稿第十三页,共七十八页4.2.2赋值语句赋值语句 功能:功能:将表达式的值赋值给变量名或指定对象的属性。将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值一般用于给变量赋值或对控件设定属性值.例:例:sRate!=0.1Text1.Text欢迎使用欢迎使用VisualBasic6.0”说明:说明:执行过程:先求表
10、达式的值,然后将值赋值给左边的变量。执行过程:先求表达式的值,然后将值赋值给左边的变量。右边的表达式可以是变量、常量、函数调用等特殊的表达式。右边的表达式可以是变量、常量、函数调用等特殊的表达式。不要将不要将“”理解为数学上的等号:理解为数学上的等号:A=A+1将将表达式表达式A+1的的值值放回到放回到变量变量A中。中。1赋值语句的一般形式赋值语句的一般形式LET=LET.属性名属性名=本讲稿第十四页,共七十八页赋值符号赋值符号“=”两边的两边的数据类型数据类型一般一般要求应一致要求应一致。不一致不一致就就自动转换自动转换,不能转不能转则则出错出错!2赋值语句对数据类型的要求赋值语句对数据类型
11、的要求3赋值操作过程中的数据类型转换赋值操作过程中的数据类型转换当类型不一致时,VB系统会自动地 将表达式的值转换成变量的类型。例:iA%=10 /3 iA中的结果为3 iA%=11 /3 iA中的结果为4(四舍五入)iA%=-11 /3 iA中的结果为-4(四舍五入)iA%=38000 出错,数据溢出。本讲稿第十五页,共七十八页当表达式是数字字符串,变量是数值类型时,系统自动地将数字字符串转换成数值再赋值;当表达式中含有非数字字符时,则出错。例:iA%=123 iA中的结果为123 iA%=123abc 错误,类型不匹配!逻辑型值赋值给数值型变量;系统自动转换。例:iA%=True iA中的
12、结果为-1 iA%=Flase iA中的结果为0非字符类型值赋值给字符型变量时,系统自动转换。例:cA$=True cA中的结果为True cA$=123 cA中的结果为123 cA$=#2003/3/12#结果为2003-3-12iA%=Val(123abc)3赋值操作过程中的数据类型转换赋值操作过程中的数据类型转换本讲稿第十六页,共七十八页例如:例如:d$=123&abc:d2$=d&abc(1)赋值符号赋值符号“=”左边一定左边一定只能只能是是变量名变量名或或对象的属性对象的属性引用,引用,不能不能是是常量常量或或表达式表达式。如:如:5=X:Abs(X)=20(2)赋值号两边的数据类型
13、赋值号两边的数据类型不兼容不兼容时,时,编译时编译时就会就会出错出错。例如:例如:x%=abc编译错误编译错误。x%=50000编译错误编译错误,-32768,32767。(3)VB不能在一个赋值语句中同时给多个变量赋值。不能在一个赋值语句中同时给多个变量赋值。(4)同一个语句行同一个语句行中的中的多个赋值语句多个赋值语句必须必须用用冒号冒号隔开隔开。例如:例如:x%=5,y%=8编译错误,编译错误,应更改为:应更改为:x%=5:y%=8(5)注意:注意:连接运算符连接运算符&的的两边两边应有应有空格空格隔开隔开。Dim x%,y%:x=y=1004赋值操作中的常见错误赋值操作中的常见错误x=
14、100:y=100本讲稿第十七页,共七十八页Print方法的一般格式:方法的一般格式:对象名对象名.Print,|;说明:说明:对象名对象名.可以是窗体名、图片框名,也可是立即窗口可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。若省略对象,则表示在当前窗体上输出。用用Print方法在图片框和立即窗口对象中输出与在窗体对象中方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。输出完全相同。4.2.3数据的输入与输出数据的输入与输出1.Print方法方法本讲稿第十八页,共七十八页Format函数函数的一般格式:的一般格式:Format(,格式字符串
15、格式字符串)2.Format函数函数将表达式表达式的值值按指定的格式转换转换成字符串字符串本讲稿第十九页,共七十八页例如:有下列语句如下例如:有下列语句如下:x%=Val(InputBox(请输入一个数请输入一个数,输入框输入框,100)语句执行后打开如下对话框。语句执行后打开如下对话框。缺省值标题提示3.InputBox函数函数$=InputBox(,标题标题,默认值默认值,x坐标坐标,Y坐标坐标)本讲稿第二十页,共七十八页4.MsgBox函数和函数和MsgBox过程过程函数形式函数形式:变量变量%=MsgBox(,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题,标题)过程形式过程形式:
16、MsgBox,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题标题说明:说明:“标题标题”和和“提示提示”与与InputBox函数函数中对应的参数中对应的参数相同相同;“按钮图标按钮图标+缺省按钮缺省按钮+模式模式”是是整型表达式整型表达式,决定信息框,决定信息框按钮数目、出现在信息框上的图标类型及操作模式按钮数目、出现在信息框上的图标类型及操作模式若程序中需要返回值,则使用函数,否则可调用过程。若程序中需要返回值,则使用函数,否则可调用过程。本讲稿第二十一页,共七十八页按钮按钮及及图标值图标值如下如下:MsgBox常用参数常用参数说明说明根据用户所选按钮,根据用户所选按钮,函数函数返回值返
17、回值1 17 7!MsgBox,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题标题本讲稿第二十二页,共七十八页MsgBox函数示例函数示例MsgBox李钢是不是计算机学院的李钢是不是计算机学院的?,3+32,我要找李钢我要找李钢本讲稿第二十三页,共七十八页5.利用利用文本框文本框和和标签标签控件控件来来输入输入/输出输出数据数据例例4.10编写程序,利用文本框(Text1)输入一个三位的整数,计算这个三位数的逆序数,并用文本框(Text2)和标签控件(Label2)两种方式同时输出运算结果。Private Sub Command1_Click()Dim m%,n%,a%,b%,c%m=Va
18、l(Text1.Text)a=m100 b=(m mod 100)10 c=m mod 10 n=c*100+b*10+a Text2=n 省略了属性名Text Label2=m&的逆序数是:&nEnd Sub输入数据输出数据 本讲稿第二十四页,共七十八页4.2.4字体、字形和字体、字形和颜色色1Font属性组属性组 FontName FontSize FontBold FontItalic FontStrikethru FontUnderline 本讲稿第二十五页,共七十八页长整数2颜色属性及颜色值颜色属性主要有ForeColor(前景色)和BackColor(背景色)两种.RGB函数 RG
19、B(红色值,绿色值,蓝色值)0255 QBColor函数 QBColor(颜色值)015 颜色常量 vbBlack、vbRed、vbGreen、vbYellow、vbBlue、vbMagenta、vbCyan、vbWhite等。颜色值(用十六进制表示的数)&H004080FF&红色值绿色值蓝色值(1)在在属性窗口属性窗口中设置中设置颜色颜色(2)在在代码代码中设置中设置颜色颜色十六进制本讲稿第二十六页,共七十八页4.3选择结构选择结构 VisualBasic用用关系运算关系运算或或逻辑运算逻辑运算来来判断判断条件条件是否是否能够得到满足,并能够得到满足,并根据根据计算的计算的结果结果决定决定程
20、序的程序的不同流程不同流程,实现选择结构的程序设计。实现选择结构的程序设计。VisualBasic用来实现选择的结构化语句是用来实现选择的结构化语句是If条件语条件语句句和和SelectCase语句语句,也可以使用,也可以使用更为简捷的更为简捷的选择函数选择函数来来实现实现较为简单的较为简单的选择功能选择功能。本讲稿第二十七页,共七十八页4.3.1单行结构的单行结构的If语句语句单行结构单行结构If语句的语句的一般形式一般形式:IfThenElse说明:表达式表达式一般为关系表达式关系表达式或逻辑表达式逻辑表达式,也可以是算术表达算术表达式式。若为算术表达式,则表达式的值非零非零时为TRUE,
21、零零为FALSE。语句块语句块可以是一个语句,也可以是多个语句,多个语句之间一多个语句之间一定要用定要用冒号冒号分隔分隔。If ab Then max=a Else max=b本讲稿第二十八页,共七十八页例例4.11计算计算分段函数分段函数的的y值。值。Private Sub Form_Click()Dim x!,y!x=Val(InputBox(请输入一个数x)If x=0 then y=x*x+3 else y=x*x*x+2 Print x=;x;y=;yEnd SubPrivate Sub Form_Click()Dim x!,y!x=Val(InputBox(请输入一个数x)y=x*
22、x*x+2 If xyThenm=xElsem=yEndIf例如例如:求出两个变量求出两个变量x和和y的的大者大者m的块的块语句语句为:为:m=yIfxyThenm=xEndIfIfxyThenm=xElsem=yEndIfIfThenElseEndIf必须换行!m=yIfxyThenm=xEndIf本讲稿第三十页,共七十八页4.3.3多分支的多分支的If语句语句1.多分支多分支If语句的语句的一般形式一般形式:IfThenElseIfThenElseIfThenElseEndIfElseIf 不能分开只能有一个End IfElseIf本讲稿第三十一页,共七十八页2.多分支的多分支的If语句语
23、句的流程图的流程图只能有一个分支得到执行本讲稿第三十二页,共七十八页PrivateSubForm_Click()Dims!,f!s=Val(InputBox(输入里程数(单位:公里)输入里程数(单位:公里))Ifs=3Thenf=5ElseIfs=10Thenf=5+(s-3)*1.2Elsef=5+7*1.2+(s-10)*1.5EndIfPrintTaxi行驶行驶:;s;公里,收费公里,收费:;f;元元!EndSub例例4.13计算计算Taxi收费金额收费金额本讲稿第三十三页,共七十八页4.3.4SelectCase语句语句1.SelectCase语句语句的一般形式:的一般形式:Selec
24、tCaseCaseCaseCaseElseEndSelect可含变量,只能是数值型或字符串型 只能包含常量,且必须与类型相同!Case 与 之间要用空格隔开!四种形式之一:Case 85 Case 71,75,78 Case 60 to 69 Case Is 60可混合使用:Case 78,80 to 85本讲稿第三十四页,共七十八页PrivateSubForm_Click()Dims!,f!s=Val(InputBox(输入里程数输入里程数(单位:公里单位:公里)SelectCasesCaseIs=3f=5CaseIs=10f=5+(s-3)*1.2CaseElsef=5+7*1.2+(s-
25、10)*1.5EndSelectPrintTaxi行驶行驶:;s;公里,收费公里,收费:;f;元元!EndSub例例4.14计算计算Taxi收费金额收费金额2本讲稿第三十五页,共七十八页4.3.5条件结构的嵌套条件结构的嵌套Ifs=3Thenf=5ElseIFs=10Thenf=5+(s-3)*1.2Elsef=5+7*1.2+(s-10)*1.5EndIfEndIfIfs=10ThenIFs=3Thenf=5Elsef=5+(s-3)*1.2EndIfElsef=5+7*1.2+(s-10)*1.5EndIf本讲稿第三十六页,共七十八页IIf函数的使用格式:函数的使用格式:IIf(,)说明:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 程序设计 精选 文档
限制150内