计算机技术基础(VB)第一节 For...Next循环结构 1.格式 For<循环变量>=<初值>To<终值>[Step<步长>] 2.功能: 执行过程如流程图所示 简化形式: 3.说明 (1)循环变量——数值变量 (2)初值,终值,步长——数值表达式 (3)步长——可正可负,但不能为0,为1时可以省略 步长>0时,必须:初值<=终值 循环结束条件——循环变量的值>终值 步长<0时,必须:初值>=终值 循环结束条件——循环变量的值<终值 (4)Exit For——退出循环,常放在条件语句中 (5)Next之后的循环变量应与For语句中的循环变量一致,也可以省略 【例6-1】求1+2+3+4+…+N 累加分析: 累加器(变量)初值 S=0 循环体(重复执行 S=S+I(I=1,2,…,N) Private Sub Command1_Click() 思考: 例:判断以下程序段的执行结果: 【例6-2】求N!(N!=1×2×3×…×N) 累乘分析: 初始化:F=1 循环体:F=F×I (I=1,2,3……N) 程序: Private Sub Command1_Click() 思考: 1.求1×3×5×7……(共N项)。 【例6-3】打印斐波那契(Fibonacci)数列的前20项斐波那契数列如下: 0,1,1,2,3,5,8,13,… 即从第三项起每一项是其前两项之和。 分析:…… Private Sub Form_Click() 思考: 1.在窗体上打印1、3、5、7、9、…、N。 2.在窗体上显示1到500之间所有能被3整除的数,每行10个数。 3.在带水平滚动条文本框中显示1到指定N之间所有能被3和7同时整除的数。 4.在带垂直滚动条的文本框中显示 第二节 Do...Loop循环结构 问题:求12+22+32+42+…小于某数N的最大值,N由用户指定。 特点:已知循环条件、未知循环次数, 用Do…Loop循环结构实现较方便 1.格式 2.功能 使用While<条件>:条件为True时,执行循环体 条件为False时,退出循环 使用Until<条件>:条件为False时,执行循环体 条件为True时,退出循环 格式一、二:在循环起始处判断条件,为当型循环 格式三、四:在循环终止处判断条件,为直到型循环 3.说明 (1)Exit Do语句用于退出循环体 (2)也可以在Do语句和Loop语句之后都没有条件,这时在循环体内必须有强行退出循环的语句 (3)多数情况下,当型循环和直到型循环可互相代替 【例6-4】求 思考:求 【例6-5】求 分析:用N表示1、3、5… 用Term表示每一项的值,则Term=1/(N*N) 用Sum表示累加和 循环初始条件:N=1,Sum=0 循环终止条件:Term<=0.0001 Private Sub Form_Click() 【例6-6】已知某乡镇企业现有产值和年增长率,试问多少年后,该企业的产值可以翻一番。翻一番后实际产值是多少? 分析:P—现有产值 R—年增长率 Y—年 V—增长后的产值,初始值为P 累乘:V=P(1+R)(1+R)… 退出循环条件V>=2P Private Sub Form_Click() 【例6-7】给出两个正整数M、N,求它们的最大公约数和最小公倍数。 分析:求最大公约数的方法如下 (1)以M作被除数,N作除数,求余数R。 (2)如果R不为零,则将除数N做为新的被除数M,将余数R做为新的除数N,再进行相除,得到新的余数R。 (3)如果R仍不等于0,则重复上述步骤(2)。如果R为零,则这时的除数N就是最大公约数。 最小公倍数为两个数的积除以它们的最大公约数。 设计界面如下图所示: Dim A As Integer,B As Integer,N As Integer,_ 【例6-8】给一个整数n(n>=3),判断它是否是素数 分析:将数N被2—SQR(N)间全部整数除,如果都除不尽,则N是素数,否则N不是素数。设标志变量Flag,只要有一个被整除,就置为1。 Private Sub Command1_Click() 第三节 循环的嵌套 在一个循环体内又完整地包含另一个循环,称为循环的嵌套(或多重循环) 说明 (1)嵌套的循环可以是For…Next循环,也可以是Do…Loop循环 (2)FOR循环有一个公共端点,可使用一个NEXT语句,循环变量按从内到外排列 (4)嵌套循环应选用不同的循环变量 例:For I=... 【例6-9】求1+(1+2)+(1+2+3)+…(1+2+3+…+n),n由用户输入。 分析:…… Private Sub Form_Click() 【例6-10】公鸡5个钱一只,母鸡三个钱一只、小鸡一个钱三只,要用100个钱买100只鸡,问公鸡、母鸡、和小鸡各买几只? 分析:…… Private Sub Form_Click() 【例6-11】数字灯谜。有算式: A、B、C、D为非负一位数字,要求找出满足以上算式的A、B、C、D。 答案:1098 Private Sub Form_Click() 第四节 应用举例 P94 【例6-11】 P95 【例6-12】 P96 【例6-13】 本章小结 For<循环变量>=<初值>To<终值>[Step<步长>] 2.Do…Loop循环结构 Private Sub Form_click() |
|