版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1VB程序设计循环结构程序设计循环结构2第1页/共51页3循环结构是根据条件来决定某段代码是否重复执行。循环结构是根据条件来决定某段代码是否重复执行。循环结构中一种常用的流程可以表示如图:循环结构中一种常用的流程可以表示如图:条件满足就执行条件满足就执行a块程序段块程序段然后再进行条件判别然后再进行条件判别如果满足条件,则继续执行如果满足条件,则继续执行a块程序段块程序段直到条件不满足,才执行直到条件不满足,才执行a块后面的程序。块后面的程序。第2页/共51页4第3页/共51页5第4页/共51页6第5页/共51页7【例【例5-1】 设计一个判断素数的程序。若不是素数,要设计一个判断素数的
2、程序。若不是素数,要求分解为求分解为a*b的形式的形式控件:控件:1个文本框和个文本框和1个命令按钮个命令按钮事件:命令按钮的事件:命令按钮的Click。首先要了解什么是素数。首先要了解什么是素数。素数是指除了素数是指除了1和自身外,不能被其它整数整除的正整和自身外,不能被其它整数整除的正整数。数。判断判断A是否为素数的基本方法是:是否为素数的基本方法是:将将A分别除以分别除以2、3、A-1,若都不能整除,则它,若都不能整除,则它为素数。为素数。判断判断A被被i整除可以采用表达式:整除可以采用表达式:A Mod i = 0 或:或:A / i = A i 或:或:A / i = Int(A /
3、i) 第6页/共51页8第7页/共51页9第8页/共51页10第9页/共51页11逻辑运算符关系运算符字符串运算符算术运算符ImpEqvXorOrAndNot第10页/共51页12第11页/共51页13第12页/共51页14闰年的条件是:闰年的条件是:能被能被4整除,但不能被整除,但不能被100整除;或能被整除;或能被400整除。整除。设变量设变量Y存放年份,则该逻辑存放年份,则该逻辑表达式应为:表达式应为: Y Mod 4=0 And Y Mod 1000 Or Y Mod 400=0【例【例5-2】 设计程序,要求对文本框的年份判断是否设计程序,要求对文本框的年份判断是否为闰年,并在标签中
4、显示相应的信息。为闰年,并在标签中显示相应的信息。第13页/共51页15第14页/共51页16 Next 循环控制变量第15页/共51页17注意:其中“超过终值”不一定是大于终值。第16页/共51页18第17页/共51页19第18页/共51页20第19页/共51页21第20页/共51页22)!1(!3!22nxxxn【例【例5-4】 求表达式值。求表达式值。x、n由键盘输入。由键盘输入。这是一个求和的例子。这是一个求和的例子。它由它由n项构成,能表示成项构成,能表示成Sum=Sum+Item的形式的形式第第i项等于第项等于第i-1项乘以项乘以X/(i+1),即,即Item=Item*X/(i+
5、1) 故循环体可由故循环体可由Item=Item*X/(i+1)和和Sum=Sum+Item构成。构成。初值问题:初值问题:Sum初值为初值为0,Item初值应为初值应为1。 为防止溢出,为防止溢出,Item和和Sum声明为双精度型。声明为双精度型。程序运行结果:程序运行结果:当当X=6,N分别为分别为1、2、3时,其和分别为时,其和分别为3、9、18。第21页/共51页23第22页/共51页24第23页/共51页25第24页/共51页26第25页/共51页27第26页/共51页28Private Sub Command1_Click() Dim N As Integer, Result As
6、 DoubleDim i As Integer N = Val(InputBox(n=) Result = 1 For i = 1 To N Result = Result * i Next i MsgBox N & != & ResultEnd Sub0Private Sub Command2_Click() Dim N As Integer, Result As Double Dim i As Integer N = Val(InputBox(n=) Result = 1: i = 1 Do While i N Result = Result * i i = i + 1 L
7、oop MsgBox N & != & ResultEnd SubPrivate Sub Command4_Click() Dim N As Integer, Result As Double Dim i As Integer N = Val(InputBox(n=) Result = 1: i = 1 Do Result = Result * i i = i + 1 Loop While i = N MsgBox N & “!=” & ResultEnd Sub5.5.1 Do/LoopDo/Loop语句语句- -编程序:求编程序:求n!n!第27页/共51页
8、29【例【例5-6】 在文本框中输入两个整数,求它们的最在文本框中输入两个整数,求它们的最大公约数和最小公倍数。大公约数和最小公倍数。求最大公约数可用辗转相除法。求最大公约数可用辗转相除法。该方法的基本思想是使用带余除法:该方法的基本思想是使用带余除法:(1)A除以除以B,得余数为,得余数为R1;(2)若)若R10,则,则B为最大公约数。为最大公约数。 若若R10,则,则B赋值给赋值给A,R1赋值给赋值给B,求,求余数余数R2; 若若R20,则继续以上步骤。,则继续以上步骤。第28页/共51页30第29页/共51页31第30页/共51页32第31页/共51页33第32页/共51页34 Loop
9、 MsgBox N & != & Result 第33页/共51页35第34页/共51页36n声明为双精度型.121) 1(715131141nn第35页/共51页37.121) 1(715131141nn第36页/共51页38第37页/共51页39第38页/共51页40【例【例5-10】 在窗体上如图图案,它由在窗体上如图图案,它由“*”组成。分析:组成。分析:上三角形中,第上三角形中,第I行有行有I个,可使用循个,可使用循环:环:For J = 1 To I : Print * ; : Next J因每行起点不同,而且一行结束后要因每行起点不同,而且一行结束后要换行,所以在
10、换行,所以在J循环的前后各有一循环的前后各有一Print。这样的行有这样的行有7行,故外循环使行,故外循环使I从从1至至7。下三角形,操作过程与上三角相似下三角形,操作过程与上三角相似第39页/共51页41 Private Sub Command1_Click() Dim I As Integer, J As Integer Cls For I = 1 To 7 Print Spc(20 - I); 打印时空打印时空20-i格格 For J = 1 To I Print * ; Next J Print 用于换行用于换行 Next I For I = 6 To 1 Step -1 Print
11、Spc(20 - I); For J = 1 To I Print * ; Next J Print Next IEnd Sub第40页/共51页42第41页/共51页43第42页/共51页44第43页/共51页45可测试方案分别为:可测试方案分别为:0、0、0;0、0、1;0、0、100;1、0、0;1、0、1;1、0、100;100、100、0;100、100、1;100、100、100事实上当事实上当X和和Y确定时,确定时,Z可以用可以用100-X-Y求得,因此可以把三重循求得,因此可以把三重循环改为二重循环。环改为二重循环。 Private Sub Command1_Click()Di
12、m X As Integer, Y As Integer, Z As IntegerPrint 公鸡公鸡, 母鸡母鸡, 小鸡小鸡For X = 0 To 100 For Y = 0 To 100 Z = 100 - X - Y If 5 * X + 3 * Y + Z / 3 = 100 Then Print X, Y, Z Next YNext XEnd Sub第44页/共51页46第45页/共51页47第46页/共51页48当输入2322时,显示2322=11+2311第47页/共51页495.8.5 数制转换数制转换【例【例5-15】 请编写程序:将十进制正整数转换为二进制数或十六进制数
13、;请编写程序:将十进制正整数转换为二进制数或十六进制数;控件:控件:两个标签两个标签两个文本框两个文本框两个单选按钮两个单选按钮两个命令按钮两个命令按钮十进制整数转换成二进制数,采用除十进制整数转换成二进制数,采用除2取余法。取余法。十进制整数转换成十六进制数,采用除十进制整数转换成十六进制数,采用除16取余法取余法最后把这些余数以字符方式拼接起来。最后把这些余数以字符方式拼接起来。第48页/共51页505.8.5 数制转换数制转换- -程序程序 Private Sub Command1_Click() 转换Dim A As Long, B As String, R As Integer B存
14、放转换后结果,存放转换后结果,R放余数放余数A = Val(Text1.Text): B = If Option1.Value Then 转换成二进制转换成二进制 Do While A 0 B = (A Mod 2) & B : A = A 2 拼接除拼接除2后的余数后的余数,获得除获得除2后的商后的商 Loop Text2.Text = B 将结果(二进制)放入文本框将结果(二进制)放入文本框Else 转换成十六进制转换成十六进制 Do While A 0 R = A Mod 16 除除16取余取余 Select Case R 获得余数对应的十六进制数,即获得余数对应的十六进制数,即09,AF之一并拼接之一并拼接 Case 0 To 9 : B = R & B Case 10 : B = A & B Case 11 : B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 温度管理策略研究-洞察与解读
- 创伤后应激障碍认知模型-洞察与解读
- 数字化税收治理架构-洞察与解读
- 地下金属成像技术-洞察与解读
- 室外生物多样性营造-洞察与解读
- 去中心化支付系统创新-洞察与解读
- 大鼠肺囊肿模型构建-洞察与解读
- 【7地星球期末】安徽省亳州市蒙城县2025-2026学年七年级上学期期末地理试题
- 2026年三门峡社会管理职业学院单招职业倾向性测试题库含答案详解(巩固)
- 2026年上海中侨职业技术大学单招综合素质考试题库附答案详解(预热题)
- 2026年春季学期校长在全体教职工开学大会上的工作报告与展望
- 2025-2026学年北京市朝阳区高三(上期)期末考试英语试卷(含答案)
- 2026年人口迁徙对房地产市场的动态影响
- 外委生产安全管理制度
- 近五年山东中考英语试题及答案2025
- 湿地公园档案室管理制度
- 教师数字素养提升对中等职业教育教学实践的影响研究教学研究课题报告
- 2026天津农村商业银行招聘面试题及答案
- 上海医院招人面试题目及答案
- 无人机展厅设计
- 企业年度报告及财务报表制作模板
评论
0/150
提交评论