欢迎来到天天文库
浏览记录
ID:52082852
大小:722.50 KB
页数:43页
时间:2020-03-31
《《循环结构实验》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualBasic程序设计教程第三章基本控制结构顺序结构程序虽然比较容易理解,但是不可能处理复杂的问题。计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB中主要通过If条件语句和Select情况语句来实现。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。在实际应用中,经常遇到一些操作并不复杂,但需要反复多次处理的问题,比如要计算1+2+3…+10000,直接把这个求和的表达式用手工输入显然是不现
2、实的。这类问题都可通过循环结构来方便地实现。VB中提供了主要两类循环语句:For…Next循环语句(一般已知循环次数);Do…Loop条件型循环语句(一般未知循环次数)。有时,在程序中必须强迫改变程序的流程已脱离循环,VB也提供了几个可以影响执行程序流程的语句:ExitForExitDoGoto3.4循环结构程序设计程序代码如下:PrivateSubCommand1_Click()DimS%,i%S=0‘累加前变量S为0(清零)Fori=1to100S=S+iNextiPrint"S=";SPrint"循环控制变量i=";i
3、EndSub3.4.2For…Next循环语句例题3.13:计算1+2+3+4+…+100之和。程序分析:1到100的累加,可以看做从0开始,每次加一个数,重复加100次i=1S=1i=2S=3i=3S=6i=4S=10……i=100S=5050i=101S=5050求1-100之间奇数数之和,偶数之和;计算1*2*3*4*…*100例题3.14:输出1-100中的能被3和5同时整除的整数的个数。程序分析:可以利用循环语句依次枚举1-100中的每个数,再对每个数进行判断,设置计数器,满足条件则把计数器加1。3.4.2For…
4、Next循环语句程序代码如下:PrivateSubForm_Click()n=0‘累加前变量n为0(清零)DimiAsintegerFori=1To100If(iMod3=0)And(iMod5=0)ThenPrinti;"能够被";3;"和";5;"整除"n=n+1EndIfNextiPrint"n=";nEndSub一般情况下,For…Next需要正常结束,即循环变量到达终值。但在某些情况下,可能在循环变量到达终值前需要退出循环,这可以通过ExitFor语句来实现。ExitFor3.4.2For…Next循环语句例如:P
5、rivateSubForm_Click()Dimi!,j%Fori=1to100Step0.1j=j+1Ifi*j>5000ThenExitForNextiPrint"j=";jPrint"循环控制变量i=";iEndSub如果没有ExitFor语句,循环体应该被执行991次[Int((100-1)/0.1+1)],但在第220次循环时,i*j的值为23×220>5000,满足条件而退出当前循环,所以循环体实际被执行了220次。Do…Loop循环语句-----比较Do循环用于控制循环次数未知的循环结构。格式1:Do[Whil
6、e
7、Until]<条件>语句块[ExitDo]语句块Loop格式1为先判断后执行,有可能一次也不执行;格式2为先执行后判断,至少执行一次。格式2:Do语句块[ExitDo]语句块Loop[While
8、Until]<条件>例:求1+2+……+100的值PrivateSubForm_click()FontSize=30Sum=0n=1DoSum=Sum+nn=n+1LoopUntiln>100PrintSumEndSubPrivateSubForm_click()FontSize=30Sum=0n=1DoUntiln>100Su
9、m=Sum+nn=n+1LoopPrintSumEndSub例:输出如下图形1222333334444444555555555思考:若将其中的数字改为*,应如何修改代码?代码为:PrivateSubForm_click()FontSize=18Dima%,b%Fora=1To5PrintTab(40-3*a);Forb=1To2*a-1Printa;NextPrintNextEndSubPrivateSubForm_click()FontSize=18Dima%,b%Fora=1To5PrintTab(27-a);s="*"
10、Forb=1To2*a-1Print"*";NextPrintNextEndSubPrivateSubForm_click()FontSize=18Dima%,b%Fora=1To5PrintTab(40-3*a);Forb=1To2*a-1Printa;NextPrintNextEndS
此文档下载收益归作者所有