精简_第8章 模块与VBA编程.ppt

精简_第8章 模块与VBA编程

* 8.2.3 循环语句 输出5次“ok”? 输出20次”ok”? * 8.2.3 循环语句 1.Do…Loop循环 格式1: Do while 条件 [ ] [Exit Do] Loop * 8.2.3 循环语句 输出5次ok? Public Sub ok Dim n As Integer n 1 Do While n 5 Debug.Print ok, n n n + 1 Loop End Sub * 8.2.3 循环语句 求1到5的和? 求1到100的和? 求1到100的奇数和? 求1到100的偶数和? * 8.2.3 循环语句 求1到100的奇数和? Public Sub QHJS Dim n As Integer Dim s as integer n 1 s 0 Do While n 99 s s+n n n + 2 Loop debug.print s End Sub * 8.2.3 循环语句 2.For-Next循环 For to [step ] [ ] [Exit for] Next[ ] * 8.2.3 循环语句 2.For-Next循环 【例】计算1+2+3+4+……+99+100的和。 [分析]累加数据初值为1,终值为100,步长(数据间递变)为1,利用For/Next结构很容易实现它。程序代码如下。 Sub Ex8_10 Dim n As Integer, S As Integer S 0 S存储数据累加之和 For n 1 To 100 Step 1 S S + n Next Debug.Print S S End Sub * For-Next循环 求1到100的奇数和? 求1到100的偶数和? 求1到10000被5整除但不能被7整除的数的和? * 课外练习 1. [100,5000]之间同时满足除以8余6,除以6余4,除以4余2的整数之和。 从左至右或从有至左读起来都一样的数称为回文数,如1221,343;求1000-9999之间,回文数之和。 编写程序,统计200~4000之间的所有满足各位数字之积为42,各位数字之和为12的数的个数。 * 循环嵌套 分析程序的输出结果? Public Sub ok Dim a,b As Integer for a 1 to 4 for b 1 to 5 Debug.Print a,b next next End Sub * 循环嵌套 用100元兑换成5元、2元、1元的零钱纸币,共30张,可以有多少种兑换方法? Public Sub ok Dim x,y,z As Integer n 0 for x 0 to 20 for y 0 to 50 for z 0 to 100 if 5*x+2*y+1*z 100 then n n+1 end if next next next debug.print “总共有:”,n,”种兑换方法” End Sub * 课外练习 1. [100,5000]之间同时满足除以8余6,除以6余4,除以4余2的整数之和。 2.一球从100米的高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第15次落地时,共经过多少米? 3求当n 100时下式的和:s 1+ 1+2 + 1+2+3 +......+ 1+2+3+......+n 。 4.有15个学生一起买小吃,共花钱40元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)? 5.从左至右或从有至左读起来都一样的数称为回文数,如1221,343;求1000-9999之间,回文数之和及个数。 * 课外练习 6.求1!+2!+3!+...+9!,9!表示9的阶乘。 7.求20000以内所有完数之和,完数是指:一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:6 1+2+3,则6就是一个完数(难) 。 8.求出[2,1000]以内的素数数目(难) 。 9.求出[2,1000]以内的所有素数之和 (难)。 * 课外练习 1. [100,5000]之间同时满足除以8余6,除以6余4,除以4余2的整数之和。 从左至右或从有至左读起来都一样的数称为回文数,如1221,343;求1000-9999之间,回文数之和。 编写程序,统计200~4000之间的所有满足各位数字之积为42,各位数字之和为12的数的个数。 * 8.3 创建VBA模块 8.3.1 类模块与标准模块 模块是VBA代码组织形式,可分为以下两类: ◆类模块 ◆标准模块。 * 模块管理 *

文档评论(0)

1亿VIP精品文档

相关文档