vb例题循环解读课件.ppt

上传人(卖家):三亚风情 文档编号:3006670 上传时间:2022-06-21 格式:PPT 页数:38 大小:510.50KB
下载 相关 举报
vb例题循环解读课件.ppt_第1页
第1页 / 共38页
vb例题循环解读课件.ppt_第2页
第2页 / 共38页
vb例题循环解读课件.ppt_第3页
第3页 / 共38页
vb例题循环解读课件.ppt_第4页
第4页 / 共38页
vb例题循环解读课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、2022-5-301我国古代数学家张丘建在我国古代数学家张丘建在“算经算经”里提出里提出一个世界数学史上有名的百鸡问题:鸡一个世界数学史上有名的百鸡问题:鸡翁一、值钱五翁一、值钱五, 鸡母一、值钱三,鸡雏三、鸡母一、值钱三,鸡雏三、值钱一,百钱买百鸡,问鸡翁、母、雏值钱一,百钱买百鸡,问鸡翁、母、雏各几何?各几何? 分析:若公鸡分析:若公鸡x只,母鸡只,母鸡y只,小鸡只,小鸡z只,只,依题意可以列出以下方程组:依题意可以列出以下方程组:100335100 xyxzyx2022-5-302 在上面的两个方程中,有在上面的两个方程中,有3个未知个未知数,属于不定方程,无法直接求解。下数,属于不定方

2、程,无法直接求解。下面我们用面我们用“穷举法穷举法”求解。穷举法是将求解。穷举法是将各种可能的组合全部一一测试,将符合各种可能的组合全部一一测试,将符合条件的组合输出。这里使用二层循环结条件的组合输出。这里使用二层循环结构。即将公鸡数从构。即将公鸡数从1变化到变化到100,母鸡数,母鸡数也从也从1变化到变化到100,对于每一组公鸡和母,对于每一组公鸡和母鸡数,从鸡数,从100中减去公鸡和母鸡数就得到中减去公鸡和母鸡数就得到小鸡的个数,然后再计算买三种鸡的总小鸡的个数,然后再计算买三种鸡的总钱数是否为钱数是否为100元。若是就得到一组解,元。若是就得到一组解,然后再继续。然后再继续。 2022-

3、5-303 再仔细分析一下,若再仔细分析一下,若100元钱全部都买公鸡元钱全部都买公鸡最多买最多买20只,如果全部买母鸡最多买只,如果全部买母鸡最多买33只,只,所以穷举法外循环中公鸡数可从所以穷举法外循环中公鸡数可从1 变到变到19,内循环中母鸡数可从内循环中母鸡数可从1 变化到变化到33,小鸡个数,小鸡个数应应100中减去公鸡数和母鸡数得到。中减去公鸡数和母鸡数得到。工程设计步骤如下:工程设计步骤如下:(1)新建)新建“标准标准EXE”工程,在出现的窗体工程,在出现的窗体上添加四个标签、一个列表框、一个框架和上添加四个标签、一个列表框、一个框架和两个命令按钮。其中标签两个命令按钮。其中标签

4、1是放在框架内。是放在框架内。 2022-5-304(2)标签)标签1的的Caption属性设为属性设为“公鸡五元、公鸡五元、母鸡三元、小鸡一元钱三只。母鸡三元、小鸡一元钱三只。100元钱买元钱买100只鸡。问公鸡、母鸡、小鸡各多少只鸡。问公鸡、母鸡、小鸡各多少只?只?”标签标签2-标签标签4的的Caption属性分别属性分别设置为设置为“公鸡公鸡”、“母鸡母鸡”、“小鸡小鸡”。如下图所示。如下图所示。 2022-5-305(3)代码编写如下:)代码编写如下:编写单击命令按钮编写单击命令按钮“计算计算”所执行的代码如下。所执行的代码如下。Private Sub Command1_Click()

