VB编程序的基本结构.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB编程序的基本结构

折叠次数为25 * 辗转相除法,又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。 辗转相除法,用于计算两个正整数a,b的最大公约数。其计算原理依赖于下面的定理:   定理:gcd(a,b) = gcd(b,a mod b) (ab 且a mod b 不为0)   证明:a可以表示成a = kb + r,则r = a mod b   假设d是a,b的一个公约数,则有   d|a, d|b,而r = a - kb,因此d|r   因此d也是(b,a mod b)的公约数   因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证 * 在介绍小技巧前,先介绍什么是循环交叉! * * 在介绍小技巧前,先介绍什么是循环交叉! * 在介绍小技巧前,先介绍什么是循环交叉! * Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click Dim j As Integer, i As Integer Dim s As String For i = 1 To 9 For j = 1 To 9 s = s i x j = String.Format({0,-6}, Str(i * j)) Next j s = s vbCrLf vbCrLf用来控制换行 Next i Label1.Text = s End Sub * * * * 分析:本例涉及到程序设计中两个重要的运算:累加和连乘i!。 累加是在原有和的基础上一次一次地加一个数;连乘则是在原有积的基础上一次一次地乘以一个数。 该题先求i!,再将1/i!进行累加,循环次数预先未知,可先设置一个循环次数很大的值,然后在循环体内判断是否到达精度,当然也可用Do While来实现。 顺序结构就是各语句按出现的先后次序执行。 一般的程序设计语言中,顺序结构的语句主要是赋值语句、输入/输出语句等。在VB.Net中也有赋值语句;而输入/输出可以通过文本框控件、标签控件、用户交互函数和过程等来实现。 * 珠穆朗玛峰 高度:8848米 例:将厚度为0.5毫米的纸张对折多少次后,其总厚度可超过珠穆朗玛峰的高度? Dim num%, n! n=0.5*10^(-3) num=0 Do until n 8848 n=2*n num=num+1 Loop Msgbox(“折叠次数为“ num) 能否以毫米做单位? Dim num% , n! n=0.5 Do until n8848*10^3 可以,因为n为单精度类型,不会溢出 例:用辗转相除法(欧几里德算法),求正整数m和n的最大公约数和最小公倍数 最大公约数 算法: 1. 对于已知两数,令mn 2.令r为m / n 所得余数 (0 ≤ r <n) 若 r= 0,算法结束;n 即为最大公约数。 3. 互换:置 m←n,n←r,并返回第2步 Private Sub Form1_Click(ByVal _ sender As Object, ByVal e As _ System.EventArgs) Handles Me.Click Dim r%, m%, n% m = InputBox(请输入正整数m!) n = InputBox(请输入正整数n!) r = m Mod n Do While (r 0) m = n n = r r = m Mod n Loop MsgBox(最大公约数= n) End Sub 3.3.3 多重循环 在一个循环体内又包含了另一个完整的循环称为循环的嵌套。 左边的嵌套循环也称为双重循环 注意:要避免循环交叉 Dim i%, j% Dim n%, m%, k% m = 0: k = 0 For i = 1 To 5 k = k + 1 n = 0 For j = 1 To 3 n = n + 1 m = m + 1 Next j

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档