1、1,程序编写一般包含哪些方面内容? 一、数据类型二、常量与变量三、运算符与表达式四、常用语句与函数,如何编写程序代码之一:,回 顾,2,程序编写一般有几种基本结构? 一、顺序结构二、选择结构三、循环结构,如何编写程序代码之二,顺序结构,4,【例1】交换两个杯子中的液体。,提问同学,如何处理? 将杯子A中的液体倒给杯子C; 将杯子B中的液体倒给杯子A; 将杯子C中的液体倒给杯子B。,A,B,5,输入两个数,然后交换这两个数,再输出它们交换后的结果。 (1)分析问题。要交换两个数,要利用几个变量来保存数据?,Step1 :输入a的值,输入b的值 step2 :利用第三个变量c来进行交换,交换过程如
2、下:c=aa=bb=c step3 :输出交换后A、B的值。,自然语言描述,(2)分析程序的执行步骤,画出流程图。,(3)编写程序,Private Sub command1_Click() Dim a As Single,b As Single,c As Single a=InputBox(“输入第一个数A:“) b=InputBox(“输入第二个数B:“) c=a a=b b=c Print “交换后a=“;a, “交换后a=“;b End Sub,8,顺序结构的特点:1. 按顺序从第一条语句执行到最后一条语句。2. 只有一个入口和一个出口3.任何程序都离不开的基本结构,9,1、写出下列程序
3、的运行结果. (1)图(1)中,输出S=_ (2) 图(2)中,若R=8,则a=_,开始,结束,输入a,b,a=2,b=4,输出S,图(1),开始,结束,输入R,a=2b,输出a,图(2),2.5,4,课堂练习,10,2、有如下Visual Basic程序段:a=“Good“b=“Bye“c=a+bprint c 该程序段运行后,变量c的值是_。,“GoodBye”,3、有如下Visual Basic程序段:k=30h=5s=h*k/2print s 该程序段运行后,变量s的值为 。,75,课堂练习,选择结构,12,在处理实际问题时,只有顺序结构是不够的,经常会遇到一些条件的判断,流程根据条件
4、是否成立有不同的流向。如下图所示,程序根据给定的条件P是否成立而选择执行A操作或B操作,这种先根据条件做出判断,再决定执行哪一种操作的结构称为分支结构,也称为选择结构。,13,程序的选择结构,选择结构的特点: 1、使用表示条件判断的表达式 2、有一个入口和多个分支出口,14,选择结构,开始,执行b,执行a,结束,条 件,Y,N,开始,Y不是正数,Y是正数,结束,Y0,Y,N,例:判断y是正数吗?,15,一、“If语句”,If 条件 Then语句或语句组 End If,If 条件 Then语句或语句组1 Else语句或语句组2 End If,1、单分支结构,2、双分支结构,3、多分支结构,If
5、条件1 Then语句或语句组1 ElseIf 条件2 Then语句或语句组2 ElseIf 条件n Then语句或语句组n Else语句或语句组2 End If,16,Select Case 表达式Case 表达式列表1 语句组1 Case 表达式列表2 语句组2 Case 表达式列表n 语句组n End Select,多分支结构,二、“Select Case语句”,17,完善程序,参考下面的程序,1200元为手机的优惠价格,可以是单分支,可以是双分支,也可以是多分支。,18,If 条件 Then语句或语句组 End If,1、单分支结构,If price = 1200 Then MsgBox
6、 “猜对了,真厉害!恭喜您幸运地拥有了一部高档手机!“ End If,19,If 条件 Then语句或语句组1 Else语句或语句组2 End If,2、双分支结构,If price = 1200 Then MsgBox “猜对了,真厉害!恭喜您幸运地拥有了一部高档手机!“ Else MsgBox “猜错了,再试试!“ End If,20,If 条件1 Then语句或语句组1 ElseIf 条件2 Then语句或语句组2 ElseIf 条件n Then语句或语句组n Else语句或语句组2 End If,3、多分支结构(if语句),If price 1200 Then MsgBox “猜高了,
7、再试试!“ ElseIf price = 1200 Then MsgBox “猜对了,真厉害!恭喜您幸运地拥有了一部高档手机!“ End If,21,Select Case 表达式Case 表达式列表1 语句组1 Case 表达式列表2 语句组2 Case 表达式列表n 语句组n End Select,Select Case price Case Is 1200 MsgBox “猜高了,再试试!“ Case Is = 1200 MsgBox “猜对了,真厉害!恭喜您幸运地拥有了一部高档手机!“ End Select,3、多分支结构(select语句),22,1、语句If x=1 Then y=
8、1,下列说法正确的是( )。A、x=1和 y=1 均为赋值语句 B、x=1和 y=1均为关系表达式C、x=1为关系表达式,y=1为赋值语句D、x=1为赋值语句,y=1为关系表达,课堂练习,23,课堂练习,2、电梯的最大容量为13人,在此范围内电梯能正常运行,超出了这个范围电梯将发出警报。( )Dim a as integera=val(inputbox(“请输入进入电梯的人数”)a=13 _print “正常运行”_print “发出警报”_A.if.thenend ifelse B.thenifelseend ifC.ifthenelseend if D.ifelsethenend if,2
9、4,课堂练习,3、有如下Visual Basic程序段: a=2 b=5If ab Then m=a Else m=bEnd ifPrint m 该程序段运行后,变量m的值为_。,5,25,课堂练习,4、有如下Visual Basic程序段:a=10:b=20:x=30If xb Thena= b+aElsea=b-aEnd Ifprint a 该程序段运行后,变量a的值为_ 。,30,VB程序代码中一行可以写多个语句,语句间用冒号隔开。,26,课堂练习,5、下图的作用是判断输入数x的奇偶性,则处应为_,开始,结束,输入x,输出“x是奇数”,输出“x是偶数”,R=x除以2的余数,是,否,R=1
10、?,27,课堂练习,6、输入一学生成绩,评定其等级。规则是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以下为“不合格”。,If x=90 then Print “优秀“ Else If x=80 Then Print “良好“ Else If x=70 Then Print “中等“ ElseIf x=60 Then Print “及格“ Else Print “不及格“ End If,Select Case x Case 90 to 100 Print “优秀“ Case 80 to 89 Print “良好“ Case 70 to 79
11、 Print “中等“ Case 60 to 69 Print “及格“ Case Else Print “不及格“ End Select,循环结构,在窗体上显示10行 * (每行10个 * ),顺序结构 Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print String(10,“*“) Print St
12、ring(10,“*“),循环结构 Dim n as Integer for n=1 to 10 Print String(10,“*“) next n,Dim n As Integer n是循环控制变量 For n = 1 To 10 n的初值1,终值10,每循环1次增加1 Print String(10, “*“) 循环体语句 Next n 循环结束,程序的循环结构,循环结构的特点: 1、在给定条件下,重复执行一个语句。2、必然出现不满足条件的情况,使循环 终止。,循环结构,开始,执行b,执行a,结束,条 件,Y,N,开始,Y=Y+X X=X+1,Y0 X=1,X=100,Y,N,结束,Y
13、01 Yy2 Yy3 Yy100,例:求y值? Y123100,A、计数型循环语句(循环次数固定)For循环语句B、条件型循环语句(循环次数不固定,由循环条件决定。)Do Loop循环语句,在VB中循环结构控制的形式,在VB中循环结构控制的形式,一、ForNext语句,For 循环变量=初始值 TO 终值 step 步长值语句 Next 循环变量,Y=0 For x=1 to 100y=y+x Next x,Y=0:x=1 For x=100y=y+xx=x+1 Next x,计数型,条件型,思考:Y123*100,求y值?,在VB中循环结构控制的形式,For 循环变量=初始值 TO 终值 s
14、tep 步长值语句 Next 循环变量,Y=1 For x=1 to 100y=y*x Next x,Y=1:x=1 For x=100y=y*xx=x+1 Next x,计数型,条件型,思考:Y123*100,求y值?,一、ForNext语句,Do while 条件 语句 loop,在VB中循环结构控制的形式,Do until 条件 语句 loop,Do 语句 loop while 条件,Do 语句 loop until 条件,1、While,2、Until,相当于While not,二、DoLoop语句,在VB中循环结构控制的形式,当型循环结构:“先测型”,为先判断后执行,有可能一次也不执
15、行; 直到型循环结构: “后测型” ,为先执行后判断,至少执行一次。,Do while 条件 语句 loop,Y=0:x=1 do while x=100y=y+xx=x+1 loop,在VB中循环结构控制的形式,Doloop语句(while),Do 语句 loop while 条件,Y=0:x=1 doy=y+xx=x+1 loop while x=100,在VB中循环结构控制的形式,Doloop语句(while),Doloop语句(until),Do until 条件 语句 loop,Y=0:x=1 do until x100y=y+xx=x+1 loop,在VB中循环结构控制的形式,Do
16、 语句 loop until 条件,Y=0:x=1 doy=y+xx=x+1 loop until x100,在VB中循环结构控制的形式,Doloop语句(until),1、下面是一段Visual Basic程序:Private Sub Command1_Click()Dim sum As Double,i As Integersum = 0For i = 1 To 5 sum=sum+i*iNext iText1.Text=Str(sum)End Sub 该程序运行后,语句sum=sum+i*i共执行了 次。,5,课堂练习,以下是一段Visual Basic程序 a=1 b=a+1 c=a+
17、b 它的基本结构属于( ) A. 循环结构 B. 选择结构 C. 树型结构 D. 顺序结构,练一练,D,下列流程图表示的是程序的( )基本结构的算法 A.循环结构 B.其它三项都不是 C.选择结构 D.顺序结构,A,以下是一段Visual Basic程序: b=0 For I=1 To 5b=b+1 Next I 它的基本结构属于( ) A.循环结构 B.树型结构 C.选择结构 D.顺序结构,A,以下是一段Visual Basic程序 If I=1 Thenx=x+1 Elsex=x+2 End If 它的基本结构属于( ) A. 选择结构 B. 循环结构 C. 顺序结构 D. 树型结构,A,
18、以下是一个Visual Basic程序 a=1 b=2 m=a x=m+b b=b+1 y=x+b 它的基本结构属于( ) A. 顺序结构 B. 选择结构 C. 循环结构 D. 树型结构,A,在VB中,以下程序段: x=1 Do While x10x=x+x Loop 运行后的X的值为( ) A.4 B.8 C.2 D.16,D,在VB中,假定有以下程序段: For I=1 To 3I=I+1 Next I 则执行结束后I的值是( ) A.4 B.5 C.6 D.1,A,下列VB程序运行后,变量m的值为( ) a=2:b=1:c=5 If ab Then m=a Else m=b If cm
19、Then m=c A.1 B.5 C.2 D.其它三项均不正确,A,分析程序,写出执行结果 Private Sub Command1_Click()S = 0For i = 1 To 3S= S+2*iNext iPrint “S=“; S End Sub运行的结果是,下列程序运行后,变量Value的值是() x=20 If x=10 ThenValue=5*x ElseValue=3*x+10 End If A.80 B.90 C.100 D.70,107.在VB中,假定有以下程序段: I=1 Do Until I0Print “VB” Loop 则语句Print “VB”的执行次数是:(
20、) A.0 B.1 C.2 D.无数次,在VB中,假定有以下循环结构:Do Until 条件循环体Loop 则正确的描述是( ) A.不论“条件”是否为“真”,至少执行一次循环体 B.如果“条件”是一个不为0的常数,则至少执行一次循环体 C.如果“条件”是一个为0的常数,则执行无穷次循环体 D.如果“条件”是一个为0的常数,则一次循环体也不执行。,2、下面的程序是求7!(7!=1*2*3.*6*7)的值,并在默认窗口输出这个值。程序中有两处错误,请更正。Private Sub Command1_Click()Dim a As Singlea=0For i=1 to na=a*iNext ipr
21、int aEnd Sub_ _,a=1,For i=1 to 7,课堂练习,3、下面的程序是求100以内奇数和s的值(S=1+3+5+7.+99)。请将程序补充完整:Private Sub Command1_Click()Dim s As SingleDim i As SingleS=_For i=1 to 100 Step _Next iprint s End Sub,0,2,s=s+i,课堂练习,4、输入100个数,统计其中负数、零及正数的个数。Private Sub Form_Click()Dim i,x,y,z As Integerrem x,y,z分别代表负数、零及正数的个数Dim k As Doublex=0:y=0:z=0For i = 1 To 100k = Val(InputBox(“输入一个数据“)If k 0 Then_ElseIf k 0 Thenx = x + 1Else_End IfNext iPrint “负数、零及正数的个数是:“; x, y, zEnd Sub,z=z+1,y=y+1,