程序控制结构与算法基础.ppt

上传人:工**** 文档编号:568805257 上传时间:2024-07-26 格式:PPT 页数:40 大小:302KB
返回 下载 相关 举报
程序控制结构与算法基础.ppt_第1页
第1页 / 共40页
程序控制结构与算法基础.ppt_第2页
第2页 / 共40页
程序控制结构与算法基础.ppt_第3页
第3页 / 共40页
程序控制结构与算法基础.ppt_第4页
第4页 / 共40页
程序控制结构与算法基础.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《程序控制结构与算法基础.ppt》由会员分享,可在线阅读,更多相关《程序控制结构与算法基础.ppt(40页珍藏版)》请在金锄头文库上搜索。

1、Visual Basic程序设计程序设计 http:/ 1第第4 4章章 程序控制结构与算法基础程序控制结构与算法基础Visual Basic程序设计程序设计 http:/ 2代码书写规则代码书写规则每个语句一行,以回车键结束;多个语句可以写在同一行上,各语句之间用冒号(:)进行分隔;一条长语句可以分成多行书写,在除最后一行之外的其余各行的末尾使用下划线(_)作为续行符,并且续行符与它前面的字符之间至少要有一个空格;所有语句中的变量名、函数名、关键字、对象名、对象属性名、对象方法名等均不区分大小写,但保留定义时所使用的大小写格式;代码的物理行最多可含1023个字符,一个逻辑行最多可由10个物理

2、行组成。Visual Basic程序设计程序设计 http:/ 3自动语法检测自动语法检测VB的IDE默认情况下具有自动语法检测功能。如果用户输入有语法错误的语句,在按下回车键后,系统将弹出一个出错提示框,并用红色标出有语法错误的语句。 Visual Basic程序设计程序设计 http:/ 4赋值语句赋值语句格式:变量对象.属性名 =表达式 可以给一个变量(或对象的属性)多次赋值,但变量中保留的是最后一次的值。累加:B=B+N 累乘:C=C*NVisual Basic程序设计程序设计 http:/ 5交换两个变量的值交换两个变量的值中间变量法T=AA=BB=T数值加减法A=A+B B=A-B

3、 A=A-B 适合任何两个相同类型的变量适合两个数值类型的变量Visual Basic程序设计程序设计 http:/ 6赋值相容赋值相容相容是指变量或对象的属性能够正确存取赋值号右边的表达式的值。 一般要求用于赋值的表达式的结果类型与变量的类型保持一致。 Visual Basic程序设计程序设计 http:/ 7示例示例Dim A As Integer, B As Long, C As Single, D As Date, S As StringA = 100B = 200C = 14.5D = 31.4S = 3.14A = S 纯数字字符串可以当作数赋给数值类型的变量B = D 日期型数据

4、可转换为数值D = A 一个数值也可以转换为日期时间S = C 任何类型的数据均可给字符串型变量赋值S = XYZA = S 出错,类型不匹配此外,还可以将数值(含纯数字字符串)赋值给Boolean类型的变量,所有不等于0的数值转换为True,0转换为False。将Boolean类型的数据赋值给数值类型的转换方法为:True-1,False0Visual Basic程序设计程序设计 http:/ 8给对象类型的变量赋值给对象类型的变量赋值格式:Set 对象变量=对象引用示例Dim frm As Object 定义frm为Object类型的变量Set frm = Form1 将对窗体Form1的

5、引用赋给frmfrm.Caption = Hello 将窗体Form1的标题设置为“Hello” Visual Basic程序设计程序设计 http:/ 9暂停、结束、注释暂停、结束、注释暂停:Stop,VB进入中断模式,打开“立即窗口”。 Stop语句被执行后,并不退出VB系统,如果在可执行文件(.EXE)中含有Stop语句,则将会关闭文件。 结束:End,结束VB程序执行。注释单引号:单引号后的内容为注释Rem:注释一整行Visual Basic程序设计程序设计 http:/ 10算法算法程序=数据结构+算法算法是解决问题的方法、步骤,是程序的核心。 算法的特性确定性能行性有穷性输入输出V

