1、1谢谢观赏2019-8-212关系运算与逻辑运算1选择结构程序设计24 选择控件 单分支条件语句 双分支条件语句 多分支条件语句 If语句嵌套谢谢观赏2019-8-213运算符含 义实 例结 果=等于大于大于等于小于小于等于不等于ABCDE=ABRABCDE ABRx-y+5=(x-3)*z 23 323=312 23FalseFalseFalseTrueTrue谢谢观赏2019-8-214两个字符串进行比较:逐一比较每个字符的ASCII,只有两个字符串中所有字符相同时,两字符串相等谢谢观赏2019-8-215-(负号)*,/Mod+,-&无优先顺序NotAndOrXor由高到低例:设a=4,
2、b=3,c=2,d=1,表达式ab+1Or cd And b Mod c 的值?谢谢观赏2019-8-216关系运算与逻辑运算1选择结构程序设计2 选择控件 单行结构条件语句 块结构条件语句 IIf函数 If语句的嵌套谢谢观赏2019-8-21712谢谢观赏2019-8-218True 为选中False 为不选谢谢观赏2019-8-219v 属性 Caption:Check1、Check2 Value Alignmentv 事件 Click1-Checked 为选中0-Unchecked 为不选2-Grayed 为禁止操作(灰色)谢谢观赏2019-8-2110框架Frame谢谢观赏2019-8
3、-2111谢谢观赏2019-8-2112x y t=x x=yy=tFalseTrueIF Then 谢谢观赏2019-8-21谢谢观赏2019-8-2114谢谢观赏2019-8-2115谢谢观赏2019-8-211616谢谢观赏2019-8-211717谢谢观赏2019-8-2118谢谢观赏2019-8-2119谢谢观赏2019-8-2120谢谢观赏2019-8-2121谢谢观赏2019-8-2122谢谢观赏2019-8-2123 编写代码:Private Sub Command1_Click()Dim max As Single Dim min As Single max=Val(Text
4、1.Text)min=Val(Text2.Text)If max min Then max=min End If Label3.Caption=较大值为较大值为&maxEnd SubFTmax=minmaxmin?开始开始dim max as singledim min as singlemax=val(text1.text)min=val(text2.text)结束结束Label3.Caption=较大值为较大值为&max谢谢观赏2019-8-2124TF用户名和口用户名和口令正确吗?令正确吗?显示显示欢迎欢迎消息框消息框显示显示错误错误消息框消息框谢谢观赏2019-8-2125 编写代码:
5、编写代码:Private Sub Command1_Click()Dim user As String Dim psw As String user=Text1.Text psw=Text2.TextEnd Sub If user=SYL And psw=123456 Then MsgBox(欢迎您登录本系统!欢迎您登录本系统!)Else MsgBox(您的用户名或口令有误,请重新输入!您的用户名或口令有误,请重新输入!)End If谢谢观赏2019-8-2126谢谢观赏2019-8-2127谢谢观赏2019-8-2128谢谢观赏2019-8-2129谢谢观赏2019-8-2130 If us
6、er=SYL And psw=123456 Then MsgBox(正确正确!)Else MsgBox(错误错误!)End IfMsgBox IIf(user=SYL And psw=123456,正确正确!,错误!错误!)IIf(user=SYL And psw=123456,MsgBox(正确!正确!),MsgBox(错误!错误!)IIf(条件条件,表达式表达式1,表达式表达式2)谢谢观赏2019-8-2131等级等级不及格不及格 score60及格及格 60score70中等中等 70score80良好良好 80score90优优 score90谢谢观赏2019-8-2132谢谢观赏20
7、19-8-2133 编写代码:编写代码:Private Sub Command1_Click()Dim score As Single Dim s As String score=Val(Text1.Text)End SubT If score 60 Then s=不及格不及格 ElseIf score 70 Then s=及格及格 ElseIf score 80 Then s=中等中等 ElseIf score=285 Then Label4.Caption=可以获奖!可以获奖!ElseIf a=90 And b=90 And c=90 Then Label4.Caption=可以获奖!可以
8、获奖!ElseIf a=100 And b=100 And c=80 Then Label4.Caption=可以获奖!可以获奖!Else Label4.Caption=不可获奖!不可获奖!End IfEnd SubT能改成下面的代码吗?能改成下面的代码吗?If a+b+c=285 or a=90 And b=90 And c=90 or _ a=100 And b=100 And c=80 Then Label4.Caption=不可获奖!不可获奖!End If谢谢观赏2019-8-2136谢谢观赏2019-8-2137谢谢观赏2019-8-2138为男性为女性谢谢观赏2019-8-2139
9、谢谢观赏2019-8-2140yz交换y和z谢谢观赏2019-8-2141谢谢观赏2019-8-2142TT三角形?三角形?FT直角三角形?直角三角形?F输出判断结果输出判断结果输出判断结果输出判断结果输出判断结果输出判断结果谢谢观赏2019-8-2143谢谢观赏2019-8-2144谢谢观赏2019-8-2145谢谢观赏2019-8-2146谢谢观赏2019-8-2147关系运算与逻辑运算1选择结构程序设计24多分支结构程序设计3谢谢观赏2019-8-21谢谢观赏2019-8-2149谢谢观赏2019-8-2150Case 2,4,6,8,VB,程序设计程序设计Case 60 to 100C
10、ase is=60 and is100谢谢观赏2019-8-2151谢谢观赏2019-8-2152谢谢观赏2019-8-2153谢谢观赏2019-8-2154C注意:1、Select Case后不能跟多个变量2、不能在条件中出现变量3、不能在条件中出现逻辑表达形式但下面这种情况可以使用Case option1.Value True And Option2.value=True 这里其实是一个表达式的值,属于简单常量形式谢谢观赏2019-8-2155不能在条件中出现变量和不能在条件中出现变量和不允许的逻辑表达形式不允许的逻辑表达形式不能对多个变量进行判断不能对多个变量进行判断谢谢观赏2019-8
11、-2156 谢谢观赏2019-8-2157 分析:本题根据包裹的重量来计算包裹的邮寄费。一个输入量为包裹重量,一个输出量为邮寄费。所以用一个文本框接收输入量,一个文本框作为输出,一个按钮实现“计算”功能,一个按钮实现“退出”功能。谢谢观赏2019-8-2158v 编写代码:谢谢观赏2019-8-2159 编写代码:IF语句实现谢谢观赏2019-8-2160谢谢观赏2019-8-2161Select Case Combo1.ListIndex Case 6 To 8 If num 20 Then rate=0.95 Else rate=0.85 End If Case 9,10,0 To 4 I
12、f num 0=0 0 Label4.Caption=x1=&(-b+Sqr(b 2-4*a*c)/(2*a)Label5.Caption=x2=&(-b-Sqr(b 2-4*a*c)/(2*a)Case Is=0 Label4.Caption=二次方程有二次方程有2个实根个实根 Label5.Caption=x1、x2=&-b/(2*a)Case Is 0 Label4.Caption=二次方程没有实根二次方程没有实根 End Select End If Else MsgBox(你输入的数据无效,请重新输入!你输入的数据无效,请重新输入!)End If谢谢观赏2019-8-21644关系运算
13、与逻辑运算1选择结构程序设计2多分支结构程序设计3循环结构程序设计4 For-Next循环 Do-Loop循环 While-Wend循环 列表框和组合框 多重循环 GoTo语句控制循环谢谢观赏2019-8-2165谢谢观赏2019-8-2166Print i谢谢观赏2019-8-2167i=1i=2True谢谢观赏2019-8-2168i=1i=2Print iTrue谢谢观赏2019-8-2169i=1i=2Print iTruei=i+步长步长谢谢观赏2019-8-2170i=1i=2Print iTruei=i+步长步长谢谢观赏2019-8-2171i=1i=2Print iTruei=
14、i+步长步长False退出循环退出循环执行过程:(1)设置循环变量等于初值。(2)判断循环变量是否大于(步长为负时小于)终止值,如果是则退出循环,否则继续。(3)执行语句块。(4)循环变量加上步长值。(5)重复步骤(2)到(4)。谢谢观赏2019-8-2172For 循环变量=初值 To 终值 step 步长循环语句块Next 循环变量)1int(步长终值初值n当循环变量当循环变量不在循环体不在循环体内改变时内改变时谢谢观赏2019-8-2173谢谢观赏2019-8-2174谢谢观赏2019-8-2175谢谢观赏2019-8-2176谢谢观赏2019-8-2177谢谢观赏2019-8-2178
15、谢谢观赏2019-8-2179谢谢观赏2019-8-2180谢谢观赏2019-8-2181谢谢观赏2019-8-2182谢谢观赏2019-8-2183谢谢观赏2019-8-2184谢谢观赏2019-8-2185谢谢观赏2019-8-2186Sum=0For i=1 To 100 Step 1 Sum=Sum+iNext iPrint SumSum=0For i=0 To 100 Step 2 Sum=Sum+iNext iPrint SumForm1.Print Sum Sum=0 i=1 Sum=Sum+i i=100 i=i+1 False True 求0到100的所有偶数之和谢谢观赏20
16、19-8-2187求100的阶乘。For i=1 To 100 Step 1 Result=Result*iNext iResult=1Form1.Print Result Result=1 i=1 Result=Result*i i i=1=10000 i=i i=i+1 1 False True Form1.Print Sum谢谢观赏2019-8-2188Sum=Sum+Result n=Val(InputBox(输入一个自然数输入一个自然数)Result=1:Sum=0 For i=1 To n Result=Result*i Next i msgbox 1+2!+3!+n!=“&Sum
17、iResult1122!nn!谢谢观赏2019-8-21894关系运算与逻辑运算1选择结构程序设计2多分支结构程序设计3循环结构程序设计4 For-Next循环 Do-Loop循环 While-Wend循环 列表框和组合框 多重循环 GoTo语句控制循环谢谢观赏2019-8-2190For-Next循环来实现知道循环次数?知道循环结束的条件Do-Loop循环和While-Wend循环谢谢观赏2019-8-2191)!1n2(x)1(.!7x!5x!3x1x(x)sin1n21n753谢谢观赏2019-8-2192 条条件件 语语句句块块 1 语语句句块块 2 有有 Exit Do False
18、True Do While Loop False True 条条件件 语语句句块块 1 语语句句块块 2 有有 Exit Do False True Do While Loop False True TrueFalse 形式1先判断后执行,有可能一次也不执行形式:DO while|Until loop谢谢观赏2019-8-2193谢谢观赏2019-8-2194谢谢观赏2019-8-21i=0do until i100print ii=i+2loop95谢谢观赏2019-8-21i=1sum=0do until i100sum=sum+ii=i+2loop96谢谢观赏2019-8-2197谢谢观
19、赏2019-8-2198谢谢观赏2019-8-2199谢谢观赏2019-8-21100谢谢观赏2019-8-21101谢谢观赏2019-8-21102谢谢观赏2019-8-21103谢谢观赏2019-8-21104谢谢观赏2019-8-21105谢谢观赏2019-8-21106)!1n2(x)1(.!7x!5x!3x1x(x)sin1n21n753谢谢观赏2019-8-21107population=12.6583r=0.0107:n=0Do While population=0 And score=90 Then y=y+1 ElseIf score=80 Then l=l+1 ElseIf
20、 score=70 Then z=z+1 ElseIf score=60 Then j=j+1 Else b=b+1 End If total=total+1谢谢观赏2019-8-21113总结:谢谢观赏2019-8-211144关系运算与逻辑运算1选择结构程序设计2多分支结构程序设计3循环结构程序设计4 For-Next循环 Do-Loop循环 While-Wend循环 列表框和组合框 多重循环 GoTo语句控制循环谢谢观赏2019-8-21115ListBoxComboBoxText1List1List2ComboBox谢谢观赏2019-8-21116属性 含 义List字符数组,通过下标
21、访问列表项目,下表从0开始。访问列表项目:x$=列表框名.List(下标)改变列表框某项的值:列表框名.List(下标)=字符串设置列表项按几列显示ListCount返回列表项数,运行时有效。列表项中表项的序号从0开始,最后一项为listCount-1.n=列表框名.ListCountListIndex返回当前选中的列表项的索引,第一项为0;如没有选中任何项返回-1.设置运行时是否按字母数字自动排序设置是否允许同时选择多个列表项Text得到最后选中的列表项的文本内容,无法直接修改谢谢观赏2019-8-21117事件和方法 含 义格式Click/DbClick通常不编写Click事件,而是当触发
22、其他对象时,对列表框进行操作AddItem添加列表项列表框.AddItem 项目字符串,索引值Clear列表框.ClearRemoveItem删除选中(或指定)的列表项列表框.RemoveItem 索引值谢谢观赏2019-8-21118谢谢观赏2019-8-21119谢谢观赏2019-8-211204关系运算与逻辑运算1选择结构程序设计2多分支结构程序设计3循环结构程序设计4 For-Next循环 Do-Loop循环 While-Wend循环 列表框和组合框 多重循环 GoTo语句控制循环谢谢观赏2019-8-21121谢谢观赏2019-8-21122【例】编写一个猜数字游戏程序,让计 算 机
23、 产 生 一 个100以内的随机整数,用户从键盘输入一个数,由计算机判断输入的数是大还是小,并给出提示,直到输入正确的数为止。谢谢观赏2019-8-21123通常把循环体内不含循环语句的循环称为。而把一个循环体内又含有一个完整的循环结构的循环称为(又称为循环的嵌套),没有具体限制。如二重循环,三重循环。对于循环的嵌套,要注意以下事项:内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,反之则可以。谢谢观赏2019-8-21124 For ii=1 To 10 For ii=1 To 20 Next ii Next ii For ii=1 To 10
24、For jj=1 To 20 Next jj Next ii For ii=1 To 10 For jj=1 To 20 Next ii Next jj For ii=1 To 10 Next ii For ii=1 To 10 Next ii 正确错误谢谢观赏2019-8-21125谢谢观赏2019-8-21126谢谢观赏2019-8-21127谢谢观赏2019-8-21128谢谢观赏2019-8-21129【例例】产生并显示由数码产生并显示由数码1 1、2 2、3 3构成的所有三位构成的所有三位数数,并统计这些三位数的个数并统计这些三位数的个数思考:如何用列表框显示这些三位数?For a=
25、1 To 3 Next ax=100*a+10*b+cFor c=1 To 3Next cFor b=1 To 3 Next b谢谢观赏2019-8-21130谢谢观赏2019-8-21131谢谢观赏2019-8-21132【例】编写打印右边图案的代码 谢谢观赏2019-8-21133谢谢观赏2019-8-21134谢谢观赏2019-8-21135谢谢观赏2019-8-211364关系运算与逻辑运算1选择结构程序设计2多分支结构程序设计3循环结构程序设计4 For-Next循环 Do-Loop循环 While-Wend循环 列表框和组合框 多重循环 GoTo语句控制循环谢谢观赏2019-8-2
26、1137谢谢观赏2019-8-21138关系运算与逻辑运算1选择结构程序设计2多分支结构程序设计3循环结构程序设计4常用算法5谢谢观赏2019-8-21139谢谢观赏2019-8-21140谢谢观赏2019-8-21141)!1n2(x)1(.!7x!5x!3x1x(x)sin1n21n753谢谢观赏2019-8-21142nnm.43214321谢谢观赏2019-8-21143nnm.43214321谢谢观赏2019-8-21144谢谢观赏2019-8-21145谢谢观赏2019-8-21146谢谢观赏2019-8-21147谢谢观赏2019-8-21148谢谢观赏2019-8-211.找到
27、a、b的值,使得f(a)f(b)0确保方程有解2.取x0(a+b)/23.若f(a)*f(b)0,则a=x0,重复第二步4.重复执行2、3步,直到空间长度b-a,或者f(x),或者|f(x)|f(x)bf(b)af(a)x0149谢谢观赏2019-8-21150f(x)bf(b)af(a)x01.找到a、b的值,使得f(a)f(b)0确保方程有解2.取x0(a+b)/23.若f(a)*f(b)0,则a=x0,重复第二步4.重复执行2、3步,直到空间长度b-a,或者f(x),或者|f(x)|谢谢观赏2019-8-21151谢谢观赏2019-8-21152谢谢观赏2019-8-211531003/
28、35100zyxzyxFor x=0 To 20 For y=0 To 33 Next yNext x【例】关于百钱买百鸡的问题 设母鸡、公鸡、小鸡各为x、y、z只,根据题目要求,列出三个未知数,两个方程,此题有若干个解。谢谢观赏2019-8-21154154谢谢观赏2019-8-21155谢谢观赏2019-8-21156例 求 m=14,n=6 的最大公约数.If m n Then t=m:m=n:n=t r=m mod n Do While(r 0)m=n n=r r=m mod n Loop Print 最大公约数=,n Print 最小公倍数=“,14*6/n m n r 14 6 2
29、 6 2 0156谢谢观赏2019-8-21157谢谢观赏2019-8-21158If Then Print n;是质数是质数Else Print n;不是质数不是质数End IfFor i=2 To n-1 If n Mod i=0 Then _Next in=Val(Inputbox(输入一个大于输入一个大于 1 的正整数的正整数)谢谢观赏2019-8-21159谢谢观赏2019-8-21160谢谢观赏2019-8-21161谢谢观赏2019-8-21162谢谢观赏2019-8-21163谢谢观赏2019-8-211642000320001000210005005.1500 xxxxxxxxy谢谢观赏2019-8-21