好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

结构化的程序设计.ppt

78页
  • 卖家[上传人]:tian****1990
  • 文档编号:72634587
  • 上传时间:2019-01-23
  • 文档格式:PPT
  • 文档大小:716KB
  • / 78 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第4章 结构化的程序设计方法,重点:选择结构及循环结构的实现及其应用,难点:选择的嵌套及多重循环结构,本章内容及要求: 1.了解算法的概念,掌握用流程图表示算法; 2. 熟练掌握赋值语句及输入/输出数据的方法; 3. 熟练掌握if语句、Select Case语句的使用, 掌握选择的嵌套结构; 4. 熟练掌握实现循环结构的三种常用的语句: For…Next语句及 Exit For语句; Do…Loop语句及 Exit Do语句; While…Wend语句 5. 掌握循环结构的嵌套(多重循环)4.1.1 结构化程序设计方法的基本原则 结构化程序设计方法的基本思路:把一个复杂的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内每个阶段的处理都用一个相对独立的过程来完成;整个程序由若干个过程组合而成 结构化程序设计方法的主要原则: (1)自顶向下 (2)逐步求精 (3)模块化 (4)限制使用GOTO语句 结构化程序设计方法要求: 只能使用三种基本结构来组成程序4.1 结构化程序设计方法简介,顺序结构、 选择结构、 循环结构1. 算法 在计算机中,把解题过程的准确而完整地描述称为解题算法,它是为了求解某个特定的问题而设计的有限多个操作步骤的集合。

      4.1.2 算法及算法的特性,2. 算法的特性 (1)有穷性 (2)确定性 (3)有效性 (4)有零个或多个输入 (5)有一个或多个输出,1.自然语言表示法 自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言4.1.3 算法的表示,表示算法的方法有许多种,如自然语言、伪代码、传统流程图、结构化流程图等例4.1 求两个正整数的最大公约数的欧几里德算法 ① 从键盘输入两个正整数m和n的值; ② 求出m除以n的余数r; ③ 若r=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) 流程图中的基本符号,3. 流程图表示法,① 顺序结构,② 选择结构,(2) 三种基本结构的表示,基本结构的特点: (1)只有一个入口 (2)只有一个出口 (3)不存在死语句 (4)不存在死循环,③ 循环结构,例4.2 用流程图表示欧几里德算法,N-S流程图是对流程图表示法加以改进之后得到的一种新的、符合结构化程序设计思想的流程图形式。

      ② 选择结构,4. 用N-S流程图表示算法,③ 循环结构,例4.3 用N-S流程图表示欧几里德算法,N-S 流程图示例,例4.4: 从100个数中选出最大的数,Private Sub Form_Click( ) Dim n%, w%, i%, r% ' InputBox是输入数据的函数 n = Val(InputBox(“请输入一个正整数!“, “判别素数的程序“, 17)) w = 1 : i = 2 ' w=1表示假设n是素数 Do ' Do…Loop是循环控制语句 r = n Mod i ' Mod是除取余数的运算符 If r = 0 Then w = 0 ' 余数r = 0表示n能被i整除 i = i + 1 ' 先求i +1的值,再把结果送给i Loop Until (i = n Or w = 0) If w = 1 Then MsgBox (n & “是一个素数!“) Else ' MsgBox是输出数据的函数 MsgBox (n & “不是一个素数!“) End If End Sub,例4.6 用VB语言表示出判别素数的算法.,5. 用计算机语言表示算法,4.2 顺序结构程序设计,4.2.1 注释语句,注释语句是在编程工作中经常使用的语句之一,在程序中对一些关键的语句加以注释, 可以提高整个程序结构的清晰度,使得程序更加易于理解。

      注释语句的一般形式为: Rem [注释内容] 注释语句的简化应用形式为: ' [注释内容] 例如: Rem 本程序的功能是计算球的体积 Const PI as Double= 3.1415926535 ' 定义符号常量PI ' 注意:注释语句用的单引号必须在英文输入状态下输入 V= 4/3*PI*R^3 : Rem 计算球的体积,4.2.2 赋值语句,功能: 将表达式的值赋值给变量名或指定对象的属性 一般用于给变量赋值或对控件设定属性值. 例: sRate!=0.1 Text1.Text = “欢迎使用Visual Basic 6.0” 说明: ① 执行过程:先求表达式的值,然后将值赋值给左边的变量 ② 右边的表达式可以是变量、常量、函数调用等特殊的表达式 ③ 不要将“=”理解为数学上的等号: A=A+1 将表达式A+1的值放回到变量A中1.赋值语句的一般形式 [LET] = [LET] [.属性名]= ,赋值符号“=”两边的数据类型一般要求应一致 不一致就自动转换,不能转则出错!,2.赋值语句对数据类型的要求,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中的结果为-1 iA% = Flase iA中的结果为0 ④ 非字符类型值赋值给字符型变量时,系统自动转换 例:cA$ = True cA中的结果为“True“ cA$ = 123 cA中的结果为“123“ cA$ = #2003/3/12# 结果为“2003-3-12“,iA% = Val(“123abc“),,3.赋值操作过程中的数据类型转换,例如: d$=123&“abc“ : d2$=d&“abc“,(1) 赋值符号“=”左边一定只能是变量名或对象的属性引用, 不能是常量或表达式。

      如: 5=X : Abs(X)=20 (2) 赋值号两边的数据类型不兼容时,编译时就会出错 例如:x%=“abc“ ' 编译错误 x%=50000 ' 编译错误, [-32768,32767] (3) VB不能在一个赋值语句中同时给多个变量赋值 (4) 同一个语句行中的多个赋值语句必须用冒号隔开 例如:x%=5 , y%=8 ' 编译错误, 应更改为:x%=5 : y%=8 注意:连接运算符&的两边应有空格隔开Dim x%,y% : x = y = 100,4.赋值操作中的常见错误,x = 100 : y = 100,,Print方法的一般格式: [对象名.]Print[][{,|;}],说明: [对象名.] 可以是窗体名、图片框名,也可是立即窗口“Debug”若省略对象,则表示在当前窗体上输出 用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同4.2.3 数据的输入与输出 1. Print方法,Format函数的一般格式: Format ([ , “格式字符串“]),2. Format函数,将表达式的值按指定的格式转换成字符串,例如:有下列语句如下: x%= Val(InputBox(“请输入一个数“, “输入框“, “100“)) 语句执行后打开如下对话框。

      缺省值,标题,提示,3. InputBox函数,[$]=InputBox( [,标题] [,默认值] [,x坐标] [,Y坐标] ),4. MsgBox函数和MsgBox过程,函数形式:变量[%] = MsgBox([,按钮[+图标]+ [缺省按钮]+[模式]][,标题]) 过程形式: MsgBox [,按钮[+图标] +[缺省按钮]+ [模式]][,标题],说明: ① “标题”和“提示”与InputBox函数中对应的参数相同; ② “按钮+图标 +缺省按钮+模式”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式 ③ 若程序中需要返回值,则使用函数,否则可调用过程按钮及图标值如下:,MsgBox常用参数说明,根据用户所选按钮, 函数返回值1~7!,MsgBox [,按钮[+图标]+[缺省按钮]+[模式]][,标题],MsgBox函数示例,MsgBox “李钢是不是计算机学院的?“,3+32, “我要找李钢“,,,5. 利用文本框和标签控件来输入/输出数据,例4.10 编写程序,利用文本框(Text1)输入一个三位的整数,计算这个三位数的逆序数,并用文本框(Text2)和标签控件(Label2)两种方式同时输出运算结果。

      Private Sub Command1_Click() Dim m%, n%, a% , b% , c% m=Val(Text1.Text) a = m\100 b = (m mod 100)\10 c = m mod 10 n = c*100+b*10+a Text2= n ' 省略了属性名Text Label2 = m & “的逆序数是:“ & n End Sub,输入数据,输出数据,,4.2.4 字体、字形和颜色,1.Font属性组,,① FontName,② FontSize,③ FontBold,④ FontItalic,⑤ FontStrikethru,⑥ FontUnderline,,2.颜色属性及颜色值,颜色属性主要有ForeColor(前景色) 和BackColor(背景色)两种.,,,,,① RGB函数 RGB(红色值,绿色值,蓝色值),0~255,② QBColor函数 QBColor(颜色值),0~15,③ 颜色常量 vbBlack、vbRed、vbGreen、vbYellow、vbBlue、vbMagenta、vbCyan、vbWhite等。

      ④ 颜色值(用十六进制表示的数) &H004080FF&,(1) 在属性窗口中设置颜色,(2) 在代码中设置颜色,4.3 选择结构,Visual Basic用关系运算或逻辑运算来判断条件是否能够得到满足,并根据计算的结果决定程序的不同流程,实现选择结构的程序设计 Visual Basic用来实现选择的结构化语句是If条件语句和Select Case语句,也可以使用更为简捷的选择函数来实现较为简单的选择功能4.3.1 单行结构的If语句,单行结构If语句的一般形式: If Then [Else ],说明: 表达式一般为关系表达式或逻辑表达式, 也可以是算术表达式若为算术表达式,则表达式的值非零时为TRUE,零为FALSE 语句块可以是一个语句,也可以是多个语句,多个语句之间一定要用冒号分隔If ab then t=a : a=b : b=a,If ab Then max=a Else。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.