6、isual Basic程序设计程序设计 http:/ 11传统流程图传统流程图图形符号图形符号名称名称含义含义起止框表示一个算法的开始或结束输入/输出框在框中指定输入或输出的数据处理框表示一种处理判断框框中指出判断条件,框外可连接两条流程线,分别指明条件为真(True)时或条件为假(False)时的处理流向流程线用于连接各个图形框,表示处理流向Visual Basic程序设计程序设计 http:/ 12流程图示例流程图示例输入两个数A与B,求出其中大的数并输出。 开始结束输入A,BAB?Max=AMax=B输出MaxTrueFalseVisual Basic程序设计程序设计 http:/ 13

7、程序的三种基本结构程序的三种基本结构顺序结构:按语句书写顺序执行。分支结构:也叫选择结构,根据一个条件决定程序执行的走向。循环结构:将某些语句重复执行有限次。Visual Basic程序设计程序设计 http:/ 14顺序结构顺序结构语句A语句BVisual Basic程序设计程序设计 http:/ 15示例示例输入正方形边长,求其周长与面积。 开始输入边长AL=4*AS=A2输出L、S结束Private Sub Command1_Click() Dim A As Single, L As Single, S As Single A = Val(Text1.Text)获取Text1中的内容 L

8、 = 4 * A S = A 2 Text2.Text = L在Text2中输出周长 Text3.Text = S在Text3中输出面积End SubVisual Basic程序设计程序设计 http:/ 16分支结构分支结构-If-If语句语句单行结构If语句If 条件 Then 语句A Else 语句B块结构If语句If 条件 Then 语句块AElse 语句块BEnd IfVisual Basic程序设计程序设计 http:/ 17IfIf语句流程图语句流程图条件语句A条件语句A语句BTrueTrueFalse(a)(b)FalseVisual Basic程序设计程序设计 http:/

