Vb程序2.4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机
多重循环结构
实例的实现
计算Sinx Private Sub Form_Click() Dim n As Integer, x As Single Dim f As Integer, h As Single Dim sign As Integer, y As Single x = Val(InputBox("请输入x的值:")) n = Val(InputBox("请输入n的值:")) sign = 1: y = 0 For i = 1 To n f = 1: h = 1 For j = 1 To 2 * i - 1 f=f*j h=h*x Next j y = y + sign * h / f sign = -sign Next i Print "sinx的近似值为:"; y End Sub
计算机
〈循环体〉
[Exit Do] Loop Do Until…Loop语句功能:前测 试直到型循环。先判断条件,当 条件不成立时,执行循环体;直 到条件成立时,终止循环。
条 件
F
循环体
T F
循环体
条 件
T
前测试当型循环
前测试直到型循环
实例2.6(1)
自动计算实发工资面值
Do循环结构
2. 后测试Do循环结构 Do Do…Loop While语句功能:后测试当 型循环。先执行一遍循环体,再判读条 件,当条件成立时,执行循环体;当条 件不成立时,终止循环。
计算机
多重循环结构
实例的实现
打印水仙花数 Private Sub Form_Click() Dim i As Integer, j As Integer, k As Integer Dim m As Integer, n As Integer For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 m = i * 100 + j * 10 + k n=i^3+j^3+k^3 If m = n Then Print m; Next k Next j Next i End Sub
实现计算乘法表 复杂计算
自动计算实发工资面值
问题的提出
计算机
当我们为员工发工资时,往往希望给职工最整的人民币面值。即最多多少张100元, 50元,20元、10元、5元、2元和1元。
问题分析
当计算这个面值的时候,我们知道,需要首先用工资总额整除100,即可得到100元的 张数m100,然后需要使用工资总额减去m100×100。如果剩下的钱数大于50,则要 用50去整除得到50元的张数m50,再用钱数减去m50*50。依此类推,直到剩下的钱 数为0为止,即得到了所有面值的张数是多少。 在此,“整除一个数,得到张数,用现有的钱数减去一个数”,是反复执行的,这就 需要用到循环结构。
While循环结构
While <条件> 循环体 Wend
计算“条件”值
F
计算机
条件为真吗?
T
循环体
实例2.7(4)-(5)
While循环流程图
自动计算员工实发工资面值
功能分析
当员工实发工资变化时,自动计算每种面值的张数是多少。
开始 实例_总(2.7) 获得工资总额值zonge Zonge>0? true Zonge>=100 Zonge>=50 ……
多重循环结构
实例演示 (实例2.8)
计算机
打印九九乘法表
打印数字金字塔
计算sinx的近似值
打印水仙花数
多重循环结构
注意
计算机
循环可以嵌套,但内外循环之间不得交叉,下面给出了循环嵌套的三种形式。
(1)一般形式。 For I=… For J=… For K=… … Next K Next J Next I
计算机
实战训练
教材P94的第7题到第12题
实验P42的实训练习第1题到第3题
计算机
计算机科学系
计算机
Mz=zonge\100 true Zonge=zonge-mz*100 true
Mz=zonge\50 Zonge=zonge-mz*50
自动计算员工实发工资面值
Private Sub Txt_Accewage_Change() 修改代码 Dim rmb As Integer Dim mz As Integer rmb = Val(Txt_Accewage.Text) While rmb <> 0 If rmb >= 100 Then mz = rmb \ 100 Txt_100.Text = mz rmb = rmb - mz * 100 ElseIf rmb >= 50 Then mz = rmb \ 50 Txt_50.Text = mz rmb = rmb - mz * 50 ElseIf rmb >= 20 Then mz = rmb \ 20 Txt_20.Text = mz rmb = rmb - mz * 20 ElseIf rmb >= 10 Then mz = rmb \ 10 Txt_10.Text = mz rmb = rmb - mz * 10 ElseIf rmb >= 5 Then mz = rmb \ 5 Txt_5.Text = mz rmb = rmb - mz * 5 ElseIf rmb >= 2 Then mz = rmb \ 2 Txt_2.Text = mz rmb = rmb - mz * 2 Else mz = rmb Txt_1.Text = mz rmb = rmb - mz End If Wend End Sub
软件设计基础
——VB程序设计
计算机科学系
Hale Waihona Puke 第2章 VB程序设计基础Visual Basic语言基础 顺序结构程序设计 选择结构程序设计 循环结构程序设计
计算机
2.4 循环结构程序设计
计算机
本节学习目标: 掌握使用循环结构处理程序中重复执行语句的 方法 掌握Do循环、For循环和While循环等语句的 使用方法。 掌握多重循环结构的使用。
计算机
为系统添加显示员工明细的窗体
问题分析
前面系统只能输入四个员工信息,而且每次单击一个按钮时只能输 入一个信息,单击第几个按钮时只能显示某个员工信息,却不能整 体显示所有员工信息。要同时输入多个员工信息并显示出来,可以 使用循环语句来实现。
计算机
界面设计
图片框
为系统添加显示员工明细的窗体
代码实现
计算机
〈循环体〉
[Exit Do] Loop {While|Until}〈条件〉 Do…Loop Until语句功能:后测 试直到型循环。先执行一遍循环 体,再判读条件,当条件不成立 时,执行循环体;直到条件成立 时,终止循环。
条 件F
循环体
T
循环体
F
条 件T
后测试当型循环
后测试直到型循环
实例2.7(1)
自动计算实发工资面值
问题分析
开始
计算机
现有金额>=0? true 根据现有金额与面值的关 系,计算张数
false
计算剩余的金额
结束 图1 实现系统登录功能的程序流程图
自动计算实发工资面值
Do循环结构
1. 前测试Do循环结构 Do {While|Until}〈条件〉 Do While…Loop语句功能:前测试当 型循环。先判断条件,当条件成立时, 执行循环体;当条件不成立时,终止循 环。
For i=1 To 5 For i=1 To 10 … Next i Next i 是错误的。 For i=1 To 5 … Next i For i=1 To 10 … Next i 是正确的。
多重循环结构
实例的实现
九九乘法表 Private Sub Command1_Click() Print Print Form1.ForeColor = &HC0& Print Tab(40); "-----------------九九乘法表------------------" Form1.ForeColor = &HFF0000 Dim i As Integer, j As Integer, s As Integer For i = 1 To 9 For j = 1 To i s=i*j Print i; "*"; j; "="; s, Next j Print Next i End Sub
( 2 ) 省 略 Next循 环 变 量。 For I=… For J=… For K=… … Next Next Next
( 3 ) 共 用 一 个Next语 句。 For I=… For J=… For K=… … Next k,J,I
多重循环结构
注意
计算机
并列的循环可以用同一个变量名作循环变量,而嵌套的循环不能用同一个变量名作 循环变量。
计算机
Private Sub Cmd_ygxx_Click() Picture1.Print "员工编号"; Tab(12); "姓 名"; Tab(22); "基本工资"; Tab(33); "奖金"; Tab(40); "各种补助"; Tab(52); "总计" For i = 1 To rs m_strNum = InputBox(" 输入第" & i & "个员工的编号", "提示") m_strName = InputBox(" 输入第" & i & "个员工的姓名", "提示") m_intWage = InputBox(" 输入第" & i & "个员工的基本工资", "提示") m_intPrize = InputBox(" 输入第" & i & "个员工的奖金", "提示") m_intSubsidy = InputBox(" 输入第" & i & "个员工的补助", "提示") m_total = m_intWage + m_intPrize + m_intSubsidy Picture1.Print m_strNum; Tab(8); m_strName; Tab(16); m_intWage; Tab(28); m_intPrize; Tab(36); m_intSubsidy; Tab(50); m_total Next i End Sub
自动计算实发工资面值
For循环结构
For 〈循环变量〉=〈初值〉 To 〈终值〉 [Step〈步长〉] 〈循环体〉 [Exit For] Next [〈循环变量〉]
循环变量得到初值
计算机
F
循环变量是否 超过终值?
T
实例2.7(2)-(3)
循环体
循环变量加步长值
For循环执行流程图
自动计算实发工资面值
计算机
多重循环结构
实例的实现
数字金字塔 Private Sub Form_Click() '打印数字金字塔 Dim i As Integer, j As Integer For i = 0 To 8 Print Tab(25 - 3 * i); For j = 1 To i Print j; Next j For j = i + 1 To 1 Step -1 Print j; Next j Print Next i End Sub
2.4循环结构程序设计
本节重点
循环结构的语句格式,执行过程
计算机
本节难点
灵活使用循环结构的嵌套处理实际问题
学习内容
1
实现自动计算实发工资面值
问题提出 问题分析 基本的循环结构
Do循环
计算机
While循环
For循环
实现系统自动计算实发工资面值功 能 实现输入多人信息并显示
2
循环结构的嵌套
相关文档
最新文档