vb循环结构程序设计知识分享.ppt_第1页
vb循环结构程序设计知识分享.ppt_第2页
vb循环结构程序设计知识分享.ppt_第3页
vb循环结构程序设计知识分享.ppt_第4页
vb循环结构程序设计知识分享.ppt_第5页
免费预览已结束,剩余57页可下载查看

下载本文档

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

文档简介

1、第4章 循环结构程序设计,本章内容,循环结构 用For-Next语句实现循环结构 用Do While-Loop语句实现循环结构 嵌套的循环结构,循环结构,用For-Next语句实现循环结构,语句形式: For 循环变量=初值 to 终值 Step 步长 循环体 Exit For 循环体 Next 循环变量,语句说明: 循环变量必须为数值型。 当步长为正时,初值小于终值,反之初值大于终值;步长缺省时为1。 循环体由一条或多条语句组成。 执行到Exit For语句时退出循环体,执行For语句的下一语句。 循环次数: int为取整。,用For-Next语句实现循环结构,用For-Next语句实现循环

2、结构,语句执行过程:,用For-Next语句实现循环结构,【实例4.1】求1+2+3+n的和。窗体界面如图4-2,实例4.1 代码编写分析,求1+2+3+100的和,描述如下: Sum=Sum+1 Sum=Sum+2 Sum=Sum+3 Sum=Sum+100,Sum=Sum +j j=1,2,100,For i=1 to n Sum=Sum+j Next i,For i=1 to n Sum=Sum+i Next i,实例4.1 代码编写,For i = 1 To 100 step 2 sum = sum + i Next i,For i = 1 To 50 sum = sum + 2*i-

3、1 Next i,For i = 2 To 100 step 2 sum = sum + i Next i,求到间的奇数之和,求到间的奇数之和,求到间的偶数之和,【实例4.1】界面设计,fratopic,fraresult,labtopic,labn,txtn,txtsum,cmdcal,cmdquit,实例4.1 代码编写,“计算”按钮完整代码: Private Sub cmdcal_Click() Dim i As Integer, sum As Long, n As Long n = Val(txtn.Text) For i = 1 To n sum = sum + i Next i t

4、xtsum.Text = sum End Sub,实例4.1 代码编写,“计算结果”框架中的标签(labn)内容随txtn输入值变化 Private Sub txtn_Change() labn.Caption = 1+2+3+ For j = 1 To 4 - i Print Spc(1); Next j For j = 1 To 2 * i - 1 Print *; Next j Print Next i End Sub,For i = 2 To 1 Step -1 Print Tab(20); For j = 1 To 4 - i Print Spc(1); Next j For j =

5、 1 To 2 * i - 1 Print *; Next j Print Next i,问题,如果是n行图形,程序应如何修改? 每行“ * ”输出的位置? 奇数和偶数输出的图形有何不同?,补充例题,例:请输入n值,编写程序输出下列图形(例如n=5). 1 2 3 4 5 1 1 2 3 4 1 1 1 2 3 1 1 1 1 2 1 1 1 1 1,第1行:1个1,2-5 第2行:2个1,2-4 第3行:3个1,2-3 第5行:5个1,第1行:1个1,2n 第2行:2个1,2n-1 第3行:3个1,2n-2 第n行:n个1,补充例题代码,Private Sub Form_Activate()

6、 Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To i Print 1; Next j For j = 2 To 6 - i Print j; Next j Print Next i End Sub,实例4.4,第1行:1个1,2-5 第2行:2个1,2-4 第3行:3个1,2-3 第5行:5个1,第1行:1个1,2n 第2行:2个1,2n-1 第3行:3个1,2n-2 第n行:n个1,第行:个,2n-(i-1),Yes,打印第i行,i=n,i =i+ 1,打印1,打印2n-i+1,For j = 1 To i Print 1

7、; Next j,For j = 2 To n - i + 1 Print j; Next j,补充例题,译密码: 字母翻译:按26个字母排列顺序向后移动n位,若移出了最后一个则移到字母a或A并顺序往后移 例:今天是28号,a 向后移动28位 abcdefghijklmnopqrstuvwxyz,28,25,补充例题代码,If ch = a And ch = z Then asch = Asc(ch) - 97 + 1 在26个小写字母中的位置 trap = Chr$( asch + n ) Mod 26 + 97 - 1) 求出按规则转换后的字符,补充例题,题目要求:输入一行数字,按相反的顺

8、序输出。 例如:输入“1 2 3 4 5 6 7 8” 输出“8 7 6 5 4 3 2 1” 难点:如何获得各位数字,补充例题代码,Private Sub lblout_Click() n = Val(txtin.Text) While n 0 r = n Mod 10 lblout.Caption = lblout.Caption & r n = n 10 Wend End Sub,译码器密码检测窗体设计,案例译码器,译码器密码检测窗体设计,添加窗体:工程|添加窗体 密码框属性:PasswordChar * 代码 Dim n As Integer 定义n为窗体级变量,用于累计验证密码的次数

9、 Private Sub cmdok_Click() Const password = 061216 Const name = santa n = n + 1 If n = 3 Then 控制验证密码的次数,If txtname.Text = Or txtpassword.Text = Then MsgBox 必须输入姓名和密码, 0 + 64, 提示 Else If txtname.Text = name And txtpassword.Text = password Then frm1.Hide frm2.Show Else MsgBox 姓名或密码错误, 0 + 48, 警告 End I

10、f End If Else End End If End Sub,译码器译码器窗体设计,译码器译码器窗体设计,函数 Asc(C)的功能是将字符转换成ASCII码值,如Asc(“A”)的值65 Chr(65)其功能是将ASCII码值转换成字符,如Chr(65)的值“A” LTrim(C)是去掉字符串左边的空格,如LTrim(“ABVC”)的值为ABVC Mid(C,N1,N2)是取字符子串,在C中从N1位开始向右取N2个字符,译码器译码器窗体设计,约定 “原文”文本框中的数字字符串每三位代表一个完整的信息,如一个字母(065表示字符“A”)或一个空格(000表示空格),一个数字(033非字母或空

11、格,表示数字33),字符串结束(“#”),译码器“译码”代码,n = 1 ori = LTrim$(txtori.Text) 去掉“原文”文本框字符串右边的空格,赋值给变量ori orip = Mid$(ori, n, 3) 从字符串ori的第一个位置开始取3个字符,赋值给字符串变量orip While orip # n = n + 3 确定下一次取字符的位置 If Val(orip) = 0 And Val(orip) = 255 Then ASAII码的范围是0255 orip = Chr$(Val(orip),If orip = a And orip = A And orip = Z T

12、hen trapn = Asc(orip) - 65 + 1 trap = Chr$(trapn + Day(Now) Mod 26 + 65 - 1) lettercap = lettercap + 1 计大写字母的个数,Else 非字母 trap = Asc(orip) 字符orip转换成ASCII码值,作为译码即保持原值 If trap = 0 Then 字符oripASCII码值为0即原值为“000” trap = 译码为空格 word = word + 1 单词计数,因为空格分隔单词 other = other + 1 其它字符计数,空格也是一个非字母字符 Else If trap

13、99 Then 其它字符计数 other = other + 3 Else If trap 9 Then other = other + 2 Else other = other + 1,End If End If End If End If End If Else trap = orip 超出ASCLL码范围的值不变 other = other + 3 End If tra = tra + trap 译码连接到字符串tra orip = Mid$(ori, n, 3) 取出下一个字符串 Wend,txttra.Text = tra 译码在“译文”文本框中显示 inf = 大写字母个数: + Str$(lettercap) + Chr$

温馨提示

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

评论

0/150

提交评论