《循环结构续》PPT课件.ppt_第1页
《循环结构续》PPT课件.ppt_第2页
《循环结构续》PPT课件.ppt_第3页
《循环结构续》PPT课件.ppt_第4页
《循环结构续》PPT课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第1章 VB.NET集成开发环境 1,复习,变量超过终值?,循环变量加上步长 (Next语句),语句块(循环体),No,Yes,Next的下条语句,如果在循环体中遇到 Exit For 语句,则强行中止循环,循环变量 保存终值和步长 (For语句),For = to step Next ,第1章 VB.NET集成开发环境 2,一个炊事员上街采购,用500元钱买了90只鸡, 其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱买完。问母鸡、公鸡、小鸡各买多少只? 分析:设母鸡I只,公鸡J只,则小鸡为90-I-J只,则15*I+ 10* J+(90-I-J)*5=500,显然一个方程求两个未知数是不能直接求解。必须组合出所有可能的i,j值,看是否满足条件。这里I的值可以是0到33,J的值可以0到50。,第1章 VB.NET集成开发环境 3,第1章 VB.NET集成开发环境 4,Dim i, j For i = 0 To 33 For j = 0 To 50 If i * 15 + j * 10 + (90 - i - j) * 5 = 500 Then Label1.Text = Label1.Text & vbCrLf & “母鸡“ & i & “只“ & Space(2) & “公鸡“ & j & “只“ & Space(2) & “小鸡“ & 90 - i - j & “只“ Next Next,第1章 VB.NET集成开发环境 5,【编程:水仙花数问题】 所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例如,153是水仙花数,因为153=13+53+63 。 方法1: 利用三重循环,将三个个位数连接成一个3位数进行判断。例如,将i,j,k三个个位数连成一个三位数的表达式为:i*100+j*10+k,判断i*100+j*10+k=i3+j3+k3 方法2:对100-999的每个数分别判断是不是水仙花数:将数分解成个位,十位,百位,进行判断,第1章 VB.NET集成开发环境 6,Dim i, j, k, str, a For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 If (i * 100 + j * 10 + k) = (i 3 + j 3 + k 3) Then a = a & i & j & k & Space(2) End If Next Next Next MessageBox.Show(a),第1章 VB.NET集成开发环境 7,Dim i, a, b, c, str For i = 100 To 999 a = Mid(i, 1, 1) b = Mid(i, 2, 1) c = Mid(i, 3, 1) If a 3 + b 3 + c 3 = i Then str = str & i & Space(2) End If Next MessageBox.Show(str),第1章 VB.NET集成开发环境 8,例题:效果演示 编程实现以下功能,按下键盘wsad键控制图片上下左右移动, 思考:一般情况下图片应该放在哪个控件?设置什么属性? 按下键盘是什么事件 怎么返回按下的键? 如何改变图像的位置,keypress,Picturebox,image属性,e.keychar,Left,top,Private Sub Button1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress a = e.KeyChar Select Case a Case “w“ Button1.Top = Button1.Top - 1 Case “s“ Button1.Top = Button1.Top + 1 Case “a“ Button1.Left = Button1.Left - 1 Case “d“ Button1.Left = Button1.Left + 1 Case Else MessageBox.Show(“请用wsad键控制图片上下左右移动“) End Select,第1章 VB.NET集成开发环境 10,例题 程序填空,编程实现右图效果 Dim I As Integer, J As Integer For I = 1 To 5 TextBox1.Text = TextBox1.Text & Space(8 - I) For J = 1 To ( ) TextBox1.Text = TextBox1.Text &( ) Next J TextBox1.Text =( ) Next I End Sub,2*I-1,Chr(Asc(“A“) + I - 1),TextBox1.Text & vbCrLf,第1章 VB.NET集成开发环境 11,继续思考:如何打印出倒三角的效果来 Dim a, i, j For i =( ) TextBox1.Text = TextBox1.Text & Space(8 - i) For j =( ) TextBox1.Text = TextBox1.Text & Next j TextBox1.Text = TextBox1.Text & vbcrlf Next i,4 To 1 Step -1,1 To 2 * i - 1,Chr(Asc(“A“) + i - 1),第1章 VB.NET集成开发环境 12,【读程序,写结果】 TextBox1.Text = “ n = 5 a = (n + 1) / 2 For i = 1 To n b = Math.Abs(a - i) TextBox1.Text = TextBox1.Text & Space(b + 1) For j = 1 To n - 2 * b textBox1.Text = TextBox1.Text & “*“ Next j TextBox1.Text = TextBox1.Text & vbCrLf Next i,第1章 VB.NET集成开发环境 13,【编写程序】在标签label1上输出下图效果,Dim i, j For i = 1 To 5 For j = 1 To i Label1.Text = Label1.Text & j Next Label1.Text = Label1.Text & vbCrLf Next,第1章 VB.NET集成开发环境 14,输入字符串,要求将字符顺序倒置。例如,输入“ABCDEFG”,输出“GFEDCBA”。 Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click Dim a$, i%, c$, d$, n% a = InputBox$(“请输入:“) n = (1) For i = 1 To (2) c = Mid(a, i, 1) Mid(a, i, 1) = (3) (4) = c Next MsgBox(a) End Sub,Int(n2),Mid(a, n - i + 1, 1),Len(a),Mid(a, n - i + 1, 1),第1章 VB.NET集成开发环境 15,条件循环控制语句 在无法预先确定循环次数的情况下,可采用条件循环控制。 格式1(当型循环结构) Do 语句块 (循环体) Loop While 条件 当条件满足,重复执行循环体内的语句 格式2 (直到型循环结构) Do 语句块 Loop until 条件 重复执行循环体内的语句,直到条件成立(条件值为True)就跳出循环。,3.3.3 循环结构语句,第1章 VB.NET集成开发环境 16,例:该程序段将反复执行,直到输入正确的密码“ABCD”后循环结束。用loop while ,loop until分别实现 Do PW=InputBox(“输入密码“) Loop While PW“ABCD“,Do PW=InputBox(“输入密码“) Loop until PW=“ABCD“,3.3.3 循环结构语句,注意:DoLoop While语句与DoLoop Until语句对条件的逻辑设置相反。,第1章 VB.NET集成开发环境 17,格式3: Do While 条件 语句块 Loop 首先判断Do While语句后的条件若条件成立,则重复执行循环。 格式4: Do Until 条件 语句 Loop 首先判断Do until语句后的条件,若不成立,则重复执行循环。,3.3.3 循环结构语句,第1章 VB.NET集成开发环境 18,例: PW=InputBox(“输入密码“) Do While PW“ABCD“ PW=InputBox(“输入密码“) Loop 该程序段首先判断变量PW的值是否为“ABCD”,若不是“ABCD”则执行循环,直到输入“ABCD”后循环结束。,PW=InputBox(“输入密码“) Do Until PW=“ABCD“ PW=InputBox(“输入密码“) Loop,3.3.3 循环结构语句,第1章 VB.NET集成开发环境 19,3.3.3 循环结构语句,条件,语句块,Loop的下条语句,条件,语句块,Loop的下条语句,Yes,Yes,No,No,至少执行一次,前测型 Do While Loop,后测型 Do Loop While ,(先判后做),(先做后判),第1章 VB.NET集成开发环境 20,条件循环控制的几个问题 (1)在Do While或 Do Until语句之前,一般应先确定循环控制变量的初值。 例如: s=InputBox(“请输入:“) Do While s9999 Sum=sum+s s=InputBox(“请输入:“) Loop,3.3.3 循环结构语句,第1章 VB.NET集成开发环境 21,条件循环控制的几个问题 (2)避免死循环-重复不停地执行循环体 k=10 Do While k0 a=a+1 b=b+1 Loop 修改方法:在Loop语句前可增加一个诸如 k = k - 1 的语句。 (3) 使用 Exit Do 语句,以退出循环。,3.3.3 循环结构语句,第1章 VB.NET集成开发环境 22,【例322】计算并显示满足下列不等式的调和级数的项数: 1+1/2+1/3+1/n E 【例325】从键盘输入任意正数m,编程计算第一个不小于m的Fibonacci数及其项号(即最小n和Fm,使Fnm)。已知Fibonacci数列定义如下: F0=0,F1=1,F2=1,Fn+2= Fn+1+Fn (n0),3.3.3 循环结构语句,第1章 VB.NET集成开发环境 23,【例322】 1+1/2+1/3+1/n E,Dim c As Integer, e1 As Single, s As Single e1 = InputBox(“请输入数据:“) Do c = c + 1 s = s + 1 / c Loop Until s e1 MessageBox.Show(“c=“ & c),3.3.3 循环结构语句,第1章 VB.NET集成开发环境 24,【例325】 m = InputBox(“请输入一个正整数:“) fst = 0 : snd = 1 : n = 2 Do Until snd = m trd = snd + fst : fst = snd : snd = trd n = n + 1 Loop MessageBox.Show(“m=“ & m & vbCrLf & “第“ & n & “项是第一个不小于“ & m & “的数,“ & “数值是“ & snd),3.3.3 循环结构语句,【编程】 设计一程序,对整数进行因式分解。比如输入-12,输出-12=-2*2*3*1 思路:,输入num,求绝对值;i=2,F,T,F,【编程】:从键盘输入字符串,试编程删除括号中的字符,然后输出。,【编程】:从键盘输入字符串,试编程删除括号中的字符,然后输出。,是否找到,查找(的位置a,查找)的位置b,重新连接字符串,查找下一个(的位置a,第1章 VB.NET集成开发环境 28,Abc(abc)sf(ff)fa,3.3.3 循环结构语句,(1)从字符串的一个位置起找第1个“(”的位置,假如是a (2)从找到的左括号的位置a起找第1个“)”,假如位置是b (3)删除括号内的字符,实际就是把a位置左边的字符和b位置右边的字符重新链接起来(&),a,b,Abcsf(ff)fa,第1章 VB.NET集成开发环境 29,【编程:猴子吃桃问题】 猴子第一天摘下若干个桃子,当即吃了一半,还不

温馨提示

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

评论

0/150

提交评论