5、List1.ClearFor x = 1 To 19 外循环求公鸡数外循环求公鸡数 For y = 1 To 33 内循环求母鸡数内循环求母鸡数 z = 100 - x y 小鸡数小鸡数 If 5 * x + y * 3 + z / 3 = 100 Then p = Format(x, ) & Format(y,_ )& Format(z, ) Format 是格式化是格式化一个表达一个表达式。式。2022-5-306 Rem 把满足条件的一种情况添加到列表框中。把满足条件的一种情况添加到列表框中。 List1.AddItem p End If Next y Next xEnd Sub编写单击

6、命令按钮编写单击命令按钮“退出退出”所执行的代码如下。所执行的代码如下。Private Sub Command2_Click() EndEnd Sub在列表框中在列表框中使用使用AddItem方方法添加项目法添加项目2022-5-307(4)运行结果。按)运行结果。按F5键运行工程出现运键运行工程出现运行界面后按行界面后按“计算计算”按钮后,得到结果按钮后,得到结果如下图所示。如下图所示。 图图4-17 百钱买百鸡问题的运行结果百钱买百鸡问题的运行结果 2022-5-308在窗体上输出下列图案在窗体上输出下列图案2022-5-309问题分析:问题分析: 该图案共有十行,每行有十个星号。要该图案

7、共有十行,每行有十个星号。要想输出该图案应使用想输出该图案应使用 For 循环结构循环结构,可以先用可以先用变量变量a存放这十个星号。使用语句:存放这十个星号。使用语句: a=“*” 由于要输出的是一个平行四边形,每一由于要输出的是一个平行四边形,每一行的起始位置比上一行位置多行的起始位置比上一行位置多2列。因此要使列。因此要使用用Tab函数来确定每一行输出的起始位置。函数来确定每一行输出的起始位置。 语句语句Print Tab(2* i) ;表示从第表示从第2* i 列开列开始输出内容。编写代码如下:始输出内容。编写代码如下:2022-5-3010Option ExplicitPrivate

8、 Sub Command1_Click()Dim a As String, i As Integer, j As Integera = *Form1.FontSize = 14 For i = 1 To 10 Print Tab(2 * i); Print a Next iEnd Sub 表示从每表示从每一行的第一行的第2* i 列开列开始输出变始输出变量量a的值。的值。2022-5-3011 在窗体上输出下列图案在窗体上输出下列图案2022-5-3012问题分析:问题分析: 该图案共有十行,每行有不同的星号。该图案共有十行,每行有不同的星号。第一行有一个第一行有一个“*”,第二行有三个,第二

9、行有三个“*”,第三行有五个第三行有五个“*”,要想输出该图案,要想输出该图案应使用双层应使用双层 For 循环结构循环结构,外层循环决定输出外层循环决定输出的行数,内层循环决定每行输出的星号数。的行数,内层循环决定每行输出的星号数。可以先用变量可以先用变量a存放一个星号。使用语句:存放一个星号。使用语句: a=“*” 由于要输出的是一个等腰三角形,每一由于要输出的是一个等腰三角形,每一行的起始位置比上一行位置少一列。因此要行的起始位置比上一行位置少一列。因此要使用使用Tab函数来确定每一行的起始位置。函数来确定每一行的起始位置。 语句语句Print Tab(18- i) ;表示从第表示从第1

10、8-i 列开始列开始输出内容。编写代码如下:输出内容。编写代码如下:2022-5-3013编写代码如下:编写代码如下:Option ExplicitPrivate Sub Form_Click() Dim a As String Dim i As Integer, j As Integer a = * Form1.FontSize = 14 2022-5-3014For i = 1 To 10 Print Tab(18 - i); For j = 1 To 2 * i - 1 Print a; Next j Print Next iEnd Sub外循环决定外循环决定共输出几行共输出几行内循环决

11、定每行共内循环决定每行共有几个有几个“*”第一行第一行是是1个个“*”,第二,第二行是行是3个个“*”,第第n是是2*n-1个个“*”。输出的位置输出的位置2022-5-3015在窗体上输出乘法九九表在窗体上输出乘法九九表2022-5-3016Option ExplicitPrivate Sub Form_Click() Dim i As Integer, j As Integer, k As Integer Dim m As Integer FontSize = 12 Print Tab(25); 乘法九九表乘法九九表 Print: Print Print * ; For i = 1 To

