《讲程序设计》PPT课件.ppt_第1页
《讲程序设计》PPT课件.ppt_第2页
《讲程序设计》PPT课件.ppt_第3页
《讲程序设计》PPT课件.ppt_第4页
《讲程序设计》PPT课件.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第 3 章 程序设计,3.1 顺序结构程序设计,3.2 选择结构程序设计,3.3 循环结构程序设计,Exercise,Chapter ,Homepage,Schoolwork,第 3 章 程序设计,3.1 顺序结构程序设计,3.2 选择结构程序设计,3.3 循环结构程序设计,Exercise,Chapter ,Homepage,Schoolwork,3.1 顺序结构程序设计,数据输入 数据输出,表达式的类型应与变量名的类型一致,即同为数值型或同为字符型。 当同时为数值型但精度不相同时,强制转换。 赋值语句中的“=”与关系运算符中的“=”的作用截然不同。,数据输入赋值语句,示例:编写程序,计算一元二次方程 的根,格式,变量名/对象属性名 = 表达式,功能,将赋值号右边表达式的值赋给左边的变量或对象属性,Form1.Width = 300 Form1.Caption = “输入框” d=b2-4*a*c,注意,Dim a As Integer a=5.6,b=7=9,关系表达式,b的值为False, a=6,Return,数据输入 InputBox()函数,示例:修改”计算一元二次方程根”程序,要求系数由用户运行程序时输入,格式,InputBox ( Prompt ,Title ,Default ),功能,打开一个对话框,等待用户键入文本或选择一个按钮,注意,提示字符串,显示在文本框的默认值,对话框标题,缺省为工程名,单击“确定”,返回文本框中的内容(字符型);单击“取消”返回空串 参数次序必须一一对应,若省略某些参数,相应的逗号分隔符不能省略。,Return,数据输出 Print方法,对象. Print 表达式表 ,|; ,格式,功能,在指定对象上输出表达式的值,说明,对象. , 对象可以是窗体Form、立即窗口Debug、图片框PictureBox、 打印机Printer,若省略则在当前窗体上输出。,表达式表, 表达式表中各个表达式之间用逗号或分号分隔。,标准格式,紧凑格式, ,|; , Print语句以逗号或分号结尾。, 空Print语句,示例:分析程序的运行结果,与Print方法有关的函数,Return,True,True,False,True,False,D= 49,E= 26,与Print方法有关的函数, Tab函数 格式:Tab(n) 功能:指定表达式的值的输出位置 Spc函数 格式:Spc(n) 功能:光标从当前位置跳过n个空格,对输出进行定位 格式输出Format函数 格式:Format$ (表达式 ,格式字符串 ) 功能:将数值、日期或字符串按用户指定的格式输出,Return,Print ”Visual”,Tab(5);,; Tab(15); ”Basic”,Print “Visual”;Spc(2);”Basic”,格式说明符,示例:修改计算一元二次方程根的程序,要求结果保留两位小数,Print Format(x1,”#.#”),Print Format(x1,”#.00”),(x1=4.857),(x1=1.5),4.86,4.86,1.5,1.50,示例:将变量x1的值保留两位小数输出,数值格式说明符:,Return,格式说明符,数据输出 MsgBox函数和MsgBox过程,MsgBox Prompt , Buttons ,Title,示例:修改“求一元二次方程根”程序,要求结果显示在消息框中,格式,MsgBox (Prompt , Buttons ,Title),变量%=,功能,MsgBox函数向用户传送信息,并接受用户的响应,返回一个整型值,以决定其后的操作。 MsgBox过程常用作简单的信息显示,提示字符串,对话框标题,Return,显示在消息框中的按钮:,默认按钮:,显示在消息框中的图标:,Return,Buttons参数说明,第 3 章 程序设计,3.1 顺序结构程序设计,3.2 选择结构程序设计,3.3 循环结构程序设计,Exercise,Chapter ,Homepage,Schoolwork,3.2 选择结构程序设计,单分支结构 双分支结构 多分支结构,选择结构程序设计单分支结构, 条件表达式可以是关系表达式或逻辑表达式,也可以是数值表达式。 块If结构可以嵌套。,If 条件表达式Then 语句 If 条件表达式Then 语句块 End If,示例:完善“求一元二次方程的根”的程序:当b2-4ac=0时,给出方程的实根;当b2-4ac0时,不计算。,格式,说明,行IF语句,块IF结构,Return,数值型数据逻辑型数据:非0即为真,0为假,Dim a As Integer Private Sub Form_Click() If a Then a=a + 1 Print a End Sub,选择结构程序设计双分支结构,If Then Else If Then Else End If,示例:完善“求一元二次方程的根”的程序 当b2-4ac=0时,给出方程的实根 当b2-4ac0时,给出方程的虚根,格式,Return,流程图,流程图,输入三个系数的值,b2-4ac=0?,计算一元二次方程的实根,输出方程的根,计算一元二次方程的虚根,输出方程的根,Return,选择结构程序设计多分支结构,If Then ElseIf Then Else End If,格式,说明, 不管有几个分支,程序执行一个分支后,其余分支不再执行。 ElseIf子句的数量没有限制,可根据需要使用任意多个ElseIf子句。,示例:输入百分制学生成绩,计算等级,流程图,Return,流程图,Return,算法描述:输入百分制学生成绩,计算等级,根据测试变量或表达式的值,从多个语句块中选择符合条件的一个语句块执行。,Select Case 测试变量或表达式 Case 表达式表1 语句块1 Case 表达式表2 语句块2 Case 表达式表n 语句块n Case Else 语句块n+1 End Select,选择结构程序设计多分支结构,格式,功能,数值表达式或字符串表达式,与测试变量或表达式的类型必须相同,一个表达式 一组枚举表达式 表达式1 TO 表达式2 Is ,Case 6,Case 1,3,5,7,Case 1 To 4,Case Is=80,不能用逻辑运算符连接多个表达式,根据测试变量或表达式的值,从多个语句块中选择符合条件的一个语句块执行。,Select Case 测试变量或表达式 Case 表达式表1 语句块1 Case 表达式表2 语句块2 Case 表达式表n 语句块n Case Else 语句块n+1 End Select,选择结构程序设计多分支结构,格式,功能,当有多个Case子句的取值范围和测试表达式的值域相符时,只执行符合条件的第一个Case子句后的语句块。 Select Case语句只对单个表达式求值,并根据求值结果执行不同的语句块;而IfThenElseIf语句可以对不同的表达式求值,然后执行不同的操作。,说明,示例:应用Select Case结构实现“计算学生成绩等级”程序,Return,上机作业,作业二:商店售货,按购买货物的款数多少分别给予不同优惠折扣: 购物不足250元,无折扣。 购物满250元,不足500元,减价5%。 购物满500元,不足1000元,减价7.5%。 购物满1000元,不足2000元,减价10%。 购物2000元以上,减价15%。 要求:输入购物款数,计算实付款。,作业一:输入1999间的一个数,判断其是否是水仙花数。 如果一个数等于各个位上的数字的立方和,则称为水仙花数,第 3 章 程序设计,3.1 顺序结构程序设计,3.2 选择结构程序设计,3.3 循环结构程序设计,3.3 循环结构程序设计,DO循环 FOR循环,Do While循环 Do Until循环,循环的嵌套,较比的环循种两,Exercise,Chapter ,Homepage,Schoolwork,循环结构程序设计Do While循环,Do While 条件表达式 循环体 Exit Do Loop,当循环条件为真时重复执行循环体。,格式,Do 循环体 Exit Do Loop While条件表达式,功能,前测试循环,后测试循环,可以一次也不执行循环体,至少执行一次循环体,注意:避免出现死循环,i = 1 Do while i=100 loop,i = 1 Do Loop while i=100,101,101,i = 1 Do while i=100 print i loop,【示例1】计算123100的和,定义整型变量Sum用于存放和,Sum=0,Sum=Sum+1,Sum=Sum+2,Sum=Sum+3,Sum=Sum+100,定义变量i,Sum=0:i=0,i=i+1 Sum=Sum+i,i=i+1 Sum=Sum+i,i=i+1 Sum=Sum+i,Do while,Loop,i100,Sum=0 i=0,Sum=Sum+i i=i+1,i=1,i=100,思考:如何计算10!,Return,循环结构程序设计Do Until循环,Return,Do Until 条件表达式 循环体 Exit Do Loop,在循环条件为真之前重复执行循环体。,格式,Do 循环体 Exit Do Loop Until条件表达式,功能,示例:修改“计算1+2+100”程序,要求用Do Until实现,For 循环变量 = 初值 To 终值 Step 步长 Exit For Next 循环变量,当循环变量的值在初值到终值范围内时,执行一次循环体并使初值增加一个步长。,循环结构程序设计For循环,格式,功能,说明, 循环变量是一数值型变量,初值、终值和步长都是数值型表达式 当初值=终值时,不管步长是正数还是负数,都执行一次循环体 在循环体中可以使用循环变量,但一般不再对循环变量赋值,缺省默认为1,Return,超过终值?,循环变量的值按步长变化,T,循环体,两种循环的比较,Return,Do While(Until) Loop,For 循环变量 = 初值 To 终值 Step 步长 Next 循环变量,给循环变量赋初值,必须包含让循环变量发生变化的语句, For语句格式简单、使用方便。 For循环只适用于循环次数已知的情况,而Do循环适用于任何情况。,根据公式,计算的值,要求误差小于10-6,能否用For循环实现?,Facii!,i = 2 sum = 1 Do While i = 10 sum = sum + faci i = i + 1 Loop Print sum,j = 2 faci = 1 Do While j = i faci = faci * j j = j + 1 Loop,【示例2】计算1!+2!+10!,Faci,i,计算1+2+3+10,计算i!,计算1!+2!+10!,循环嵌套应注意的问题,Return,循环嵌套应注意的问题,Do While i=10 Loop,Do While j=i Loop,For i=1 To 10 Do While i=10 Do While j=i For j=1 To i Loop Next j Next i Loop,示例3:打印图形,练习:打印数字金字塔,Return,1. 外层循环必须完全包含内层循环,不能交叉,2. 外层循环和内层循环的循环变量不能同名,3. 两种格式的循环可以相互嵌套,【示例3】打印图形,Return,【示例3】打印图形,Return,修改程序,打印如图所示的图形,【练习】打印数字金字塔,Return,【练习】,2. 找出1000之内的完全数 如果一个数恰好等于它的因子(除去它本身)之和,则称该数为完全数 如:28=1+2+4+7+14,Homepage,Chapter ,Exercise,1. 输出图形,【练习】,3.一个两位的正整数,如果将它的个位数字与十位数字对调,则产生另一个正整数,我们把后者叫做前者的对调数。现给定一个两位的正整数,请找到另一个两位的正整数,使得这两个两位正整数之和等于他们各自的对调数之和。如:12+(32)=(23)+21,Homepage,Chapter ,Exercise,4. 输出九九乘法表,【读程序】,Homepage,Chapter ,Exercise,1.分析下面程序运行结果 Private Sub Form_Click() For K = 1 To 5 S = 0: J = 1 For M = 1 To K J = J + M Next M S = S + J Next K Print “S=“;S End Sub,2.分析下面程序运行结果 Private Sub Form_Click() Dim a As Integer, b As Integer a=1:b=0 Do While a=5 b=b+a*a a=a+1 Loop Print a;b End Sub,S= 16,6 55,程序运行后,单击窗体,窗体上显示:,程序运行后,单击窗体,窗体上显示:,【上机作业】,3. 求351-432之间既不能被3整除又不能被8整除的数的个数及其和。,Homepage,Chapter ,Exercise,2. 输出图形,1. 输出100-999之间的全部水仙花数 如果一个数的各个位的数字的立方和等于这个数本身, 则称这个数为水仙花数。如:153=13+53+33,【本章习题】,1. 如果要显示VB中的预定义输入对话框,需要调用VB提供的_函数。 A MsgBox B Open C Output D InputBox 2. 用MsgBox “你好”,vbOkOnly,“Hello”语句显示的消息框窗口的标题是_。 A 你好 B vbOkOnly C OK D Hello 3. 执行下列语句后整型变量a的值是多少? A 10 B 20 C 30 D 不确定 If (3-2)2 Then a=10 ElseIf (10/2)=6 Then a=20 Else a=30 EndIf 4. 在For.Next循环语句中,如果省略Step子句,则循环的步长为_。 A -1 B 0 C 1 D 10,单击鼠标查看答案,提示,Homepage,Chapter ,Next,5.有如下程序: Private Sub Form_Click() For j = 1 To 15 A = A + j Mod 3 Next j Print A End Sub 运行后输出的结果是 。 A 1 B 15 C 90 D 120 6.下面四个语句中,能打印显示20*30字样的是 。 A Print 20 * 30 B Print Chr$(20) + “*“ + Chr$(30) C Print “20*30“ D Print Val(“20“) * Val(“30“) 7. 有如下一组程序语句,运行后的输出结果是 。 Private Sub Form_Click() Dim SUM As Integer SUM% = 19:SUM = 2.32 Print SUM%; SUM End Sub,A 19 2.32 B 19 19 C 2.32 2.32 D 2 2,【本章习题】,单击鼠标查看答案,提示,Homepage,Chapter ,Next,8.下面程序运行时,外层、中层和内层循环次数分别为_。 Private Sub Form_Click() For a = 1 To 3 For b = 1 To a For c = b

温馨提示

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

评论

0/150

提交评论