第3章结构化程序设计与数组_1.ppt_第1页
第3章结构化程序设计与数组_1.ppt_第2页
第3章结构化程序设计与数组_1.ppt_第3页
第3章结构化程序设计与数组_1.ppt_第4页
第3章结构化程序设计与数组_1.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章结构化程序设计与数组,本课内容及要求: 1.了解算法概念及算法的表示,掌握用流程图表示算法 2. 熟练掌握行if语句、块if结构、Select Case情况选择结构的使用,掌握选择的嵌套结构;,结构化程序设计方法,(一)用计算机解决问题的过程,提出、分析问题,确定算法模型,设计算法,编写程序,调试程序,分析输出结果,正确合理,结束,不正确,什么是算法: 广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲:算法是解决一个问题采取的方法和步骤的描述。,例1:输入三个数,然后输出其中最大的数。 将三个数依次输入到变量、B、C中,设变

2、量MAX存放最大数。其算法如下: 1) 输入A、B、C。 2) A与B比较,将大的一个放入MAX中。 3) C与MAX比较,将大的一个放入MAX中。 4) 输出MAX,MAX即为最大数。,例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,(二)

3、结构化程序设计思想,任何程序都可以用三种基本结构表示: 顺序结构、选择结构、循环结构 1.顺序结构(例:例:摄氏温度C转换成华氏温度F),(二)结构化程序设计思想,2.选择结构,(二)结构化程序设计思想,3.循环结构,三种基本结构的特点: (1)只有一个入口 (2)只有一个出口 (3)不存在死语句 (4)不存在死循环,输入三个数,然后输出其中最大的数的流程图,结束,Y,N,N,从10个数中选出最大的数的流程图,N10,Max =A N=0,AMax,Max =A,输入A,开始,再输入给A,N=N+1,打印Max,结束,Y,N,N,Y,选择结构 1. 行 If 语句 格式(1): If Then

4、 Else 功能:条件成立执行语句1,否则执行语句2,方括号内的语句可缺省。 注意:行If语句必须在一行内写完。当语句太长,需换行,则在换行处插入“ _”(空格加下划线)后再按回车。,例3-1:编程,输入x,求下列 f(x)的值。,Private Sub command1_click() Dim x As Single x = InputBox(输入x, 计算分段函数的值) If x = 5 Then Text1.Text _ = Str(1 - x * x) Else _ Text1.Text = Str(x - 5) _ 0.25) End Sub,例3-2:输入x、y,仅当xy时交换x、

5、y的值,并输出,例3-2:输入x、y,仅当xy时交换x、y的值,并输出 Private Sub Form_click() Dim x As Single, y As Single, Temp As Single x = Val(Text1.Text) y = Val(Text2.Text) If x y Then Temp = y:y = x:x = Temp Label1.Caption = x= + Str(x) + y= + _ Str(y) End Sub,2.块 If 语句 格式: If Then Else End If,其中:和可以是多条VB可执行的语句或选择结构、循环结构。,注意

