《医学信息技术基础:第4讲循环结构》由会员分享,可在线阅读,更多相关《医学信息技术基础:第4讲循环结构(37页珍藏版)》请在金锄头文库上搜索。
1、医学信息技术.1第第4讲讲 循环结构循环结构医学信息技术.2要点回顾要点回顾顺序结构顺序结构基本语句的使用基本语句的使用分支结构分支结构单分支、双分支、多分支、分支嵌套单分支、双分支、多分支、分支嵌套条件表达式的构造条件表达式的构造分支嵌套与多分支的异同分支嵌套与多分支的异同医学信息技术.3医学信息技术.4循环的构成循环是在计算机重复执行的一组指令。初始值条件改变循环状态医学信息技术.5学习要点学习要点循环的概念ForNextDoLoopForEachNext(略)医学信息技术.6例:求例:求1+2+3+.+100的和的和Sum=0Sum=Sum+1Sum=Sum+2Sum=Sum+3.Sum
2、=Sum+100不断重复的语句不断重复的语句:Sum=Sum+?医学信息技术.7循环的概念循环的概念重复执行的特定工作序列重复执行的特定工作序列循环体循环体循环开始的条件循环开始的条件初始条件初始条件循环执行的条件循环执行的条件循环条件循环条件循环结束的条件循环结束的条件结束条件结束条件循环次数循环次数医学信息技术.8一、ForNext循环语句格式:For = To Step Next 医学信息技术.9流程图医学信息技术.10例:求例:求1+2+3+100的和的和Dim i as integerDim s as integer = 0For i=1 To 100 Step 1 s = s +
3、iNext i医学信息技术.11 1)语句说明:)语句说明:语句中的参数(循环变量、初值、终值、语句中的参数(循环变量、初值、终值、步长)都是步长)都是数值型数值型。步长为正数时,初值步长为正数时,初值终值。终值。step缺省时,步长的缺省缺省时,步长的缺省值为值为1。循环体是循环多次执行的程序段。循环体是循环多次执行的程序段。循环体循环的次数循环体循环的次数 =Int(终值一初值终值一初值)/步长步长+1)医学信息技术.12 2)使用注意)使用注意:如果步长为零,将产生死循环,即程序一如果步长为零,将产生死循环,即程序一直重复执行循环体。直重复执行循环体。在循环体内可多次引用循环变量,但不能
4、在循环体内可多次引用循环变量,但不能改变它的值,否则影响原有的循环规律。改变它的值,否则影响原有的循环规律。退出循环后,循环变量仍保持退出时的值。退出循环后,循环变量仍保持退出时的值。医学信息技术.13二、二、DoDoLoopLoop结构结构格式格式1: Do while Loop该结构不必考虑循环次数,只关注循环的该结构不必考虑循环次数,只关注循环的终止条件。终止条件。医学信息技术.14DoLoop语句是语句是Visual Basic 2010中另一种中另一种形式的循环结构,与形式的循环结构,与ForNext循环循环不同不同的的是:它是是:它是不确定循环次数不确定循环次数的循环结构,而的循环
5、结构,而是根据给定是根据给定“条件条件”的成立与否决定程序的成立与否决定程序的流程。的流程。医学信息技术.15求和代码等价改写求和代码等价改写Dim i As Integer =1Dim s As Integer = 0 Do while i=100 s = s + i i = i + 1LoopLabel1.Text = s 医学信息技术.16比较两种写法比较两种写法FORNEXTDim i as integerDim s as integer = 0For i=1 To 100 Step 1 s = s + iNext ILabel1.Text = s DOLOOPDim i As Int
6、eger =1Dim s As Integer = 0 Do while i=100 s = s + i i = i + 1LoopLabel1.Text = s 医学信息技术.17格式格式2: Do Loop while 执行方式:执行方式:先执行一次循环体先执行一次循环体,再测试条,再测试条件,其他与格式件,其他与格式1语句相同。语句相同。医学信息技术.18条件条件Loop while的的下一条下一条语句语句NY循环体循环体流程图医学信息技术.19Dim i As Integer = 1Dim s As Integer =0Do s = s + i i = i + 1Loop While
7、i = 100Label1.Text = s 求和代码等价改写医学信息技术.20如何求如何求N!Dim n as integerDim s as integer = 1n= Val(TextBox1.Text)For i=1 To N Step 1 s = s * iNext ILabel1.Text = s 医学信息技术.21笼子里面共有笼子里面共有35个头、个头、134个脚,问鸡个脚,问鸡和兔子各有几只?和兔子各有几只?医学信息技术.22穷举法:鸡兔同笼问题医学信息技术.23Ji = 0 Tu = tou - ji判断:判断:ji * 2 + tu * 4 = jiaoJi = 1Tu =
8、 tou - ji判断:判断:ji * 2 + tu * 4 = jiao穷穷举举法法Ji = 2Tu = tou - ji判断:判断:ji * 2 + tu * 4 = jiao医学信息技术.24Dim ji As Integer, tu As IntegerDim tou As Integer = TextBox1.TextDim jiao As Integer = TextBox2.Textji = 0tu = tou - jiDo While ji * 2 + tu * 4 jiao ji = ji + 1 tu = tou - jiLoopTextBox3.Text = jiText
9、Box4.Text = tu医学信息技术.25代码完善如果输入者随便输入了一些值,导致无法正确计算出结果,那么应该怎么完善代码解决这种情况呢?医学信息技术.26 Do While ji * 2 + tu * 4 jiao Do While ji * 2 + tu * 4 jiao ji = ji + 1 ji = ji + 1 tu = tou - ji tu = tou - ji If ji tou ThenIf ji tou Then MsgBox(“ MsgBox(“无法得出结果,请重新输入!无法得出结果,请重新输入!无法得出结果,请重新输入!无法得出结果,请重新输入!) Exit Do
10、 Exit Do End If End IfLoopLoop医学信息技术.272.3数组数组是一种特殊的变量。用数组名和下标数组是一种特殊的变量。用数组名和下标(元素在数组中的序号)来引用数组中的(元素在数组中的序号)来引用数组中的每个元素。数组有上下界,数组的元素在每个元素。数组有上下界,数组的元素在上下界中是连续的,系统为每个元素分配上下界中是连续的,系统为每个元素分配存储空间存储空间医学信息技术.28Dim B(4) As Integer 声明一个有声明一个有5个元素(个元素(4-0+1)的一维的整型数组)的一维的整型数组医学信息技术.29举例从键盘输入从键盘输入10个数,找出这些数中的
11、个数,找出这些数中的最大值和最小值并打印出来。要求设最大值和最小值并打印出来。要求设计计按钮按钮单击事件来进行数据处理。单击事件来进行数据处理。设计:创建一个窗体,添加一个按钮,设计:创建一个窗体,添加一个按钮,作为计算处理按钮,添加两个标签作作为计算处理按钮,添加两个标签作为结果输出。利用按钮的单击事件启为结果输出。利用按钮的单击事件启动数据处理程序。动数据处理程序。医学信息技术.30思路第第一一次输入次输入x x: x既是既是max也是也是min。第第二二次输入次输入x:x: 如果如果 xmax 则则 max=x 如果如果 xmax 则则 max=x 如果如果 xmin 则则 min=x循
12、环变量赋初值循环变量赋初值循环变量赋初值循环变量赋初值循环体语句循环体语句循环体语句循环体语句医学信息技术.31 Dim a(9) As Single Dim max, min As Single For i = 0 To 9 a(i) = InputBox(请输入第请输入第& i & 个数个数) Next max = a(0) min = a(0) For i = 1 To 9 If max a(i) Then min = a(i) Next Label2.Text = “最大数是最大数是: + Str(max) Label3.Text = “最小数是最小数是: + Str(min)赋赋赋赋
13、初初初初值值值值循循循循环环环环体体体体医学信息技术.32死循环死循环死循环的概念死循环的概念程序执行流程无法跳出循环体程序执行流程无法跳出循环体死循环的条件死循环的条件循环变量的值无法达到循环结束控制条件循环变量的值无法达到循环结束控制条件避免死循环的方法避免死循环的方法循环变量循环变量选择适合的循环结构选择适合的循环结构医学信息技术.33例例. 计算算1+1/2+1/3+l/n 5的最小的最小n值。医学信息技术.34解解题思路:思路:初始状初始状态:s=0,n=1第一次第一次:n=1, s=s+1/n, 如果如果s 5,输出出n;第二次第二次:n=2, s=s+1/n, 如果如果s 5,输
14、出出n;第三次第三次:n=3, s=s+1/n, 如果如果s 5,输出出n;医学信息技术.35Dim n as integer = 1Dim s as single = 0Dim ss as single = textbox1.textDo s=s+1/n n=n+1Loop while s=ss then exit doLoop while Truetextbox2.text=n强制退出循环结构医学信息技术.37课后作业课后作业思考练习思考练习现实世界中循环的例子现实世界中循环的例子几种循环结构的相同及不同点几种循环结构的相同及不同点死循环的避免方法死循环的避免方法课后预习课后预习通用数组与双重循环通用数组与双重循环