高一信息会考VB复习 从例题入手.docx
《高一信息会考VB复习 从例题入手.docx》由会员分享,可在线阅读,更多相关《高一信息会考VB复习 从例题入手.docx(16页珍藏版)》请在冰豆网上搜索。
高一信息会考VB复习从例题入手
VB复习从例题入手
2012考点变化:
(by火宝)
1、step步长
s=0
Fori=1To10Step3
s=s+i
Nexti
Prints
2、文本框控件:
textbox,用它代替输出print
设置textbox的属性,包括backcolor,borderstyle,text属性(算法与程序设计教科书中P55,74表格)
3、&连接符在输出时使用
如:
Text1=A1&","&B1&","&C1
4、dowhiletrue
Ifthenexitdo
(可以用较简单的“dowhile+条件+循环内容+Loop”或“do+循环内容+Loopuntil+条件”语句来代替)
5、MsgBox“”---------输出提醒信息
6、ExitSub----------退出过程语句
7、"..."程序功能:
输入三条边长,判断能否构成一个三角形。
----------注释语句。
8、每一套的倒数第二题需用VB编写一个完整的程序。
9、每一套的最后一题VB,是在已有一部分程序上进行程序填空、改错或选择等,题干在VB中显示,不在考试界面上显示。
以上考点都将在例题中出现。
Bysmall.fang:
在复习VB内容之前,建议先将教科书中有关算法的内容看一遍,例题做一遍。
若有能力将大部分算法题用流程框图解决,再开始涉及VB内容,便可以直接做到将脑中的流程图“翻译”成VB语言,提高效率与正确率。
特别提醒:
在编写VB程序的时候,千万注意,一切符号标点都要在英文输入法背景下写入,若中文,则无效。
编者的话:
在编程艺术的海洋中,以下内容实不过是沧海一粟,然此时我只希望其能对大家起到些微帮助,在会考来临之际临阵磨枪。
只求其简单明了,若有错误,望指正之。
一.'''程序功能:
解一元二次方程,输入三个系数,输出两个根,或报告无实数解。
图示:
Command1程序内容:
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,cAsSingle,dAsSingle,X1AsSingle,X2AsSingle
a=InputBox("输入二次项系数")
b=InputBox("输入一次项系数")
c=InputBox("输入常数项")
Text1.Text="y="&a&"x^2+"&b&"x+"&c
d=b^2-4*a*c
Ifd<0Then
Text2.Text="方程无实数根"
Else
Ifd=0Then
X1=(-1*b)/(2*a)
Text2.Text="X="&X1
Else
X1=((-1*b)+Sqr(d))/(2*a)
X2=((-1*b)-Sqr(d))/(2*a)
Text2.Text="X1="&X1&","&"X2="&X2
EndIf
EndIf
EndSub
(1):
在编写程序的最开始,需要对变量进行定义,定义是请严格按照上题所示格式。
在本题中,定义变量为单精度变量(Single)。
一般而言,我们需要掌握的变量类型有:
单精度(single),双精度(double),整型(integer),长整型(long),字符型(string),逻辑(Boolean),大多数情况下,双精度变量可以代替单精度,整型,长整型。
(2):
对于双分支结构,在VB中可表示为:
If+判断条件+than
(满足条件下的进程)
Else
(不满足条件下的进程)
Endif(结束)
在此题中,外层分支结构中又嵌套了一层内层的分支结构。
(3):
在VB的表达式中,"+内容"表示一个字符型数据,&符号是用于连接多个字符型数据的。
(4):
某变量=inputbox("......")的意思是,在运行程序之后,会弹出窗口来输入该变量,"..."中的内容是弹出窗口中编者人为添加的内容。
图示:
2.'''程序功能:
输入起始数讫止数,计算连续整数之和。
图示:
Command1程序内容:
PrivateSubCommand1_Click()
DimA1AsDouble,ANAsDouble,iAsDouble,SAsDouble
A1=InputBox("输入起始数")
AN=InputBox("输入终止数")
Fori=A1ToANStep1
S=S+i
Nexti
(1)
Text1.Text=S
(2)
EndSub
(1):
在VB程序中,有一种特殊的循环结构可以用如下形式表达:
For+变量+起始数+To+末尾数+Step+步长
循环内容
Next+变量
该形式表达的含义是,某变量的取值范围从某起始数到某末尾数,每次变化跨度为某步长。
在该循环中,某变量将以某步长取从某起始数到某末尾数中的所有可以取到的数,每取一个数执行一次循环,所取之数按递增顺序。
(2):
在VB中,该语句的含义是,将变量S的值赋到名为Text1的TextBox中。
三.输入每个人的考试分数(均为整数),若输入负数,则停止输入,然后输出大家的平均分。
图示1:
图示2:
(该图示为拓展内容,只要掌握图示1之内容即可)
Command1程序内容:
PrivateSubCommand1_Click()
DimxAssingle,nAssingle,sAssingle,aAssingle
n=0
s=0
x=InputBox("输入成绩")
DoWhilex>=0
n=n+1
s=s+x
x=InputBox("输入成绩")
Loop
(1)
a=s/n
Text1.Text=a
EndSub
(1):
在VB中,一般的,我们将当型循环结构表达为如下形式:
DoWhile+循环条件
(循环内容)
Loop
而直到型循环结构表达为如下形式:
Do
(循环内容)
Loopuntil+(循环条件)
四.输入三条边长,判断能否构成一个三角形。
图示:
Command1程序内容:
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,cAsSingle
a=InputBox("输入a边")
b=InputBox("输入b边")
c=InputBox("输入c边")
Ifa>=(b+c)Then
Text1.Text="不能构成三角形"
Else
Ifb>=(a+c)Then
Text1.Text="不能构成三角形"
Else
Ifc>=(a+b)Then
Text1.Text="不能构成三角形"
Else
Text1.Text="可以构成三角形"
EndIf
EndIf
EndIf
EndSub
(1).在上题中,以彩色标明的是一套多层嵌套的分支结构,红色是第一层,蓝色第二层,绿色第三层。
在编写程序时,我们通常使同一层的结构左端对齐,而对应的内层结构向右退一格对齐,以方便编写者与阅读者编写与阅读。
**.实际上,该程序同样可以表示为:
PrivateSubCommand1_Click()
DimA1AsSingle,B1AsSingle,C1AsSingle
A1=InputBox("请输入A边边长:
")
Text1=A1
B1=InputBox("请输入B边边长:
")
Text1=A1&","&B1
C1=InputBox("请输入C边边长:
")
Text1=A1&","&B1&","&C1
IfA1+B1<=C1Then
MsgBox"你输入的三条边不能构成三角形!
"
ExitSub
EndIf
IfB1+C1<=A1Then
MsgBox"你输入的三条边不能构成三角形!
"
ExitSub
EndIf
IfC1+A1<=B1Then
MsgBox"你输入的三条边不能构成三角形!
"
ExitSub
(2)
EndIf
MsgBox"你输入的三条边可以构成三角形!
"
(1)
Text1=""
EndSub
(1).在VB中,MsgBox"......"表示提醒框,而"..."中的内容则是编者人为定义的。
图示:
(2)在VB中,ExitSub意味着终止函数(程序)继续运行的意思。
也就是说,在此题中,若输入的三边长满足程序中某一个单分支的运行条件的话,在提醒框弹出的同时,程序终止运行。
否则的话,可能会出现连续弹出两个含义相反的提醒框的情况。
五.输入一个两位整数,将其个位和十位换位。
图示:
Command1程序内容:
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,cAsSingle
a=InputBox("请输入两位整数")
IfaMod1<>0Then
MsgBox"请输入两位整数"
Else
Ifa>=100Then
MsgBox"请输入两位整数"
Else
Ifa<10Then
MsgBox"请输入两位整数"
(1)
Else
b=a\10
c=aMod10
a=10*c+b
EndIf
EndIf
EndIf
Text1.Text=a
EndSub
(1).在VB中,MsgBox"......"表示提醒框,而"..."中的内容则是编者人为定义的。
图示:
**.实际上,该程序可以更便捷地表示为:
PrivateSubCommand1_Click()
DimA0AsInteger,A1AsInteger,A2AsInteger,A3AsInteger
DoWhileTrue
A0=InputBox("请输入一个两位整数")
IfA0<100AndA0>9ThenExitDo
Loop
A1=A0Mod10
A2=A0\10
A3=A1*10+A2
Text2=A0
Text1=A3
EndSub
在VB中,直到型循环也可以表示为:
DoWhileTrue
(循环内容)
If+(循环条件)
Loop
而当型循环也可以表示为:
DoWhileTrue
If+(循环条件)
(循环内容)
Loop
该类语句若与DoWhile语句同时掌握,可在解题时灵活运用,提高效率,学有余力者可深入研究。
六.输入三个整数,按从小到大顺序输出。
图示:
Command1程序内容:
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
(1)
Ifa>=bThen
a=a+b
b=a-b
a=a-b
EndIf
Ifb>=cThen
b=b+c
c=b-c
b=b-c
EndIf
Ifa>=bThen
a=a+b
b=a-b
a=a-b
EndIf
(1)
Text4.Text=a&","&b&","&c
EndSub
(1).在VB中,我们也可以采用类似a=Val(Text1.Text)的语句对变量进行赋值,该语句的含义是:
将名为Text1的TextBox中输入的字符型数据转化成变量a中的数据。
图示:
(2).与双分支结构类似,在VB中,我们将单分支结构表达为:
If+条件+Then
分支内容
EndIf
而我们可以使用用多个单分支语句来实现多分支结构(速度慢)
If<条件1>Then
语句组1
EndIf
If<条件2>Then
语句组2
EndIf
……
……
If<条件n>Then
语句组n
EndIf
或者;
If<条件1>Then语句组1
If<条件2>Then语句组2
……
……
If<条件n>Then语句组n
PS:
:
如果你已经将以上例题全部看完,那么不妨自己将他们做一遍。