已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环程序设计教学目的:1、 熟悉VB循环程序的一般设计方法。2、 掌握VB循环语句的实现方法。教学重点:1、 VB循环设计方法的理解。2、 VB中一般循环的语句实现。(三种循环的对比)3、 VB中多重循环的实现语句。课时安排:理论教学安排8课时,上机练习8课时一、 循环的含义 重复做相类似的程序代码。Private Sub Form_Click()i=1Print Tab(i); *i=i+1Print Tab(i); *i=i+1Print Tab(i); *Print Tab(4); *Print Tab(5); *Print Tab(6); *Print Tab(7); *Print Tab(8); *Print Tab(9); *Print Tab(10); *End SubDim i as integerFor i=1 to 20 step 1Print tab(i);”*”Next iT循环初始条件循环条件循环体(改变循环条件语句)F循环执行过程:当循环条件满足时,执行循环体的内容,遇到循环的结束标志时再判断循环条件式,一直到条件式不成立时执行循环结束语句后的代码。二、 for next循环(计数循环)格式:for 循环变量=初值 to 终值 step 步长next 循环变量 步长为1的时候,step可以省缺。例如:For i=1 to 5 step 2Print i*2Next iPrint “i=”;i执行过程:1) 初值1送给i2) 判定条件i5 then print x*2else print x*3endif next x2、P106 三(2)(3)(4)有一些循环无法确定初值及终值。用fornext循环不容易实现。已知循环的开始值为n,计数的初值为0,循环的条件:计数到100时停止。Private Sub Command1_Click()Dim i As IntegerDim n As Integern = Val(Text1.Text)i = 0Do While i 100(两种方式具有相同的功能,编程时可以随意选用)If n Mod 7 0 Then List1.AddItem n i = i + 1End Ifn = n + 1LoopEnd Sub三、 do loop循环 1)前测式格式:设置变量初值Do while/until 条件式 循环体Loop 功能:当条件式成立/不成立时执行循环体。(先判定条件式再执行。) 执行过程:1)设置变量初值2)(DO语句执行)当条件式的值为真/假时,执行循环体,不成立/成立时执行loop后的语句。3)循环体执行4)遇到loop时转向2)进行条件式判断。例如:1)求s=1+2+N初值:s=0,i=1条件式:i=nDim s as integerDim I as integerS=0:i=1N=val(inputbox(“”) Do while i=nS=s+i:i=i+1loopPrint “s=”;sDim s as integerDim I as integerS=0N=val(inputbox(“”) For I =1 to N step 1S=s+iNext iPrint “s=”;sDim s as integerDim I as integerS=0:i=1N=val(inputbox(“”) Do while inS=s+i:i=i+1loopPrint “s=”;s2)求s=1+2+N,使得S大于10000的最小N值。初值:s=0;i=1条件式:s10000Dim s as integerDim I as integerS=0:I=1Do while s 10000S=s+I:I=i+1LoopPrint “最小的N值为” & i-1Do whileloop:当条件式成立时执行循环体。Do untilloop: 当条件式不成立时执行循环体。3)P113-114例5.5,例5.6,例5.7例5.5改成do while循环Dim x as integerDim y as integerX=1Do while x= A And t = Z Then y = y & x End IfNext kText2.Text = yEnd Sub练习:P113. 例5.6例5.72)后测式格式:设置变量初值Do 循环体Loop while/until 条件式功能: 先执行循环体,当条件式成立/不成立时继续。(首先执行一次循环后再判定条件,即使条件式不成立,循环也会执行一次)例如:Dim I As IntegerI = 10Do While I 9Print 执行循环I = I + 1Loop Dim I As IntegerI = 10DoPrint 执行循环I = I + 1Loop While I 9Print “执行循环”I=i+1loopDim I as integerI=10Do Print “执行循环”I=i+1loop until i9练习:P114.例5.8辗转相除的含义 求最大公约数 (4,6)最大公约数2 (16,24)最大公约数8 (1)24 /16=P1(商数1)+R1(余数8)(2)16/r1=P2(商数2)+r2(余数0)G(被除数,除数)=G(除数,余数)2)P135上机练习6:-取数字串?Private Sub Command1_Click()Dim s As String, y As String, t As StringDim k As Integers = Trim(Text1.Text) 将输入的字符串存入s中,trim函数用来去掉两边的空格y = 用来记录生成的字符串For k = 1 To Len(s) 逐个取字符串的字符,并判断是否为字符型。 x = Mid(s, k, 1) t = UCase(x) 将x转换成大写字母 If t = A And t = Z Then y = y & x End IfNext kText2.Text = yEnd Sub3)在文本框text1中输入一串字符,试统计字母“A”(不区分大小写)的出现次数,并将出现次数显示在标签label1上。Dim st as string,st1 as stringDim k as integer,s as integerList1.clearSt=trim(text1.text)K=1:s=0 S用来计数,记录A的个数。Do while k=len(st)St1= mid(st,k,1)If st1=”A” or st1=”a” thenS=s+1List1.additem kEndifK=k+1LoopLabel2=”字母A出现了” & s &“次!”四、 循环的退出语句循环的While格式:(功能与do while完全相同)While 条件式 循环体wend格式: Exit for/do功能:不必等到循环条件不成立而从循环体中强制退出。例如:判定数N是质数还是合数。(质数指的是约数只1与它本身的数) 判断方法:从2到n/2找n的约数,只要找到一个,则n为质数,否则为合数。(一个数的约数小于等于这个数开平方。)Dim n as integerDim flag as integerDim I as integerN=val(text1.text)Flag=0For i=2 to n-1 step 1 If n mod i=0 then flag=1:exit forNext iIf flag=0 then Text2.text= n & “是一个质数!”ElseText2.text= n & “是一个合数!”Endif练习:P116.例5.9Do While true-永真死循环。循环体内必须含有exit do的语句。五、 多重循环(类似于分支嵌套)循环体内仍然包含有循环语句。For i=Next iFor j=Next j多重循环的最内层语句的执行次数等于多重循环每层执行次数的积。Private Sub Form_Load()Dim i As IntegerDim j As IntegerShowFor i = 1 To 5 Step 1 Print 当前i的值为 & i For j = 1 To 3 Step 1 Print 当前i的值为 & i, Print 当前j的值为 & j Next jNext iEnd SubI=1 (j=1,j=2,j=3)I=2 (j=1,j=2,j=3)I=3I=4I=5多重循环不允许出现交叉。例如:1) for i=1 to 3 step 1 print “i=”;i for j=1 to 2 step 1 print “i=”;I,”j=”;j next j next i I=1 J=1 J=2 J=3, 转向next iI=2 J=1 J=2 J=3, 转向next iI=3J=1 J=2 J=3, 转向next iI=4,转向next I 的后继语句输出结果为:I=1I=1 j=1I=1 j=2I=2I=2 j=1I=2 j=2I=3I=3 j=1I=3 j=2试分析下列程序结果:For i=2 to 6 step 3 Print “i=”;i For j=1 to 5 step 2 Print “j=”;j; 保证内循环的结果在同一行 Next j Print 用来换行Next i 外循环(i=2,i=5) 内循环(j=1,3,5)P127例5-16 输出乘法口诀表。Private Sub Command1_Click()Dim i As Integer 输出行Dim j As Integer 输出列For i = 0 To 9 Step 1 用来输出表的第一行Picture1.Print Tab(4 * i + 1); i;Next iFor i = 1 To 9 Picture1.Print Tab(1); i; For j = 1 To i Picture1.Print Tab(4 * j + 1); i * j; Next j PrintNext iEnd Sub2)Private Sub Command1_Click()Dim i As IntegerDim j As IntegerPicture1.ClsFor i = 1 To 7 Step 1有7个输出行 Picture1.Print Tab(20 - i);每一行的开始输出位置。 For j = 1 To 2 * i 1每行输出个数 Picture1.Print Chr(i + 48); Next j PrintNext iEnd Sub 外循环i表示输出行内循环j表示每一行输出多少个字符。For i=1 to 7 Print tab(20-i); For j=1 to 2*i-1 Print chr(i+48); Next j Print Next i编程输出下列图形: * * *For i=1 to 7 Print tab(20-i); For j=1 to 2*i-1 Print “*”; Next j Print Next i * * *For i=1 to 7 Print tab(10+i); For j=1 to i Print “*”; Next j Print Next i* * *For i=7 to 1 step -1 Print tab(20-i); For j=1 to 2*i-1 Print “*”; Next j Print Next i4)求四位数ABCD其中a=b,c=d,并且这个四位数是78的倍数。 分析:由于N为四位数ABCD且有A=B,C=D,则四位数N可写为N=A*1100+C*11,A可从1变化到9,C可从0变化到9,可构成双重循环。 判定条件:n mod 78 =0For a= 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新疆维吾尔自治区烟草专卖局人员招聘笔试备考试题及详细答案解析
- 2026年四川省国有资产经营投资管理有限责任公司人员招聘考试参考试题及详细答案解析
- 2025输血有关试题及答案
- 2025小学生科普常识知识竞赛题库道含完整答案(历年真题)
- 2025新《安全生产法》知识竞赛测试试题库及答案(共50题)
- 2025医院护士招聘笔试题库及答案
- 初中七年级地理教学设计:地球自转与公转的时空认知构建
- 2025作物栽培学试题及答案
- 2026春招:国家电网真题及答案
- 九年级物理教学设计:动态电路电表示数变化规律探究
- 事业单位财会岗招聘笔试高频考题试卷及解析
- 2027届高三语文上学期全国各地名校9月模考病句修改汇编(含答案)
- 2026年《中国病毒性心肌炎诊疗临床指南(2026版)》
- 《化工企业设备检修作业安全规范》(AQ 3026-2026)解读化危为安
- 新背景下的2027年高考语文一轮备考策略
- ASTM D5276-23 中文版(运输包装件自由跌落测试标准 完整原文 + 不同重量跌落高度对照表)
- 2026 年世界标准日标准化知识科普课件
- 2026年危重患者抢救制度培训课件
- 2025-2026学年高一化学上学期第一次月考01(人教版必修第一册)A4版
- 2026通信工程专业招聘笔试精练(企业版)
- 2026华医网继续教育危重症患者气道精细化管理题库及答案
评论
0/150
提交评论