9、18示例示例输入一个整数,若为偶数,则输出“偶数”,否则输出“奇数”。 开始X0输入A偶数FalseTrue结束奇数Private Sub Form_Click() Dim X As Integer X = Val(InputBox(输入一个整数A) If X Mod 2 = 0 Then Print 偶数 Else Print 奇数End Sub Visual Basic程序设计程序设计 http:/ 19说明说明If语句中的条件一般是一个逻辑表达式,也可以是一个返回值为数值的表达式。如果是数值表达式,则0对应False,非0的任何数对应True。 If语句中如果条件成立,则执行对应的语句或

10、语句块,然后便跳出条件语句结构。 在块结构的条件语句中,语句块中的语句不能与Then、Else书写在同一行上。 单行结构的条件语句中不能有End If,而块结构的条件语句中不能缺少End If。 Visual Basic程序设计程序设计 http:/ 20练习练习输入一个三位正整数,判断其是否为水仙花数。水仙花数:一个三位整数等于其各位数字的立方和,如153=13+53+33输入一个年份,判断该年是否为闰年。满足下列条件之一的年份即为闰年年份能被4整除但不能被100整除年份能被400整除Visual Basic程序设计程序设计 http:/ 21多分支语句多分支语句-If-If-ElseIfE

11、lseIfIf 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2ElseIf 条件3 Then 语句块3Else 语句块n+1End If条件条件11语句块语句块11TrueTrueFalseFalse条件条件22语句块语句块22TrueTrueFalseFalse条件条件33TrueTrueFalseFalse语句块语句块33语句块语句块n+1n+1ElseIf中的Else与If之间不能有空格!ElseIf语句的数量没有限制!前面的条件成立执行对应语句后结束!Visual Basic程序设计程序设计 http:/ 22多分支语句多分支语句-Select Case-Sele

12、ct CaseSelect Case 测试表达式 Case 表达式列表1 语句组1 Case表达式列表2 语句组2 Case表达式列表3 语句组3 Case Else 语句组n+1End SelectVisual Basic程序设计程序设计 http:/ 23Select CaseSelect Case语句功能语句功能首先计算出测试表达式的值,然后自上而下依次与各个表达式列表进行比较,如果匹配,则执行相应的语句组,然后跳到End Select后面的语句继续执行;如果测试表达式的值不能与给出的任何一个表达式列表匹配,则执行Case Else之后的语句组。如果缺省了Case Else部分,而测试表

13、达式的值不能与给出的任何一个表达式列表匹配,则不执行任何语句组,直接跳到End Select后的语句执行。Visual Basic程序设计程序设计 http:/ 24测试项的形式测试项的形式1.具体的取值(表达式),值与值之间用逗号分隔。如:1,3,5,A+B等。2.连续的范围,范围是用关键字To连接的两个值。如:10 To 20,”A” To “Z”。3.使用Is关键字构成的比较表达式。如:Is=10。也可以是上述几种形式的组合,用逗号分也可以是上述几种形式的组合,用逗号分隔开。隔开。Visual Basic程序设计程序设计 http:/ 25示例示例输入一个成绩,输出此成绩相应的等级。 C

14、J=90TrueFalseDJ=”良好良好”TrueFalseTrueFalseDJ=”中等中等”开始开始CJ=80CJ=70CJ=60TrueDJ=”及格及格”DJ=”不及格不及格”FalseDJ=”优秀优秀”输出输出DJ结束结束输入输入CJPrivate Sub Command1_Click() Dim CJ As Single, DJ As String CJ = Val(Text1.Text) 获取成绩 Select Case CJ 判断等级 Case Is = 90 DJ = 优秀 Case Is = 80 DJ = 良好 Case Is = 70 DJ = 中等 Case Is =

15、 60 DJ = 及格 Case Else DJ = 不及格 End Select Text2.Text = DJ 输出等级End Sub注意注意在Select Case语句中,各测试项执行的顺序是自上而下依次判断的,如果执行到“Case Is = 80”,说明“Is = 90”已经不成立,一定要注意书写的顺序,如果顺序混乱,可能导致结果不正确。 Visual Basic程序设计程序设计 http:/ 26练习练习输入一个月份,输出该月有多少天。编写一个简单计算器,只要能实现辊减乘除运算即可。 Visual Basic程序设计程序设计 http:/ 27IIfIIf函数函数格式:IIf(逻辑表

16、达式逻辑表达式,值值1,值值2) IIf函数的功能类似于有两个分支的If语句。当逻辑表达式的值为True时,函数返回值1,当逻辑表达式的值为False时,函数返回值2。 If AB Then MaxData=AElse MaxData=BEnd If可以简化为:可以简化为:MaxData=IIf(AB,A,B) Visual Basic程序设计程序设计 http:/ 28循环结构循环结构-For-For循环循环For循环也叫计次循环,格式为:For 循环变量循环变量=初值初值 To 终值终值 Step 步长步长循环体循环体Exit For循环体循环体Next 循环变量循环变量Visual Ba

17、sic程序设计程序设计 http:/ 29说明说明-1-1(1)循环变量。用做循环计数器的数值变量,不能是布尔类型或数组元)循环变量。用做循环计数器的数值变量,不能是布尔类型或数组元素。素。(2)初值。循环变量的初始值,一般是一个数值表达式。)初值。循环变量的初始值,一般是一个数值表达式。(3)终值。循环变量的终值,一般是一个数值表达式。)终值。循环变量的终值,一般是一个数值表达式。(4)步长。循环变量的增量,一般是一个数值表达式。其值可正可负,)步长。循环变量的增量,一般是一个数值表达式。其值可正可负,但不能为但不能为0。步长可以省略,若省略,则步长为。步长可以省略,若省略,则步长为1。(5

18、)循环体。放在)循环体。放在 For 和和 Next 之间的一条或多条语句,它们将被执行指之间的一条或多条语句,它们将被执行指定的次数。定的次数。(6)Exit For。退出当前一层。退出当前一层For-Next循环。循环中可以在任何位置放置循环。循环中可以在任何位置放置任意个任意个 Exit For 语句,随时退出循环。语句,随时退出循环。Exit For通常在条件判断之后使通常在条件判断之后使用,例如用,例如 If.Then,并将控制权转移到紧接在,并将控制权转移到紧接在 Next 之后的语句。之后的语句。(7)Next。循环结构的最后一个语句,其后的循环变量可以缺省,若不。循环结构的最后