12、9 Print Tab(i * 6); i; Next i Print 输出表头输出表头2022-5-3017 For j = 1 To 9 Print j; ; For k = 1 To j Print Tab(k * 6); j * k; ; Next k Print Next j End Sub内循环决定输出乘积及个数外循环决定共输出几行2022-5-3018打印下列图案打印下列图案 分析:上面的图案可分成两个等腰三角形。分析:上面的图案可分成两个等腰三角形。上面的三角形有上面的三角形有5行第行第1行为一个行为一个“*”,第,第2行为三个行为三个“*”,第,第3行为五个行为五个第第5行行

13、有有2*5-1个个“*”。代码编写如下页所示。代码编写如下页所示。2022-5-3019Option ExplicitPrivate Sub Form_Click() Dim i As Integer, j As Integer Dim a As String For i = 1 To 5 Print Tab(20 - i); For j = 1 To 2 * i - 1 Print *; Next j Print Next i 输出上三角形2022-5-3020 For i = 4 To 1 Step -1 Print Tab(20 - i); For j = 1 To 2 * i - 1

14、Print *; Next j Print Next i End Sub输出下三角形2022-5-3021任意输入一个自然数,编程输出其各任意输入一个自然数,编程输出其各个因子。工程设计步骤如下:个因子。工程设计步骤如下:(1)新建)新建“标准标准EXE”工程,在出现工程,在出现的界面上添加三个标签、一个文本的界面上添加三个标签、一个文本框、和两个命令按钮如图框、和两个命令按钮如图4-18所示。所示。 2022-5-3022(2)设置窗体及控件的属性。标签)设置窗体及控件的属性。标签1的的Caption属性为属性为“请输入一个自然请输入一个自然数数”;标签;标签2的的Caption属性为属性为

15、“N的的因子是:因子是:”;标签;标签3的的Caption属性为属性为空,在运行时赋值。另外标签空,在运行时赋值。另外标签3的的Autosize属性为属性为True,以便在运行时,以便在运行时赋值能根据实际内容自动适应。其赋值能根据实际内容自动适应。其他属性如下页图他属性如下页图4-18所示。所示。 2022-5-3023图图4-18求自然数因子的工程界面及属性设置求自然数因子的工程界面及属性设置2022-5-3024输入一个数输入一个数y图图4- 19 输出某个自然数输出某个自然数y的所有因子流程图的所有因子流程图i=2y Mod i=0While y 1输出输出 iy =y ii = i

16、+1YN2022-5-3025(3)编写代码如下:)编写代码如下:编写单击命令按钮编写单击命令按钮“计算计算”所执行的代码所执行的代码Private Sub Command1_Click() Dim x As String, y As Single y = Val(Text1.Text) i = 2 x = 2022-5-3026Do While y 1 If y Mod i = 0 Then x = x & * & Str(i) & Chr(13) y = y i Else i = i + 1 End IfLoop Label3.Caption = x Label2.Caption = Te

17、xt1.Text & 的因子是的因子是:End Sub为找下一个为找下一个因子做准备。因子做准备。2022-5-3027(4)运行结果。按)运行结果。按F5执行工程,当执行工程,当出现运行界面时,从文本中输入一出现运行界面时,从文本中输入一个自然数,然后单击命令按钮个自然数,然后单击命令按钮“计计算算”就会得到如图就会得到如图4-20所示的结果。所示的结果。即在标签即在标签3中输出了自然数的各个因中输出了自然数的各个因子相乘的结果;另外,标签子相乘的结果;另外,标签2的内容的内容也根据输入的数自动改变如图也根据输入的数自动改变如图4-20所示。所示。 2022-5-3028 图图4-20 求自

