《For循环》教学课件.pptx
FOR-NEXT循环信息技术(选修一)教师:谭梁有没有更高效的办法有没有更高效的办法?在在VB程序输出程序输出5行行5列的星星矩阵列的星星矩阵:学生活动,引出问题学生活动,引出问题Private Sub Command1_Click()Print *Print *Print *Print *Print *End SubPrivate Sub Command1_Click()For i=1 To 5 Step 1 Print *Next iEnd SubFOR-NEXT循环循环FOR 循环变量循环变量=初值初值 To 终值终值 Step 步长步长 语句组语句组 Next 循环变量循环变量For i=1 To 5 Step 1 Print *Next i循环变量循环变量i初值初值1终值终值5步长值步长值1循环次数循环次数5i=1判断判断i5?Print “*”i=i+1是是否否FOR-NEXT循环循环FOR 循环变量循环变量=初值初值 To 终值终值 Step 步长步长 语句组语句组 Next 循环变量循环变量For i=1 To 5 Step 1 Print *Next ii=1判断判断i5?Print “*”i=i+1是是否否循循环变量量=初初值判断循判断循环变量超量超过终值 执行循行循环体体循循环变量增加一量增加一个步个步长值是是否否FOR-NEXT循环循环FOR 循环变量循环变量=初值初值 To 终值终值 Step 步长步长 语句组语句组 Next 循环变量循环变量注意事项:注意事项:1、循环变量为、循环变量为数值型变量数值型变量。2、初值、终值、步长均为、初值、终值、步长均为数值表达式数值表达式。3、当初值小于终值时,步长为、当初值小于终值时,步长为正数正数;当初值大于终值时,;当初值大于终值时,步长应为步长应为 负数负数;如果;如果省略省略Step,则步长为,则步长为1。4、语句组可以是一个或者多个语句,又称为、语句组可以是一个或者多个语句,又称为循环体循环体。5、循环体执行次数为、循环体执行次数为(终值(终值 初值)初值)/步长步长+1的整数部份。的整数部份。强化训练、巩固新知强化训练、巩固新知循环变量循环变量初值初值终值终值步长值步长值循环次数循环次数输出结果输出结果For A=1 to 5S=S+ANext APrint“S=”;S第一题第一题(学生作业)(学生作业)循环变量循环变量初值初值终值终值步长值步长值循环次数循环次数输出结果输出结果For i=5 to 1 step-1S=S+iNext iPrint“S=”;S第二题第二题(学生作业)(学生作业)循环变量循环变量初值初值终值终值步长值步长值循环次数循环次数输出结果输出结果For b=1 to 10b=b+1Print bNext b第三题第三题(学生作业)(学生作业)强化训练、巩固新知强化训练、巩固新知循环变量循环变量A初值初值1终值终值5步长值步长值1循环次数循环次数5输出结果输出结果15For A=1 to 5S=S+ANext APrint“S=”;S第一题第一题(学生作业)(学生作业)循环变量循环变量初值初值终值终值步长值步长值循环次数循环次数输出结果输出结果For i=5 to 1 step-1S=S+iNext iPrint“S=”;S第二题第二题(学生作业)(学生作业)循环变量循环变量初值初值终值终值步长值步长值循环次数循环次数输出结果输出结果For b=1 to 10b=b+1Print bNext b第三题第三题(学生作业)(学生作业)强化训练、巩固新知强化训练、巩固新知循环变量循环变量A初值初值1终值终值5步长值步长值1循环次数循环次数5输出结果输出结果15For A=1 to 5S=S+ANext APrint“S=”;S第一题第一题(学生作业)(学生作业)循环变量循环变量i初值初值5终值终值1步长值步长值-1循环次数循环次数5输出结果输出结果15For i=5 to 1 step-1S=S+iNext iPrint“S=”;S第二题第二题(学生作业)(学生作业)循环变量循环变量初值初值终值终值步长值步长值循环次数循环次数输出结果输出结果For b=1 to 10b=b+1Print bNext b第三题第三题(学生作业)(学生作业)强化训练、巩固新知强化训练、巩固新知循环变量循环变量A初值初值1终值终值5步长值步长值1循环次数循环次数5输出结果输出结果15For A=1 to 5S=S+ANext APrint“S=”;S第一题第一题(列学生作业)(列学生作业)循环变量循环变量i初值初值5终值终值1步长值步长值-1循环次数循环次数5输出结果输出结果15For i=5 to 1 step-1S=S+iNext iPrint“S=”;S第二题第二题(列学生作业)(列学生作业)循环变量循环变量b初值初值1终值终值10步长值步长值1循环次数循环次数5输出结果输出结果2,4,6,8,10For b=1 to 10b=b+1Print bNext b第三题第三题(列学生作业)(列学生作业)协作学习、提高技能协作学习、提高技能编程:求1-100之间5的倍数或7的倍数的和。全班分组协作完成流程图与VB中实现程序。提示:假设 A为5的倍数,即可知:A Mod 5=0 s=0 For i=1 to 100 If(i Mod 5=0)or(i Mod 7=0)Then s=s+i End if Next i Print s输出出s(i mod5=0)or(i mod 7=0)?i=i+1s=s+i是是否否判断判断i100?是是否否i=1,s=0开始开始结束束拓展延伸,能力提升拓展延伸,能力提升 某快递公司双十一期间需要运输大小相同的某快递公司双十一期间需要运输大小相同的1200个航模,个航模,为了方便运输,可以将航模装入大小不同的两种箱子中,为了为了方便运输,可以将航模装入大小不同的两种箱子中,为了节约成本,要求如下:节约成本,要求如下:1、包装规格、包装规格:小箱(每箱小箱(每箱5个航模)、大箱(每箱个航模)、大箱(每箱12个航模);个航模);2、每种规格的箱子可以任意个,但每个箱子必须装满。、每种规格的箱子可以任意个,但每个箱子必须装满。问:现在问:现在1200个航模刚好装入大小箱子个航模刚好装入大小箱子170个中,请设计一个个中,请设计一个算法,输出算法,输出 使用的大小箱子分别为多少个?使用的大小箱子分别为多少个?1 1、设、设12001200个航模分别装入个航模分别装入X X个小箱与个小箱与Y Y个大箱中,它们必须个大箱中,它们必须满足:满足:X+Y=170 5X+Y=170 5*X+12X+12*Y=1200Y=12002 2、分析、分析X X,Y Y的变化范围:由要求的变化范围:由要求2 2中可知一个包装方案中每中可知一个包装方案中每种规格的箱子数是任意的,因此,种规格的箱子数是任意的,因此,X X,Y Y的最小值都是的最小值都是0 0;当;当Y=0Y=0时,由方程:时,由方程:X+Y=170X+Y=170,X X最大值为:最大值为:170170。我们可以指定。我们可以指定X X为循环控制变量,令为循环控制变量,令X X初值为初值为0 0,终值为,终值为170170,Y=170-XY=170-X,当,当X X,Y Y满足满足5 5*X+12Y=1200X+12Y=1200时,时,X X,Y Y即为所求大小箱子数量。即为所求大小箱子数量。算算 法法Private sub Command1_ClickFor x=0 to 170y=170-xIf(5*x+12*y=1200)ThenPrint“小箱个数小箱个数x=“;xPrint”大箱个数大箱个数y=“;yEnd IfNext xEnd subFor y=0 to 170X=170-yNext y开始XX170?Y=170-X5*X+12*Y=1200?X=X+1输出X,Y结束否否是是是是否否开始YY170?X=170-Y5*X+12*Y=1200?Y=Y+1输出X,Y结束否否是是是是否否 阿基米德阿基米德与国王下棋,国王输了,国王问阿基与国王下棋,国王输了,国王问阿基米德要什么奖赏?阿基米德对国王说:我只要在棋米德要什么奖赏?阿基米德对国王说:我只要在棋盘上盘上第一格放一粒米,第二个放二粒米,第三个放第一格放一粒米,第二个放二粒米,第三个放四粒米,第四个放八粒米四粒米,第四个放八粒米按照这个比例放满整按照这个比例放满整个棋盘个棋盘64个格子就行。国王以为要不了多少粮食,个格子就行。国王以为要不了多少粮食,可是一个粮仓的米还没有摆满一半的棋盘格子,全可是一个粮仓的米还没有摆满一半的棋盘格子,全部摆满后,你知道国王究竟要付出多少粒米吗部摆满后,你知道国王究竟要付出多少粒米吗?问题:请用FOR循环知识编写程序,帮国王解决这个问题。提示:一个数a的n次方在VB中的表示方法:an.课后思考题:课后思考题:s=0For n=0 To 63 Step 1k=2 ns=s+kNext nPrint sS=0,n=0 n63?K=2ns=s+k是是否否Print sn=n+1