文档详情

3第4章 VB控制结构_多重循环.ppt

发布:2017-05-21约6.58千字共29页下载文档
文本预览下载声明
* 算法是对某个问题求解过程的描述。 观察 当n=10时,s= ? ;当n=50时,s= ? ;当n=100时,s= ?; 当n=10000时,s= 比较精确. 可见该公式收敛较慢. * * 三个未知数,两个方程,此题有若干个解。 解决此类问题采用“试凑法”,把每一种情况都考虑到 方法:最简单三个未知数利用三重循环来实现 提要 多重循环 常用算法 重点 多重循环 常用算法 第4章 程序控制结构3 4.3 多重循环——循环嵌套 For I= 1 to 5 Step 1 …… Next I For J= 1 to 3 Step 1 …… Next J 一个循环结构的循环体内包含了另一个循环结构. 嵌套一层称为二重循环 多重循环中遇Exit For(Do),只跳出当前一层循环. 讨论多重循环 内、外循环的循环变量不可同名. 内、外循环不可交叉 (外循环完全包含内循环). 执行次数 当外循环执行一次,内循环全部执行. 内循环执行总次数=外循环次数×内循环次数 For I= 1 to 5 Step 1 …… Next I For J= 1 to 3 Step 1 …… Next J For I= 1 to 5 Step 1 …… Next I For I= 1 to 3 Step 1 …… Next I 错误 正确 For I= 1 to 5 Step 1 …… Next J For J= 1 to 3 Step 1 …… Next I For i=1 to 6 step 1 Print ▲ Next i For i=1 to 6 step 1 Print ▲ ; Next i 问题1: 要求利用循环结构在一列打印6个“▲” 问题2:要求利用循环结构在一行打印6个“▲”, 如何修改? 归纳: 分隔符“;”——使多个内容紧跟着打印输出 For k=1 To 3 Next k For i=1 to 6 Step 1 Print ▲; Next i Print 问题3: 打印3行,每行6个“▲”,如何解决? For i = 1 To 6 Step 1 Print ▲; Next I Print For i = 1 To 6 Step 1 Print ▲; Next i Print For i = 1 To 6 Step 1 Print ▲; Next i 循环嵌套结构 结论 单层循环:控制一行上的所有列,采用“;”紧凑方式输出; 双层循环:内循环控制一行上的所有列,外循环控制所有行. 【例4-6】 编程打印如图所示图形。 问题分析: 由行与列组成的数据,一般采用双重循环控制处理:由外循环控制行,内循环控制列。 1行1列 2行3列 3行5列 4行7列 5行9列 6行11列 7行13列 8行15列 行与列的关系: 第 I 行,共有 2* I-1 列(个) “*” For i = 1 To 8 外循环控制行数 Print Tab(20 - i); 控制每行开始打印位置 For j = 1 To 2 * i - 1 内循环控制每行打印字符数 Print *; Next j Print 换行 Next i Tab(n): 把光标移动到第n个字符的位置; 常用于对齐. 例如: Print 1234567890 Print Tab(3); aaa; Tab(7); bb P65[例4-7] 编程计算1!+2!+3!+…+20!的值。 分析: 1.这是一个加法器的问题; 2.每一项却是一个乘法器的问题; 3.先处理每一项的乘法器,再处理累加器??? 【例4-7】 编程计算1!+2!+3!+…+20!的值。 Private Sub Form_Click() Dim m!, s!, i%, n! n = Inputbox(“n=”) m = 1 For i = 1 To n m = m * i Next i Print n;“!=;m End Sub 功能? For n = 1 To 20 Next n s = s + m s = 0 Print s=; s For I = 1 To 9
显示全部
相似文档