第四节:循环结构.doc

上传人:M****1 文档编号:563501618 上传时间:2022-10-09 格式:DOC 页数:14 大小:143KB
返回 下载 相关 举报
第四节:循环结构.doc_第1页
第1页 / 共14页
第四节:循环结构.doc_第2页
第2页 / 共14页
第四节:循环结构.doc_第3页
第3页 / 共14页
第四节:循环结构.doc_第4页
第4页 / 共14页
第四节:循环结构.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《第四节:循环结构.doc》由会员分享,可在线阅读,更多相关《第四节:循环结构.doc(14页珍藏版)》请在金锄头文库上搜索。

1、课题:循环结构教学时间: 授课班级:教学目标:学会用for next语句和doloop编写简单的程序,并会调试它教学重点、难点:1 For next 语句的用法2 Do-loop语句的用法3 循环语句的嵌套教学过程在用计算机处理问题时,除了分支问题外,还有不少是需要重复执行某一组操作的问题。这就要采用循环结构,VB中提供了两种语句实现循环结构,For-Next语句和Do-Loop语句。【例6-6-1】求s=1+2+3+100利用赋值语句可写出如下形式的代码:sum=0sum= sum+1sum= sum+2sum=sum+3sum=sum+100很显然,使用这种形式也能得到结果,但程序很冗长。

2、观察上面的代码可以发现,这段代码实际上重复了同一个操作:sum=sum+I,只不过是每次相加的自然数不同而已。使用VB提供的循环语句可以很容易实现这种重复操作功能。具体算法如下:设sum=0;设i=1;若i=100则转,否则算法停止,最后sum中的数值即是自然数列前100项之和;图6-23开 始0sum1iib)的最大公约数的算法见例6-1-3,流程图见图6-3,程序代码如下:求最大公约数Private Sub cmdCalcu_Click() Dim a As Integer Dim b As Integer Dim r As Integer a = Val(txta.Text) b = V

3、al(txtb.Text) r = a Mod b Do While r 0 a = b b = r r = a Mod b Loop txtDivisor.Text = Str(b)End SubPrivate Sub cmdEnd_Click() EndEnd Sub格式二:Do 循环体 Loop Until 条件APN入口出口这种循环的执行过程如图6-28所示,进入循环后,先执行一次循环体A,然后再检查条件是否成立,如果不成立,就执行循环体A,直到条件D成立,退出循环。这种循环结构称为直到型。Y 图6-28【例6-6-4】 如果我国人口以每年平均1.5%的速度增长,问多少年后我国人口达到

4、或超过15亿,设现在人口为12.3亿。解决这个问题的思路是:设现在人口为p0=12.3亿,人口增长率r=1.5%=0.015,则一年后人口为p1=p0+p0r=p0(1+r),看它是否达到或超过15亿;如果未达到,再算二年后的人口p2=p1+p1r=p1(1+r);如果未达到,再计算三年后的人口,直到n年后的人口数达到或超过15亿。流程图见图6-29,程序代码如下:直到型循环Private Sub Form_Click() Dim p As Single图 6-29 Dim r As Single Dim n As Integer p = 1230000000# r = 0.015 n = 0

5、 Do p= p * (1 + r) n = n + 1 Loop Until p = 1500000000# Print n; 年后, 人口=; pEnd Sub运行结果如下; 14年后 人口=1.51506E+09三、循环的嵌套在一个循环中又完整地包含另一个循环,称为循环的嵌套。前面介绍的几种类型的循环可以互相嵌套,例如可以在一个For-Next循环中包含另一个For-Next循环,也可以在一个Do-Loop循环中包含一个For-Next循环。结 束图6-30换 行j+1jYN开 始-3ii=31j确定每行起始位置j=2*(4-Abs(i)-1输出*i+1iYN【例6-6-5】设计一个程序

6、,打印如下所示的图案。 * * * * * *为解决这个问题,可以采用如下的算法:使用双重For-Next循环,外循环确定行数和各行起始打印位置,内循环用来确定各行打印的个数。设外循环的循环变量为i,内循环的循环变量为j 。由于图案上下对称,上下两半对应行的起始位置和字符个数完全一致,所以i的取值也应对称:i=-3 To 3。设i=0行的起始打印位置为5,则第i行的起始打印位置为Tab(Abs(i)+5),第i行的字符的个数为2*(4-Abs(i)-1。流程图如图6-30所示,程序代码如下:打印菱形图案Private Sub Form_Click() Dim i As Integer, j As Integer For i = -3 To 3 Print Tab(Abs(i) + 5); 确定每行的起始位置 For j = 1 To 2 * (4 - Abs(i) - 1 Print *; Next j

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号