控制结构
一、选择题
1.VB 的3种结构化程序设计的3种基本结构是________。
A) 选择结构、过程结构、顺序结构
B) 递归结构、选择结构、顺序结构
C) 过程结构、转向结构、递归结构
D) 选择结构、顺序结构、循环结构
2.用
If
语句表示分段函数
33
11
()11
x x f x x x ?-≥=?+ ,以下________表示方法不正确。 A) f=x^3+1
If x>=1 Then f=s^3-1
B) If x>=1 Then f=x^3-1
If x<1 Then f=x^3+1
C) If x>=1 Then f=x^3-1
f=x^3+1
D) If x<1 Then f=x^3+1 Else
F=x^3-1
3.执行下面的程序段后显示结果是________。 Private Sub Form_Click() Dim m
If m Then Print m Else Print m+1
End Sub
A) 0 B) 1 C) ”” D) False
4.设a=6,则执行x=IIf(a>5,-1,0)后,x 的值为________。 A) 5 B) 6 C) 0 D) –1
5.下面程序段的运行结果是________。
cj=85
If cj>90 Then dj="A"
If cj>80 Then dj="B"
If cj>70 Then dj="C"
If cj>60 Then dj="D" If cj<60 Then dj="E" Print "dj=";dj
A) dj=B B) dj=C C) dj=D D) dj=E
6.下列语句正确的是________。 A) If K<3*N And k>N Then N=k^3 B) If K<3*N And k>N Then N=k3 C) If K<3*N : k>N Then N=k^3 D) If K<3*N And k>N Then N=k**3
7.设X=2.0,y=8.0,z=6.0,L=True ,则下列Visual Basic 表达式中值为True 的是________。
A) X+Z>Y AND L
B) NOT(Y
C) NOT L OR (L=Y+X=Z)
D) Y+X>=Z+X AND (L AND FALSE)
8.要判断”月收入在2000元以上(含2000元)且5000元以下(不含5000元)”的职工,应使用的逻辑表达式是________。
A) M>=2000 AND M<=5000
B) M>=2000 OR M<=5000
C) M>=2000 AND M<5000
D) M>=2000 OR M<5000
9.下列程序段的执行结果为________。
x=Int((69-60)*Rnd+60)
Select Case x
Case Is>90
Print "优秀"
Case 80 To 89
Print "良好"
Case 60 To 79
Print "合格"
Case Else
Print "不合格"
End Select
A) 优秀B) 良好C) 合格D) 不合格
10.在窗体上画一个命令按钮,名称为Command1。然后编写如下程序:运行结果________。Private Sub Command1_Click()
For I=1 To 4
For J=0 To I
Print Chr(65+I);
Next J
Next I
End Sub
单击命令按钮后,运行结果________。
A) BB B) A
CCC BB
DDDD CCC
EEEEE DDDD
C) B D) AA
CC BBB
DDD CCCC
EEEE DDDDD
11.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim i As Integer,n As Integer
For i=0 To 50
i=i+3
n=n+1
If i>10 Then Exit For
Next
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是________。
A) 2B) 3C) 4D) 5
12.在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For i=1 To 4
x=4
For j=1 To 3
x=3
For k=1 To 2
x=x+6
Next k
Next j
Next i
Print x
End Sub
程序运行后,单击命令按钮,输出结果是________。
A) 7B) 15C) 157D) 53813.阅读下面的程序段:
For i=1 To 3
For j=1 To i
For k=j To 3
a=a+1
Next k
Next j
Next i
执行上面的三重循环后,a的值为________。
A) 3B) 9C) 14D) 21
14.在窗体上画一个文本框(其Name属性为Text1),然后编写如下事件过程:
Private Sub Form_Load()
Text1.Text=""
Text1.SetFocus
For i=1 To 10
Sum=Sum+i
Next i
Text1.Text=Sum
End Sub
上述程序的运行结果是________ 。
A)在文本框Text1中输出55
B)在文本框Text1中输出0
C) 出错
D) 在文本框Text1中输出不定值
15.有如下程序:
a=10
b=4
For j=1 To 20 Step -2
a=a+5
b=b+4
Next j
Print a;b
运行后,输出的结果是________。
A) 10 4B) 60 24C) 110 44D) 55 40
16.有如下程序:
d$=""
a$="abcde"
For i=Len(a) To 1 Step -1
d=d+Mid(a,i,1)
Next i
Print d$
运行后,输出的结果是________。
A) abcde B) edcba C) acebd D) ecadb
17.在Command1_Click事件程序的功能是:按顺序读入10名学生4门课程的成绩。计算出每位学生的平均分并输出,程序如下:
Dim n As Integer,k As Integer
Dim score As Single,sun As Single,ave As Single sum=0#
For n=1 To 10
For k=1 To 4
score=InputBox("请输入一门课的成绩")
sum=sum+score
Next k
ave=sum/4
print"第";n;"个人的平均成绩为:";ave
Next n
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是________。
A) sum=0#B) sum=sum+score
C) ave=sum/4D) print"第";n;"人的均分:";ave
18.下列程序的输出结果是________。
Dim y As Integer
y=10
While y<>0
y=y-1
Wend
Print "y=" ; y
A) y=0B) y=1C) y=随机值D) y=-1
19.以下程序的输出结果是________。
Dim m As Integer
m=1
While m<=3
m=m+1
Print m;
Wend
A) 2B) 2 3C) 2 3 4D) 2 3 4 5
20.下面的程序运行结果是________。Private Sub Form_Click()
m=0
Do Until 0
m=m+1
If m>10 Then Exit Do
Loop
Print m
End Sub
A) 0B) 10C) 11D) 出错
21.下面程序运行语句Print m执行的次数是________。
Private Sub Form_Click()
Dim m As Integer,n As Integer
m=0
Do
m=m+1
For n=10 To 1 Step -3
m=m+n
Print m
Next n
Loop While m<50
End Sub
A) 4B) 8C) 12D) 16
22.在窗体上画两个名称分别为Text1、Text2的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim x As Integer,n As Integer
x=1
n=0
Do While x<20
x=x*3
n=n+1
Loop
Text1.Text=Str(x)
Text2.Text=Str(n)
End Sub
程序运行后,单击命令按钮,在两个文本框中显示的值分别是________。
A) 15和1 B) 27和3 C) 195和3 D) 600和4
23.在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件过程:
Private Sub Command1_Click()
x=0
Do While x<50
x=(x+2)*(x+3)
n=n+1
Loop
Text1.Text=Str(n)
Text2.Text=Str(x)
End Sub
程序运行后,单击命令按钮,在两个文本框中显示的值分别为________。
A) 1和0B) 2和72 C) 3和50 D) 4和168
24.在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
x=0
Do Until x=-1
a= InputBox("请输入A的值")
a=Val(a)
b=InputBox("请输入B的值")
b=Val(b)
x=InputBox("请输入x的值")
x=Val(x)
a=a+b+x
Loop
Print a
End Sub 程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为________。
A) 2B) 3C) 14D) 15
二、填空题
1.执行下面的程序,当输入的值为5时输出为________。
Private Sub Form_Click()
Dim x As Single
x=InputBox("X")
If x<0 Then '
y=1 : Print y
ElseIf x>=0 Then
y=2 : Print y
ElseIf x>=1 Then
y=3 : Print y
Else
y=4 : print y
End If
End Sub
2.下面的程序将从InputBox输入对话框得到的3个数按从大到小输出。阅读程序并填空。如果程序运行时分别输入12.3、35.8和25.7三个数,则输出为________。
Private Sub Form_Click()
Dim a As Integer,b As Integer,c As Integer
a=InputBox("输入一个数")
b=InputBox("输入一个数")
c=InputBox("输入一个数")
If b>a Then
d=a : a=b : b=d
End If
If c>a Then
d=a : a=c : c=d
End If
If c>b Then
End If
Print a;b;c
End Sub
3.下列程序运行时,单击窗体,执行结果为______________________________。
说明:在窗体上有一个Label控件,名为lblDate。
Dim Y As Integer, D As Integer, W1 As Integer
Dim Rq As Date
Dim W2 As String
Private Sub Form_Click()
Rq = Date
Y = Year(Rq) : m=Month(Rq) : d=Day(Rq)
W1 = Weekday(x)
Select Case W1
Case 1
W2 = "日"
Case 2
W2 = "一"
Case 3
W2 = "二"
Case 4
W2 = "三"
Case 5
W2 = "四"
Case 6
W2 = "五"
Case 7
W2 = "六"
End Select
lbldate.Caption = "今天是" & Y & "年" & M & "月" & D & "日" & W2
End Sub
4.执行下面的程序段后,s的值为____________。
a=5
For i=2.6 To 4.9 Step 0.6
s=s+1
Next i
5.下面是一个体操评分程序。20位评委,除去一个最高分和一个最低分,计算平均分(设满分为10分)。
Max=0
Min=10
For i=1 To 20
n=Val(InputBox"请输入分数")
If ______________Then Max=n
If ______________Then Min=n
s=s+n
Next i
s=______________
p=s/18
Print"最高分";Max,"最低分";Min
Print"最后得分:";p
6.下面程序的功能是求1到100的平方和,如果平方和超过了1000则跳出循环,输出此时的和S。
For I=1 To 100
s=s+i*i
If s>1000 Then
______________
End If
next i
abc:Print s
7.以下程序段的输出结果是____________。
num=0
While num<=2
num=num+1
Print num
Wend
8.以下程序段的输出结果是____________。Dim j As Integer,s As Integer
Do
s=s+j
j=j+1
Loop Until j=5
Print "s=";s
9.以下程序段,程序运行后,要求执行4次循环。
x=1
Do
x=x+1
print 15
loop Until___________
10.下列程序运行后,内层循环的循环总次数___________。
For x= 1 to 4
For y =1 to x
Print y
Next y
Next x
四、程序阅读题
1.写出下面程序的运行结果。
Private Sub Form_Click()
Dim s As Integer,k As Integer,m As Integer,n As Integer
s=1
For m=1 To 3
For n=m To 3
For k=n To m Step -1
s=s*k
Next k,n,m
Print s
End Sub
2.写出下面程序的运行结果。
Private Sub Form_Click()
For i=3 To 1 Step -1
Print Spc(10-i);
For j=1 To 2*i-1
Print "*";
Next j
Next i
End Sub
3.写出下面程序的运行结果。
Private Sub Form_Click()
For i=1 To 4
x=4
For j=1 To 3
x=3
For k=1 To 2
x=x+6
Next k
Next j
Next i
print x
End Sub
4.写出下面程序的运行结果。Private Sub Form_Click()
m=0
Do
m=m+1
If m>10 Then Exit Do
Loop Until m<10
Print m
End Sub
5.写出下面程序的运行结果。Private Sub Form_Click()
Dim m As Integer,n As Integer
m=10
Do
m=m+n
For n=10 To m step -1
m=m+n
Next n
Loop While m<50
Print m;n
End Sub
6.写出下面程序的运行结果。
Private Sub Form_Click()
Dim m As Integer,n As Integer,k As Integer
m=1 : n=a : k=5
Do While m<=k*n
m=m*n
n=n+1
Print m;n
Loop
Print m;n
End Sub
7.写出下面程序的运行结果。
Dim i As Integer,a As Integer
Do While i<20
Do While True
If i Mod 10=0 Then
Exit Do
Else
i=i-1
End If
Loop
i=i+11 : a=a+i
Loop
Print a
五、程序填空题
1.下面的程序段是检查输入的文字段中大括号是否配对,并显示相应的结果。本程序在文本框中边输入,边统计大括号的个数,以输入回车符作为输入结束标志,然后显示结果。
Dim count1%,str As String
Private Sub Text1_KeyPress(KeyAscii As Integer)
str=
If str="{" Then
count1=count1+1
ElseIf str="}" Then
End If
If KeyAscii=13 Then
If Then
Print "左右大括号配对"
ElseIf Then
Print "左大括号多";count1;"个"
Else
Print "右大括号多";-count1;"个"
End If
End If End Sub
2.阅读下面分段函数及其程序,请填空:
(10)220(100)20(020)
300.5(2040)50(4050)0
(50)
x x x x y x x x x x <-??+-≤?≤=?
-≤?-≤≤??
Dim x As Single,y As Single x=inputBox("请输入x") If(x<-10) Then
y=0#
ElseIf(x<0) Then
y=2*x+20
ElseIf( ) Then
y=20
ElseIf(x<40) Then
ElseIf(x<50) Then
y=50-x
y=0
End If
Print "X=";x;"Y=";y
3.随机产生0~100的整数作为某门功课的分数,按0~59、60~69、70~89、90~100划分为不及格、及格、良好、优秀4个层次,阅读程序并填空。 Private Sub Form_Click() Dim m m=Int(101*Rnd) Print m
Print m
Select Case m
Case (此空不能超过5个字符)
Print "不及格"
Case 6
Print "良好"
Case 7,8
Print "良好"
Case Else
Print "优秀"
End Select
End Sub
4.下面的程序输入X的值,按以下公式求
Y值。
1001000
1000100
400100200
X X
Y X X
X
--≤
?
=+≤≤
?
?<≤
?
Private Sub Command1_Click()
X=Val(Text1.Text)
Select Case X
Case
Print "X<-100 OR X>200"
Case
Y=100-X
Case
Y=100+X
Case
Y=400
End Select
Text2.Text=Y
End Sub
5.以下程序是利用公式1111
4*()
1357
π=-+-+L来计算π的值。其中,变量k表示当前符号项,t表示当前项,n表示当前项的序号,要求精度控制在0.00001内。试分析程序,完成空格处填的内容。
Dim pi As Single,t As Single
Dim n As Single,k As Single pi=0 : n=1
k=1 : t=1
Do While( ) pi =pi+t
k=-k
t=
n=n+1
Loop
pi=
Print "pi=";pi
6.下列程序的功能是输出的前20项,按每行5个数的形式输出。
Fibonacci数列:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=2)
Dim a As Integer, b As Integer
Dim c As Integer, i As Integer
a = 1:
b = 1: i = 3
Print a, b,
Do While (i <= 20)
c = a + b
a = b
b = c
If Then
End If
Loop
7.以下程序用于计算N=1+(1+3)+(1+3+5)…(1+3+..+39)
Private Sub Command1_Click()
T = 0: M = 1: Sum = 0
Do
T = T +
Sum = Sum +
M = M + 2
Loop While
Print “Sum="; Sum
End Sub
8.36块砖,36人搬,男搬4,女搬3,2个小儿抬1砖,要求1次全搬完,问需男、女、小儿各多少人?
For Male = 1 To 9
For Female = 1 To 12
For Boy = 2 To 36 Step 2
If Boy + Female + Male = 36 _
And Then
Print Male, Femalem, Boy
End If
Next boy, female, male 9.以下程序输入N个书名,并显示书名中含有连续3个字母COM的书Private Sub Command1_Click()
n = Val(InputBox("请输入数量:"))
For i = 1 To n
bookname = InputBox("请输入书名:")
l = Len
If l >= 3 Then
If ThenPrint bookname
End If
Next i
End Sub
10.输出20个在开区间(10,87)中的随机整数,每行输出4个整数
Private Sub Command1_Click()
For I = 1 To 100
r =
Print r;
If Then Print
Next I
End Sub
11.输入两个正整数M、N,求它们的最大公约数,显示于Label3中。
Private Sub Command1_Click()
M = Val(Text1.Text)
N = Val(Text2.Text)
A = M:
B = N
R = M Mod N
Do While
M = N:N = R
R =
Loop
Label3.Caption =
End Sub
《VB选择结构程序设计》教学设计 山东省临清市第二中学吴焕英 【案例背景】 高中信息技术新课程的实施,其课程目标定位于全面提升学生的信息素养,其课程的设置从知识与技能、过程与方法、情感态度与价值观三个方面实施这个课程目标。然而,众多的老师实施新课程后发现:教学内容的范围比以前更广泛了、课时远远不够、教学软硬件资源缺乏等诸多问题。因此,如何更有效地开展新课程教学,成为老师们迫切需要解决的问题。本教学案例从学生的实际情况出发,根据现有的数学、英语基础,结合简单的生活实例,引导学生进行探索式学习,问题从简单的英语口语入手,过渡到课题的研究学习。原本枯燥无味的VB程序设计,在简单、形象的生活实例下,激发了学生的思考与探索思维。这样的教学案例,值得我们反思研究、总结与完善。 【教材分析】 算法与程序设计是普通高中信息技术课程中选修模块之一,本模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。 “选择结构”是教育科学出版社出版的高级中学课程标准实验教科书、算法与程序设计第二章第三节的内容,共分三课时,本课为第二课时。主要内容是用选择结构编写简单的程序解决具体问题。用选择结构编写简单的程序解决具体问题是在学生已经掌握了程序设计数据的表示与处理的基础上,理解了顺序结构的前提后提出的。 通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想,而且也为多分支选择结构的学习打下基础。 【学生分析】 高一的学生在数学课中已经有了算法和程序设计的基础,学生对事物的分析、综合能力及独立思考能力、分析解决问题的能力都有了一定的水平,在教师的有效引导下,有能力进行自我探究,如果用一种学生比较感兴趣的,能够贴近学生日常生活的例子来分析选择结构的话,那么学生会比较感兴趣。 【教学目标分析】 通过教师引导学生去探究、发现技术背后所蕴含的技术价值和技术思想,使其获得知识与技能的同时,理解和掌握过程与方法,这样才能够学会认知,学会做事,乃至学会生活,提高终生学习的能力、分析解决问题的能力,满足其终身发展的需要,成为适应信息社会的公民。 因此本节课的目标有以下几项:
一、VB 基本知识及选择、循环结构习题 一、基本概念题 (1) 说明下列哪些是Visual Basic 合法的直接常量,并分别指出它们的类型。 %100 1E1 123D3 123,456 0100 “ASDF” “” #2004/10/7# 100# π &O78 &H123 True T -1123! # (2)下列数据哪些是变量,哪些是常量是什么类型的常量 Name “name” False ff “11/16/99” cj “120” n #11/12/2004# (3) 下列符号中,哪些可以是Visual Basic 的合法变量名 A123 a12_3 123_a a,123 a 123 Integer XYZ False Sin(x) 变量名 sinx π (4)把下列数学表达式写成Visual Basic 表达式: (1)5||z y x ++ (2)6)1(xy + (3)xy y x 310+ (4)a ac b b 242-+- (5)3211111r r r ++ (6)110ln 45sin 10++++y x e (5)写出下列表达式的值: (1)123 + 23 Mod 10 \ 7 + Asc("A") (2)Int * 100 + / 100 (3)#11/22/2004# - 10 (4)"ZXY" & 123 & "abc" (6)设a=7,b=3,c=4,求下列表达式的值: (1)a + 3 * c (2)a ^ 2 / 4 (3)a / 2 + 3 \ 2 (4)a Mod 3 + b ^ 3 / c \ 5 (7)写出下列函数的值: (1)Int (2)Fix (3)Sqr(Sqr(81)) (4)Len("Visual Basic 程序设计") (5)Int(Abs(99 - 100) / 2) (6)Sgn(7 * 3 + 2) (7)LCase("Hellow VB!") (8)Mid("Hellow VB!", 4, 3) (9)Left("Hellow VB!", 3) (10)Val("16个加23个") (11)Str (12)UCase("Visual Basic") 二、 选择题 (1)可以同时删除字符串前导和尾部空格的函数是 。 A. Ltrim B. Rtrim C. Trim D. Mid (2)函数Int(Rnd(1) * 10)是在哪个范围产生随机整数 。 A. (0,1) B. (0,9) C. (1,10) D. (1,9) (3)数学式子sin25o写成Visual Basic 表达式是 。 B. Sin(25) C. Sin(25o) D. Sin(25*180) (4)表达式16/4 – 2^3 * 8/4 Mod 5\2的值是 。 A. 14 B. 4 C. 20 D. 2 (5)数学关系式103<≤x 表示成正确的VB 表达式为 。 A. 3<= x <10 B. x >= 3 And x<10 C. x>=3 Or x<10 D. 3<= x And <10
控制结构 一、选择题 1.VB 的3种结构化程序设计的3种基本结构是________。 A) 选择结构、过程结构、顺序结构 B) 递归结构、选择结构、顺序结构 C) 过程结构、转向结构、递归结构 D) 选择结构、顺序结构、循环结构 2.用If 语句表示分段函数 3311()11 x x f x x x ?-≥=?+ ,以下________表 示方法不正确。 A) f=x^3+1 If x>=1 Then f=s^3-1 B) If x>=1 Then f=x^3-1 If x<1 Then f=x^3+1 C) If x>=1 Then f=x^3-1 f=x^3+1 D) If x<1 Then f=x^3+1 Else F=x^3-1 3.执行下面的程序段后显示结果是________。 Private Sub Form_Click() Dim m If m Then Print m Else Print m+1 End Sub A) 0 B) 1 C) ”” D) False 4.设a=6,则执行x=IIf(a>5,-1,0)后,x 的值为________。 A) 5 B) 6 C) 0 D) –1 5.下面程序段的运行结果是________。 cj=85 If cj>90 Then dj="A" If cj>80 Then dj="B" If cj>70 Then dj="C" If cj>60 Then dj="D" If cj<60 Then dj="E" Print "dj=";dj A) dj=B B) dj=C C) dj=D D) dj=E 6.下列语句正确的是________。 A) If K<3*N And k>N Then N=k^3 B) If K<3*N And k>N Then N=k3 C) If K<3*N : k>N Then N=k^3 D) If K<3*N And k>N Then N=k**3 7.设X=2.0,y=8.0,z=6.0,L=True ,则下列Visual Basic 表达式中值为True 的是________。 A) X+Z>Y AND L B) NOT(Y
A) 0 B) 1 C) ””D) False 控制结构4.设a=6,则执行x=IIf(a>5,-1,0)后,x的值一、选择题为________。 种基本结构1.VB的3种结构化程序设计的3A) 5 B) 6 C) 0 D) –1 是________。5.下面程序段的运行结果是________。 A) 选择结构、过程结构、顺序结构cj=85 递归结构、选择结构、顺序结构B) 晉挠??吠敨?橤尽屁 过程结构、转向结构、递归结构C) 晉挠??吠敨?橤尽层 D) 选择结构、顺序结构、循环结构晉挠??吠敨?橤尽屃 2.段函数表用If语句示分晉挠??吠敨?橤尽屄3?1x?x?1?x)(f表________ ,以下?311x?x?晉挠??吠敨?橤尽居?示方法不正确。Print dj=;dj A) f=x^3+1A) dj=B B) dj=C C) dj=D D) dj=E 1 If x>=1 Then f=s^3- -B) If x>=1 Then f=x^31 If x<1 Then f=x^3+1 -1C) If x>=1 Then f=x^3 f=x^3+16.下列语句正确的是________。 D) If x<1 Then f=x^3+1 Else A) If K<3*N And k>N Then N=k^3 F=x^31-B) If K<3*N And k>N Then N=k3 。执行下面的程序段后显示结果是3.________ C) If K<3*N : k>N Then N=k^3 Private Sub Form_Click() D) If K<3*N And k>N Then N=k**3 Dim m ,则下列L=True,z=6.0,,7.设X=2.0y=8.0是的值为True中达BasicVisual 表式If m Then Print m Else Print m+1 。________ End Sub A) X+Z>Y AND L. B) NOT(Y
第四章VB程序的控制结构 4.1算法概论 1.算法的概念 算法:指用计算机解决某一问题的方法和步骤。 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。 非数值算法:用于对非数值信息进行查找、排序等。 2.算法的特征 (1)确定性:指算法的每个步骤都应确切无误,没有歧义。 (2)可行性:指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。 (3)有穷性:指一个算法应该在有限的时间和步骤内可以执行完毕的。 (4)输入性:指一个算法可以有0或多个输入数据。 (5)输出性:指一个算法必须有一个或多个输出结果。 3.算法的评价 主要评价指标是:算法是否正确、运行的效率、占用系统资源的多少。 4.算法的描述 一般常用流程框图来描述算法。
5.基本算法结构 “结构化程序设计方法”规定算法有三种基本结构:顺序结构、选择结构和循环结构 6.算 法示 例 (1) 欧几里德算法——求两个自然数的最大公约数
(2)顺序查找算法——在N个字符串集合中,查找有无特定的字符串存在
4.2顺序结构 1.赋值语句 赋值语句是任何程序设计中最基本的语句,赋值语句都时顺序执行的。赋值语句的形式为:
变量名= 表达式 它的作用是计算右边表达式的值,然后赋给左边的变量,表达式的类型应该与变量名的类型一致。 2. 使用说明 (1)当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度; (2)当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型再赋值,但当表达式中有非数字字符或空串,则出错。 (3)任何非字符类型赋值给字符类型,自动转换为字符类型; (4)当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之,非0转换为True,0转换为False; (5)赋值号左边的变量只能是变量,不能是常量、常数符号、表达式,否则报错; (6)不能在一句赋值语句中,同时给各变量赋值; (7)在条件表达式中出现的= 是等号,系统会根据= 号的位置,自动判断是否为赋值号; (8)注意N=N+1 是累加中常见的赋值语句,表示将N变量中的值加1后再赋值给N。 5 4.3选择结构(或称分支结构) 1.1. IF条件语句 (1)If……Then语句(单分支结构F) 语句形式: 1)If<表达式> Then 语句块 End If 2)If <表达式> Then <语句>
主题:程序基本知识 数据类型、常量、变量、函数和表达式 一、点击考点: 1、知道常用的数据类型、变量、常量的含义;学会定义常量、变量的数据类型。 2、知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的 表达式。 3、掌握程序包括的四部分。 二、学习目标: 1、掌握数据类型及其特点; 2、知道常量、变量的声明格式;学会定义常量、变量 3、知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的表达式。 4、知道程序包括的四部分内容。 三、学习方式: 在老师引导下的自主学习,互相评价做题效果 四、考点注解 1、知道常用的数据类型、变量、常量的含义;学会定义常量、变量的数据类型。 (1)VB数据类型(阅读课本27页的表) (2)常量 在程序执行过程中,其值不能改变的量称为常量。常量可以直接用一个数来表示,称为常数(或称为直接常量),也可以用一个符号来表示,称为符号常量。 常量的定义格式如下: Const <常量名> [As 数据类型]=表达式 (3)变量 在程序执行过程中,其值可以改变的量称为变量。 1)变量的命名规则 ?变量名首字符必须是字母; ?变量名只能由字母、数字和下划线组成; ?变量名不能使用VB中的关键字(保留字); ?变量名在同一个作用域内必须唯一; ?变量名长度不超过255; ?变量的命名最好还应遵守一定的编程约定。 3)变量定义语句 Dim <变量名> As <类型> [, <变量名> As <类型>]… 2、知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的表达式。 运算符是在代码中对各种数据进行运算的符号。例如,有进行加、减、乘、除算术运算的运算符,有进行与、或、非、异或逻辑运算的运算符。 表达式是由运算符和运算对象及圆括号组成的一个序列,它是由常量、变量、函数等用运算符连接而成的式子。表达式是构成程序代码的最基本要素。 1)赋值运算符 赋值语句的语法格式为:
VB控制结构 一、单选题 1. 下面的程序运行后,显示的结果是________。 Dim x% If x Then Print x+1 Else Print x A) 1 B) 0 C)显示错误信息 D) 2 2. 语句If x = 1 Then y = 1, 下面说法正确的是______。 A) x = 1 和 y = 1均为赋值语句 B) x = 1 和 y = 1均为关系表达式 C) x = 1 为赋值语句,y = 1 为关系表达式 D) x = 1 为关系表达式,y = 1 为赋值语句 3. 下面分段函数 , 下面不正确的程序段是______。 A) If x >= 1 then f=sqr(x+1) B) If x >= 1 then f=sqr(x+1) f=x*x+3 If x < 1 then f=x*x +3 C) If x >= 1 then f=sqr(x+1) _ D) If x < 1 then f=x*x +3 _ Else f = x*x +3 Else f=sqr(x+1) 5. 下面的程序段,显示的结果是 ______。 Dim x x= Int(RnD) + 5 Select Case x Case 5 Print “优秀” Case 4 Print “良好” Case 3 Print “及格”
Case Else Print “不及格” End Select A)不及格 B)良好 C)及格 D)优秀6. 下面程序段求两个数中较大数,________不正确。 A) Max = IIF(x > y, x, y) B) If x > y Then Max = x Else Max = y C) Max = x If y >= x Max = y D) If y >= x Max = y Max = x 7. 下列循环语句能正常结束的是________。 A) i = 5 B) i = 1 Do Do i = i + 1 i = i + 2 Loop Until i < 0 Loop Until i = 10 C) i = 10 D) i = 6 Do Do i = i - 1 i = i - 2 Loop Until i < 0 Loop Until i = 1 12. 变量未赋值时,数值型变量的值为______。 A)0 B)空串"" C)ll D)没任何值 13. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click() For n=1 To 20 If n Mod 3<>0 then m=m+n\3 Next n print n End sub 程序运行后,如果单击命令按钮,则窗体上显示的内容是______。
《VB程序的三种基本控制结构》 复习课教案 平桂高级中学陀君一、案例背景信息 模块:算法与程序设计 年级:高一年级 所用教材版本:粤教版《算法与程序设计》 学时数:1课时(40分钟) 二、教学设计: 1、教学目标: 知识与技能:能根据流程图正确区分VB程序的三种基本结构,并记住相关语句格式,能编写出简单明了的程序关键代码; 过程与方法:充分认识VB程序中三种基本结构的实用性,体会生活中算法的存在和精彩。 情感态度与价值观:培养学生在学习过程中积极思考、自我探究的能力和学以致用的意识。 2、教学重点:顺序、选择(分支)和循环三种基本结构的区分及其对应的VB 语句的使用。 教学难点:for循环结构,各类语句关键代码的编写。 三、教学实录 1.复习引入 师:我们之前学过VB的基本结构,通常程序有三种最基本的结构,是哪三种结构? 大部分学生在底下小声回答,师让某生回答,说:顺序模式、分支模式、循环模式。
师:分支模式也可称为? 部分学生:选择模式。 师:非常好,接下来看下这三种结构的流程图,然后分别指出这三个流程图是什么结构。(出示三种流程图结构) 2.正题 (1)顺序结构P38: 执行第一条语句后,必然从第二条语句继续,顺序执行所有的语句,直到执行完最后一条语句为止。 例1:例1、 a=1 b=2 c=a+b a=c-a b=c-a
最后,变量b的值是( 1 ) (2)选择结构(分支结构):P42 根据条件判断其是否成立,如果成立执行成立的分支;否则执行另一分支。其一般形式为: If 条件Then 语句序列1 Else 语句序列2 End If 单行形式为: If 条件Then 语句组1 Else 语句组2 例2、a =10 If a>=10 Then a=a+1 Else a=a-1 End If 该程序段运行后,变量a的值是( D ) A. 8 B. 9 C. 10 D. 11 【师读题,学生思考。请同学回答,让同学们思考a=5结果是多少】 (3)循环结构:P51 根据条件判断其是否成立,如果条件成立则重复执行循环体(循环结构中某语句序列),直到条件不成立,退出循环结构为止。 循环结构的常用形式为: for 循环变量= 初值to 终值[step 步长] [循环体] next [循环变量]