19、一个语句,其后的循环变量可以缺省,若不缺省,则要与缺省,则要与For语句中的循环变量一致。语句中的循环变量一致。Visual Basic程序设计程序设计 http:/ 30说明说明-2-2For-Next循环遵循“先检查后循环”的原则。步长为正,循环变量初值大于终值时,不循环;步长为负,循环变量初值小于终值时,不循环。Visual Basic程序设计程序设计 http:/ 31ForFor循环的执行循环的执行1.把初值赋给循环变量;2.检查循环变量值是否超过终值,若超过,则不执行循环体而转到Next后一条语句执行,否则转到3;3.执行一次循环体;4.循环变量=循环变量+步长;5.转到2。循环变

20、量循环变量=初值初值循环变量超循环变量超过终值?过终值?FalseTrue循环体循环体循环变量循环变量=循环变量循环变量+步长步长Next后一条语句后一条语句Visual Basic程序设计程序设计 http:/ 32示例示例求1+2+3+100。 I=1I100?FalseTrueS=S+II=I+1开始开始S=0输出输出S结束结束Dim I As Integer, S As IntegerFor I = 1 To 100 S = S + INextPrint 1+2+3+.+100=; S循环结束后I=?Visual Basic程序设计程序设计 http:/ 33注意注意如果在For循环中

21、,循环变量的初值、终值及步长是用变量表示的,则这些变量在循环体中的改变不会影响循环次数。问:如下程序循环多少次? Dim A As Integer, B As Integer Dim C As Integer, I As Integer A = 1: B = 10: C = 1 For I = A To B Step C A = A + 1 B = B - 1 C = C + 1 Next答案:10次Visual Basic程序设计程序设计 http:/ 34练习练习求N!输入一个整数,判断其是否为素数。素数:一个整数除了1与本身之外再无其他因子。随机生成10个两位整数并输出。找出1000以内

22、所有同构数。Visual Basic程序设计程序设计 http:/ 35循环结构循环结构-Do-Do循环循环Do循环有当型与直到型两种。Do While 条件条件 循环体循环体 Exit Do 循环体循环体LoopDo 循环体循环体 Exit Do 循环体循环体Loop While 条件条件Do Until 条件条件 循环体循环体 Exit Do 循环体循环体LoopDo 循环体循环体 Exit Do 循环体循环体Loop Until 条件条件当型直到型条件循环体TF条件循环体TF条件循环体FT条件循环体FTVisual Basic程序设计程序设计 http:/ 36说明说明(1)对于循环次数

23、未知的情况下,Do-Loop循环十分有用。(2)在Do While循环中,当条件为真时,要继续循环;在Do Until循环中,条件为真时,结束循环。(3)在Do-Loop循环中可以没有While或Until部分,也称为无条件循环,但在循环体中一定要有Exit Do语句,否则会造成死循环。与Exit For语句一样,Exit Do语句通常在条件判断之后使用。(4)Exit Do语句可以退出当前一层Do循环,把控制权转移到Loop语句后的语句。Visual Basic程序设计程序设计 http:/ 37示例示例求两个整数的最大公约数。经典算法:欧几里德算法 开始开始输入输入M、NR0M=NN=R输

24、出输出N结束结束TrueFalseR=M Mod N Dim M As Integer, N As Integer, R As Integer M = InputBox(输入M) N = InputBox(输入N) R = M Mod N Do While R 0 M = N N = R R = M Mod N Loop Print 最大公约数为:; NVisual Basic程序设计程序设计 http:/ 38结构的嵌套结构的嵌套一个结构把另一个结构完全包含。注意嵌套的层数没有限制。一个控制结构必须完全位于另一个结构之内。结构层次比较多时,应尽可能让程序呈现锯齿形。多个循环结构嵌套时,注意循

25、环控制变量的使用。 正确的嵌套正确的嵌套错误的嵌套错误的嵌套Visual Basic程序设计程序设计 http:/ 39嵌套中的嵌套中的ExitExit语句语句当有多个Do循环嵌套时,Exit Do语句只跳出当前一层Do循环;当有多个For循环嵌套时,Exit For语句只跳出当前一层For循环;当Do循环与For循环嵌套时,使用Exit Do语句可退出Do循环,若内层循环为For循环,则Exit Do语句同时跳出For循环;使用Exit For语句可退出For循环,若内层循环为Do循环,则Exit For语句同时跳出Do循环。Visual Basic程序设计程序设计 http:/ 40练习练习随机生成十个能被3整除但不能被5整除的三位整数。 用矩形法求定积分。计算近似值。返回

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号