6、: 1. Else子句可以缺省 2. If必须与End If配对,比较行if语句: If Then Else ,比较引例,例3 求ax2+bx+c=0根,用Input函数输入系数,计算结果在文本框Text1中显示。(lt3_3),b2-4ac=0,x=(-bsqr(b2-4ac)/2a,输入a,b,c,开始,输出x,结束,x=(-bsqr(-b2+4ac)i)/2a,Y,N,3. 多边If语句(多分支结构) 格式1: If Then Else If Then Else 语句块 n+1 End if End If,格式2: If Then ElseIf Then Else 语句块 n+1 End

7、 If,注意: 不管有几个分支,程序执行了一个分支后,其余分支不再执行。 ElseIf不能写成Else If。 当多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块。因此,要注意对多分支中表达式的书写次序,防止某些值的过滤。 If与End If成对出现,例3-4 编程,在窗体上输出字符串“欢迎使用Visual Basic”。第一次单击时以黑体显示;第二次单击时以楷体显示;第三次单击时以隶书显示;第四次单击时则清除窗体上的信息。 Dim nflag As Integer在通用段声明变量 Dim smystring As String Private sub Form_Load() Nf

8、lag=1用变量nflag控制单击次数 smystring=“欢迎使用Visual Basic” form1.Fontsize=18 End Sub,开始,结束,Private Sub Form_Click() If nflag = 1 Then Form1.FontName = 黑体 Print smystring nflag = nflag + 1 Else If nflag = 2 Then Form1.FontName = 楷体_GB2312 Print smystring nflag = nflag + 1 Else If nflag = 3 Then Form1.FontName

9、= 隶书 Print smystring nflag = nflag + 1 Else Cls nflag = 1 End If End If End If End Sub,Private Sub Form_Click() If nflag = 1 Then Form1.FontName = 黑体 Print smystring : nflag = nflag + 1 ElseIf nflag = 2 Then Form1.FontName = 楷体_GB2312 Print smystring : nflag = nflag + 1 ElseIf nflag = 3 Then Form1.F

10、ontName = 隶书 Print smystring : nflag = nflag + 1 Else Cls : nflag = 1 End If End Sub,使用IF语句实现的程序段如下: If x=90 then Print 优秀 ElseIf x=80 Then Print 良好 ElseIf x=70 Then Print 中等 ElseIf x=60 Then Print 及格 Else Print 不及格 End If,例5:输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以为“不合格”,

11、若将上面问题的程序段写作如下形式,则执行结果会如何变化? If x=60 then Print “及格 ElseIf x=70 Then Print “中等 ElseIf x=80 Then Print “良好 ElseIf x=90 Then Print “优秀 Else Print 不及格 End If,4. Select Case语句(情况语句) 形式: Select Case Case 语句块1 Case 语句块2 Case Else End Select,注意: 只能对一个变量进行多种情况的判断; 中不能出现“变量或表达式”中出现的变量,例如:将例使用select case.语句来实

12、现的程序段如下: Select Case x Case 90 to 100 Print 优秀 Case 80 to 89 Print 良好 Case 70 to 79 Print 中等 Case 60 to 69 Print 及格 Case Else Print 不及格 End Select,例3-6:输入年、月,输出该月天数,N,d=31,Y,闰年,Y,d=28,N,输入年y、月m,m=1,3,5,7 8,10,12,d=30,Y,m=4,6,9,11,m=2,d=29,Y,N,输出天数d,先判断是否闰年,以决定2月的天数 (Y mod 4=0 and y mod 1000 or y mod

13、 400=0) Private Sub Form_Click() Dim y%, m%, d% y = InputBox(输入年份): m = InputBox(输入月份) Select Case m Case 1, 3, 5, 7 To 8, 10, 12 d = 31 Case 4, 6, 9, 11 d = 30 Case 2 If y Mod 4 = 0 And y Mod 100 0 _ Or y Mod 400 = 0 Then d = 29 Else d = 28 End If End Select Print y; “年”; m; “月有”; d; “天” End sub,程序

14、在编辑时,Visual Basic会自动显示其中的编译错误编译错误一般为语法错误,应根据所学Visual Basic的规则予以纠正。 程序在运行时,会自动显示一些“适时错误”,一般为逻辑错误,应仔细检查程序设计的全过程,改正其中的错误。 对可预见的运行错误,可以用On Error GoTO语句捕获,并将控制转去执行一段预先写好的处理错误的语句。 格式:On Error GoTo L1 功能:在执行该语句后,若发生运行错误,控制将转去执行标号为L1的语句。,例:在窗体中输出x的倒数,x的值通过文本框输入。 Private Sub Command1_Click() On Error GoTo err011 Print 1 / Text1.Text Exit Sub err011: MsgBox “除数不能为0,请重新输入 _ x”, vbCritical, “输入错误 End Sub,例3-7 阅读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论