《VB程序设计4程序控制结构和算法基础.ppt》由会员分享,可在线阅读,更多相关《VB程序设计4程序控制结构和算法基础.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、赋值语句执行过程:执行过程:首先计算等号右边表达式的值。首先计算等号右边表达式的值。然后将此值保存到等号左边的变量中。然后将此值保存到等号左边的变量中。 var可以是变量名(如:可以是变量名(如:student)或属)或属性名性名(如如text1.text)。 “=”是赋值号,不是数学中的等号。是赋值号,不是数学中的等号。1. 变量中的值以最近一次赋值为准。变量中的值以最近一次赋值为准。赋值语句的形式:赋值语句的形式:var=T=A A=BB=T上述三条语句实现什么功能?赋值语句举例赋值语句举例A=1A=A+1B=3B=B*4A=1A=2x=“This is a book” Number%=7
2、2Label1.FontSize=8Y=(a+b)/2ABT123T为中间变量为中间变量赋值语句举例赋值语句举例思考:如何实现三个数交换,即思考:如何实现三个数交换,即A的值给的值给B,B的值给的值给C,C的值给的值给A? ABCT1234T为中间变量为中间变量不同数据类型数据的赋值不同数据类型数据的赋值数值类型Integer、LongSingle、DoubleByte逻辑型Boolean字符串型String非非O值转换为值转换为TrueO值转换为值转换为FalseTrue转换为负转换为负1False 值转换为值转换为O可可能能出出错错转换转换为字为字符串符串形式形式True转换为字转换为字符
3、串符串“True”False转换为字转换为字符串符串“False”首先转换为首先转换为数值类型,数值类型,可能出错可能出错 Dim b As Boolean, n As Integer, s As String, m As Singleb = 0 将整型数据赋值给逻辑型变量将整型数据赋值给逻辑型变量b为为Falseb = 2 将整型数据赋值给逻辑型变量将整型数据赋值给逻辑型变量b为为Truen = b 将逻辑型数据赋值给整型变量将逻辑型数据赋值给整型变量n为为-1s = b 将逻辑型数据赋值给字符串变量将逻辑型数据赋值给字符串变量s为为“True”m = -1012.567s = m 将数值数
4、据赋值给字符串变量将数值数据赋值给字符串变量s为为“-1012.567”n = “12” 将字符串数据赋值给整型变量将字符串数据赋值给整型变量n为为12n = “12abc” 将字符串数据赋值给整型变量(出错)将字符串数据赋值给整型变量(出错)n = “asds” 将字符串数据赋值给整型变量(出错)将字符串数据赋值给整型变量(出错)b = “12” 将字符串数据赋值给逻辑型变量将字符串数据赋值给逻辑型变量b为为Trueb = “0” 将字符串数据赋值给逻辑型变量将字符串数据赋值给逻辑型变量b为为Falseb = asds 将字符串数据赋值给逻辑型变量(出错)将字符串数据赋值给逻辑型变量(出错)
5、下列语句的执行结果是什么?下列语句的执行结果是什么?Dim A As IntegerDim A As IntegerA=2=3A=2=3Print APrint ADim A As IntegerDim A As IntegerA=2=2A=2=2Print APrint ADim S As StringDim S As StringDim A As IntegerDim A As IntegerS=2S=2* *A2A2Print SPrint SDim A As IntegerDim A As IntegerDim B As IntegerDim B As IntegerA=B=2A=B=
6、2Print A,BPrint A,B分支结构与分支结构语句分支结构与分支结构语句If e Then A组语句组语句Else B组语句组语句End IfIf e Then A Else BeABTrueFalse当当A和和B都为一条语句时都为一条语句时等价等价执行过程:执行过程:计算计算e的值并转换成的值并转换成Boolean类型。类型。1. 若若e为为True则执行则执行A组语句,组语句,否则执行否则执行B组语句。组语句。If e Then A组语句End IfIf e Then AeATrueFalse当当A为一条语句时为一条语句时等价等价不对称分支结构不对称分支结构多分支语句形式多分支语
7、句形式1If e1 Then A1组语句组语句ElseIf e2 Then A2组语句组语句ElseIf e3 Then A3组语句组语句Else 语句组语句组AnEnd IfA1TrueFalsee2e1en-1A2An-1FalseAn TrueTrueFalse Select Case eCase e1 A1组语句组语句Case e2 A2组语句组语句Case e3 A3组语句组语句Case Else An组语句组语句End Select多分支语句形式多分支语句形式2e为测试表达式,可以是算术表为测试表达式,可以是算术表达式或字符表达式。达式或字符表达式。e1en为测试项,可以是为测试项
8、,可以是具体取值具体取值连续的数据范围连续的数据范围条件表达式条件表达式三者的组合三者的组合(用逗号隔开,注意用逗号隔开,注意它们是或者的关系它们是或者的关系)分支语句结构举例输入一个数,判断是奇数或偶数、正数或负数输入一个1-1000之间的数,判断是几位数。输入一个字符,判断是大写字母、小写字母、数字或其他。输入一个年份,判断是否为闰年。凡是能被凡是能被400整除的年份为闰年。如整除的年份为闰年。如2000年年凡是不能被凡是不能被100整除,但能被整除,但能被4整除的年份为闰年。如整除的年份为闰年。如2008年年输入一个月份,输出该月的天数。已知三角形三条边的长度,求三角形的面积。已知一元二
9、次方程的三个系数,求方程的根。For-Next循环 格式:格式:For V=E1 To E2 Step E3 Exit For Next V执行过程:执行过程:计算计算E1、E2、E3的值。的值。给给V赋初值。赋初值。判别判别V超出超出E2,若为若为True则执行循环则执行循环体,然后转第体,然后转第4步,否则退出循环。步,否则退出循环。1. V增加一个步长,转到第增加一个步长,转到第3步。步。 V为为Integer或或Single 步长可正可负。步长可正可负。遵循遵循“先检查,后执行先检查,后执行”的原则。的原则。 步长为正,初值大于终值时不执行循环。步长为正,初值大于终值时不执行循环。 步
10、长为负,初值小于终值时不执行循环。步长为负,初值小于终值时不执行循环。 Next V表示表示V=V+E3 正常循环次数为:正常循环次数为:Int(E2-E1)/E3)+1For V=E1 To E2 Step E3 Exit For Next V编程练习求求N!求求1+2+3+N的值的值将字符串逆序输出。将字符串逆序输出。如如:将将ABCDEFG变为变为GFEDCBA筛选出字符串中的大写字母。筛选出字符串中的大写字母。如如:输入输入abDS23KG,输出,输出DSKG编程练习编程练习 生成生成20个个1到到100之间的随机数,统计其中之间的随机数,统计其中1位位数、数、2位数和位数和3位数的个
11、数。位数的个数。 输入一个字符串,统计其中大写字母、小写字输入一个字符串,统计其中大写字母、小写字母以及数字的个数。母以及数字的个数。 输入一个字符串,将其中的大写字母改为小写输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母。字母,小写字母改为大写字母。 输入一段英文文本,查找某单词出现的次数。输入一段英文文本,查找某单词出现的次数。 求一个整数的各位上的数字之和。求一个整数的各位上的数字之和。 输入一个自然数,判断其是否为素数。输入一个自然数,判断其是否为素数。 (三种算法三种算法) 输入一个自然数,判断其是否为回文数。输入一个自然数,判断其是否为回文数。(两种算法两种算法
12、) 输入一个自然数,判断其是否为升序数。如输入一个自然数,判断其是否为升序数。如123 找出找出100之内的所有勾股数。之内的所有勾股数。勾股数:满足条件勾股数:满足条件a2+b2=c2(ab) 如:如:3 4 5 输入一个正整数,判断其是否是完全数。输入一个正整数,判断其是否是完全数。完全数:该数的因子(不包含本身)之和等于其本身。完全数:该数的因子(不包含本身)之和等于其本身。如:如:28=1+2+4+7+14 找出找出2999之间所有的同构数。之间所有的同构数。同构数:该数出现在它的平方数的右边。同构数:该数出现在它的平方数的右边。如:如:525, 636, 25625 输入两个正整数输
13、入两个正整数M和和N,求它们的最小公倍数。,求它们的最小公倍数。循环结构与循环结构语句当型循环当型循环当条件成立就当条件成立就执行循环体。执行循环体。直到型循环直到型循环执行循环体直执行循环体直到条件成立。到条件成立。条件条件e循环体循环体TF条件条件e循环体循环体TF条件条件e循环体循环体FT条件条件e循环体循环体FTDo-Loop循环(4种形式)Do While e Exit Do LoopDo Exit Do Loop While eDo Until e Exit Do LoopDo Exit Do Loop Until e条件条件e循环体循环体TF条件条件e循环体循环体TF条件条件e循
14、环体循环体FT条件条件e循环体循环体FT当型循环当型循环直到型循环直到型循环常用常用常用常用需要熟记欧几里得算法需要熟记欧几里得算法求两个自然数的最大公约数求两个自然数的最大公约数-欧几里得算法欧几里得算法1、输入两个自然数、输入两个自然数m,n2、r=m mod n3、若、若r=0,则,则n为为m的最大公约数的最大公约数4、若、若r0,则,则m=n,n=r5、重复执行第二步、重复执行第二步M=90 n=48R=90 Mod 48=42M=48 n=42R=48 Mod 42=6M=42 n=6R=42 Mod 6=0最大公约数为最大公约数为6牛顿迭代法:牛顿迭代法:已知已知X0以及一个很小的
15、数以及一个很小的数Eps,求,求F(x)=0在在X0附附近的根。利用迭代公式近的根。利用迭代公式Xn+1=Xn F(Xn) / F (Xn) n=0,1,2,3F(x)=xex-1导函数:导函数:F(x)= ex+xex = ex(x+1) Do 循环用于控制循环次数未知的循环结构 For 循环用于控制循环次数预知的循环结构不一定不一定?For 循环循环 Do 循环循环循环嵌套循环体内又包含循环语句。循环体内又包含循环语句。 内内循环变量与循环变量与外外循环变量循环变量不能同名不能同名。 外外循环必须完全包含循环必须完全包含内内循环,循环,不能交叉不能交叉。随机函数Rnd() 格式格式Rnd(Number)生成区间生成区间0,1)的一个小数)的一个小数 Number0:得到随机序列的下一个随机数(缺省):得到随机序列的下一个随机数(缺省) Number=0:返回上一次生成的随机数:返回上一次生成的随机数 Randomize语句:根据系统计时器得到种子数语句:根据系统计时器得到种子数Int(b-a+1)*Rnd)+a:得到:得到a,b区间中的随机整数区间中的随机整数13. 求满足条件求满足条件:1+2+3+4+N1000的最小的最小N。14. 求满足条件求满足条件:1+2+3+4+N1的值,要求计算精度为第的值,要求计算精度为第n项的值小于项的值小于10-5