18、然数因子的运行结果求自然数因子的运行结果 2022-5-3029用牛顿迭代法求方程的根。所求的方程为:用牛顿迭代法求方程的根。所求的方程为:分析:用牛顿迭代法求方程分析:用牛顿迭代法求方程f (x ) = 0在在 x0 附近的附近的实根的方法如下。实根的方法如下。(1)选一个接近)选一个接近x 的真实根的真实根x1 ;(2)通过)通过x1 求出求出f( x1 )。在几何中就是作。在几何中就是作x = x1 ,交交f (x )于于 f ( x1 )见图见图4-21所示。所示。(3)过)过f( x1 )作作f (x )的切线,交的切线,交x 轴于轴于 x2,可以,可以用公式求出用公式求出x2。由于

19、。由于 2111)()( xxxfxf0 xex2022-5-3030)( )(1112xfxfxx(4)通过)通过x2 求出求出f( x2 )。(5)再通过)再通过f( x2 )作作f (x )的切线,交的切线,交x 轴于轴于 x3 。 (6)再通过)再通过x3 求出求出f( x3 )。再通过。再通过f( x3 )作作f (x )的切线,交的切线,交x 轴于轴于 x4 。一直求下去,直一直求下去,直到接近真正的根。当两次求出的根之差到接近真正的根。当两次求出的根之差 | xn+1-xn |就认为就认为xn+1足够接近于真实的根。足够接近于真实的根。故故2022-5-3031牛顿迭代公式是牛顿

20、迭代公式是: )( )(1nnnnxfxfxxf(x)x1x2x3x4f(x1)f(x2)f(x3)f(x4)yx图图4-21牛顿迭代法几何原理图牛顿迭代法几何原理图 2022-5-3032工程设计步骤如下:工程设计步骤如下:(1)新建)新建“标准标准EXE”工程,在出现的界面上工程,在出现的界面上添加两个标签、一个文本框、一个图片框和添加两个标签、一个文本框、一个图片框和两个命令按钮。如图两个命令按钮。如图4-22左图所示。左图所示。(2)设置窗体及控件的属性如图)设置窗体及控件的属性如图4-22左图所示。左图所示。 4-22牛顿迭代法求方程根工程界面设计及运行结果牛顿迭代法求方程根工程界面

21、设计及运行结果 2022-5-3033(3)编写代码如下)编写代码如下编写单击编写单击Command1命令按钮命令按钮“求根求根”所执所执行的代码行的代码 Private Sub Command1_Click() Dim f As Double, f1 As Double Const eps = 0.0001 Dim x0 As Double, x1 As Double x1 = Val(Text1.Text)2022-5-3034 Do x0 = x1 f = Exp(-x0) - x0 f1 = -Exp(-x0) - 1 x1 = x0 - f / f1 Loop While (x1 -

22、 x0) eps Picture1.Cls Picture1.Print x1End Sub 根从图片根从图片框上输出框上输出牛顿迭代法牛顿迭代法求根求根2022-5-3035编写单击编写单击Command2命令按钮命令按钮“退出退出”所执所执行的代码行的代码Private Sub Command2_Click() EndEnd Sub编写单击窗体所执行的代码编写单击窗体所执行的代码Private Sub Form_Click() Text1.Text = Picture1.ClsEnd Sub 2022-5-3036编写文本框变化时所执行的代码编写文本框变化时所执行的代码Private Su

23、b Text1_Change() Const Tile = 牛顿迭代法求方程根程序牛顿迭代法求方程根程序 If Text1.Text And_ Not IsNumeric(Text1.Text) Then MsgBox 输入的不是数字!输入的不是数字!, vbOKOnly, Tile Text1.Text = Text1.SetFocus End IfEnd Sub2022-5-3037(4)运行工程。按)运行工程。按F5键运行工程。当键运行工程。当出现运行画面时在文本框中输入方程出现运行画面时在文本框中输入方程的初始根,然后单击的初始根,然后单击“计算计算”命令按命令按钮,就可在下面的图片框中输出方程钮,就可在下面的图片框中输出方程的根如下页图的根如下页图4-23所示。所示。注意:在程序中,对于文本框中输入注意:在程序中,对于文本框中输入的不是数字的其他情况给出了必要的的不是数字的其他情况给出了必要的提示。提示。 2022-5-3038图图4-23 牛顿迭代法求方程根程序运行结果牛顿迭代法求方程根程序运行结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(vb例题循环解读课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|