Do-While循环分别用for和do语句求N!N!=n*(n-1)*…*2*1,例如4!=4*3*2*1;•For语句do语句For语句和Do语句For语句For语句格式:For<循环变量=初值>To<终值>Step[步长][循环体]Next<循环变量>例如:计算1+2+3+…+100S=0Fori=1to100step1s=s+iNexti(如果步长为1,step1可以省略)TrueFalse循环体循环变量>终值?开始结束循环变量←初值循环变量←循环变量+步长这里是当步长>0时的情况。如果步长<0,这里应该是判断循环变量<终值循环结构(For语句和Do语句)格式:DoWhile<条件表达式>[循环体]Loop例如:计算1+2+3+…+100i=1:S=0DoWhilei<=100s=s+ii=i+1LoopWhileTrue循环体条件表达式开始结束False和For语句相比,Do语句没有循环变量和步长,但需知道什么时候循环结束。和For语句相比,Do语句没有循环变量和步长,但需知道什么时候循环结束。Do语句Do语句For循环与do循环比较For循环Do循环通过次数控制循环的计算过程通过条件控制循环的计算过程数学运算:1+2+3+…+100S=1+2+3+……+n,当n为多少时,S大于100001.有如下VisualBasic程序:PrivateSubCommand1_Click()DimsAsInteger,iAsIntegers=1Fori=1To10s=s+1NextiText1.Text=Str(s)EndSub问:(1)程序运行后,变量s的值为____________。(2)循环刚退出时,变量i的值为____________。11111111以下VisualBasic程序的功能是:计算表达式1×3+2×3+3×3+…+100×3的值,并在文本框Text1中输出计算结果。DimiAsInteger,sAsIntegers=0:i=1DoWhilei<=100s=i*3i=i+1LoopText1.Text=Str(s)(1)刚退出循环时,变量i的值是▲①。(2)程序中划线处的表达式应更正为▲②。(1)因为范围i<=100,故退出循环时i=101(2)因为题目是计算所有N×3的累积和,故使用累积S=S+i*3多重循环是指循环体内含有循环语句的循环多重循环程序示例程序运行结果PrivateSubForm_Load()15Show16Fori=1To3‘外循环17Forj=5To7’内循环25Printi,j26Nextj27Nexti35EndSub3637注意内、外循环层次要分清,不能交叉多重循环本例可采用两重循环来实现。外循环控制输出7行,内循环控制每行输出要求的字符数。在进入内循环之前,使用PrintTab()来对起始输出位置定位,退出内循环后,使用Print来控制换行。编一程序,输出下列所示的图形采用Print直接在窗体上输出结果,程序代码如下:PrivateSubForm_Load()ShowFori=1To7PrintTab(10-i);’输出每行前面空格Forj=1To2*i-1PrintChr(i+48);’分号表示不换行NextjPrint‘每行换行NextiEndSubPrintChr(i+48)与Printi有所不同(1)分析:设一元硬币为a枚,二元硬币为b枚,五元硬币为c枚,可列出方程a+b+c=10a+2b+5c=25采用两重循环,外循环变量a从0~10,内循环变量b从0~10(2)创建应用程序的用户界面取一元、二元、五元的硬币共十枚,付给25元钱,有多少种不同的取法?(3)编写程序代码程序通过Print方法把处理结果输出在标签的下方。PrivateSubForm_Load()ShowCurrentX=0:CurrentY=1500'确定开始显示的坐标Print,"五元","二元","一元"n=0'记录解的组数Fora=0To10Forb=0To10c=10-b-aIfa+2*b+5*c=25Andc>=0Thenn=n+1Print"(";n;")",c,b,aEndIfNextb,aEndSub执行下列程序段后,变量t的值是______。t=0Forx=2To3n=1DoWhilen<=xt=t+nn=n+1LoopNextxA.8B.9C.10D.11请回答问题想一想思考题B请回答问题想一想思考题显示结果为:16执行下列程序段后,显示的结果是______s=0Form=1To4Step2n=1DoWhilen<=ms=s+nn=n+1LoopNextmPrints+m+n