版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.1
程序开发的两步界面设计代码设计程序顺序结构选择结构循环结构程序基本控制结构(三种)6.2
数据的顺序结构处理输出计算输入顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行。顺序结构就是各语句按出现的先后次序执行顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出的程序就是顺序结构。输出计算输入赋值语句(常量或表达式、通过TextBox控件等)赋值语句向TextBox控件、Label控件相应属性赋值或通过使用MsgBox函数等语句或工具语法格式:变量名=表达式对象名.属性名
=
表达式6.2数据的输入--赋值语句功能:
计算赋值号“=”右边表达式的值,然后赋给赋值号“=”左边的变量或属性。x=5x=20*5y=2*x+10st$=“abcdef1234”x=val(TextBox1.text)TextBox1.Text=x错误的赋值5=x+yx+y=10sin(x)=0.5f(x)=x^2+x+106.2数据的输入--赋值语句例如:赋值语句一般要求赋值号两边的类型一致。当两边类型不一致时赋值语句的转换规则将等号右边表达式的值强制转换成符合等号左边变量或对象属性的数据类型值;如强制转换不成功,则在程序运行时会报错。6.2数据的输入--赋值语句intScore%
=
4.2intScore%
=
"456"intScore%
=
"hey5678"intScore%
=
"87ea65“intScore%
=
""'转换时四舍五入,结果为4'intScore的值为456‘出错'出错'出错6.2数据的输入--赋值语句Dim
a%a=TrueDim
b%b=FalseDim
blnB1
AsBooleanblnB1=
78Dim
blnB2
As
BooleanblnB2
=0Dim
strS1$strS1=
TrueDim
strS2$strS2=
45.67'a=-1'b=0'blnB1=True'blnB2=False'strS1="True"'strS2="45.67"赋值语句的应用:重复多次执行累加(1)Sum
=
Sum
+
x计数(2)n=
n+1累乘(3)T=
T
*X6.2数据的输入--赋值语句Dim
n%,T%n=n
+1'
n+=1T=T*5'T*=5Dim
str1$textbox1.text
=
textbox1.text
&
str1‘textBox1.text &=
str16.2数据的输入--赋值语句复合赋值运算符:op=op为:+,-,*,/,\,&如:+=
,-=,*=,/=,\=,&=复合赋值语句格式为:变量op=表达式等价于变量=变量op
表达式6.3数据的输出—输出方式两种方式:方式一:在应用程序界面中,通过赋值语句将结果赋给
Label、文本框TextBox、
框PictureBox等控件的相应属性进行输出显示。TextBox1.text=“a*b的结果为”
&
a*b方式二:通过使用MsgBox函数,以弹出消息框的形式,进行输出。MsgBox(“a*b的结果为”
&
a*b)MsgBox的功能是进行提示,用以确认某种程序的操作,简称“消息框”。2.
MsgBox(消息框)MsgBox函数用于在屏幕上的消息框中显示简短消
息,并等待用户单击按钮,然后返回一个整数型的数值,让应用程序了解用户单击的是哪一个按钮。语法格式:MsgBox(Prompt[,Buttons][,Title])功能:在屏幕上显示一个消息框,根据选择确定其后的操作。其中:Buttons=基本类型[+图标类型][+默认按钮]表6.1
按钮的类型及其对应的值符号常量值显示出来的按钮vbOkOnly0显示“确定”按钮vbOKCancel1显示“确定”和“取消”按钮vbAbortRetryIgnore2显示“中止(A)”、“重试(R)”、和“忽略(I)”按钮vbYesNoCancel3显示“是(Y)”、“否(N)”和“取消”按钮vbYesNo4显示“是(Y)”、“否(N)”按钮vbRetryCancel5显示“重试(R)”、和“取消”按钮表6.2
图标的类型及其对应的值符号常量值在消息框上显示出来的图标vbCritical16关键信息图标vbQuestion32询问信息图标vbExclamation48警告信息图标vbInformation64信息图标表6.3
默认按钮及其对应的值符号常量值默认按钮DefaultButton10第一个按钮是默认的活动按钮DefaultButton2256第二个按钮是默认的活动按钮DefaultButton3512第三个按钮是默认的活动按钮符号常量值用户单击的按钮vbOK1“确定”vbCancel2“取消”vbAbort3“中止”vbRetry4“重试”vbIgnore5“忽略”vbYes6“是””vbNo7“否”当用户单击消息框上的某按钮时,MsgBox函数将返回一个常量来确认该按钮被按动了,下表是按钮和常量之间的对应关系。通过对返回值的判断,就可以确定消息框中到底是哪个按钮被按动,从而确定程序下一步的运行方式。表Msgbox函数的可能返回值6.4
数据分支处理对于要先做判断再选择的问题就要使用分支结构,如下面例子。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构-IF语句块IFIf
条件
Then语句块1[Else语句块2]End
If行IFIf
条件
Then
语句块1
[Else
语句块2]当条件表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2条件语句块1语句块2TFIfThenElse缺省Else部分的分支结构-IF语句块IFIf
条件
Then语句块End
IfThen行IFIf
条件
语句块当条件表达式的值为True,执行Then后面的语句块,否则不做任何操作。条件语句块TFIfThenElse例:变量a,b均有值,要求:变量
a的值必须比变量b
小,否则交换变量a和b的值。分析:a<b时,两者值不变a>b时,两者的值交换If a>b
Thent
=aa
=
bb=
tEnd
Iftba也可改写成行IF语句,如下所示:If a>b
Then t
=
a
:
a
=
b:
b=
t312例:输入实数x,求下面的分段函数f(x)的值Private
Sub
Button1_Click(ByVal
sender
AsSystem.Object,
ByVal
e
As
System.EventArgs)
HandlesButton1.ClickDim
x,
y
As
Singlex
=
Val(TextBox1.Text)If
x
<=
4
Theny
=
1
-
x
^
2Elsey
=
(x
-4)^
(1
/
4)End
IfTextBox2.Text
=
yEnd
Sub分支结构练习格式:IIf(表达式,TruePart,FalsePart)IIF函数功能:如果表达式的值为真,则函数IIF返回表达式
TruePart的值,否则返回表达式FalsePart的值。
IIf函数是If…Then…Else结构的简洁表示例如,将x,y中大的数,放入Tmax变量中,可用:If
x>y
Then
Tmax=
x
Else
Tmax
=
y实现,也可用如下方法实现:Tmax
=
IIf(x>y,x,y)第24
页6.4
数据的多分支处理对于要先做判断再选择的问题就要使用分支结构,如下面例子:分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。IF嵌套If
表达式1
Then……If
表达式2
Then语句块1[Else语句块2]End
If……Else……If
表达式3
Then语句块3[Else语句块4
]End
If……End
If当要实现多分支时,可以在IF语句的语句块1或语句块2处再用IF语句,这样就是IF嵌套。语法格式:If
表达式1
Then……If
表达式2
Then语句块1Else语句块2End
If……ElseIf
表达式3
Then语句块3Else语句块4End
IfIf
表达式1
Then……If
表达式2
Then语句块1Else语句块2End
If……ElseIf
表达式3
Then语句块3Else语句块4End
IfEnd
If书写方式如下语法格式If
表达式1Then语句块1ElseIf
表达式2
Then语句块2…ThenElseIf
表达式n语句块n[Else语句块n+1]End
If可实现如下多分支结构表达式1语句块1语句块2表达式2语句块n语句块n+1TFTF表达式nTFelseElseifElseifThenIf例6.6
某商场促销采用购物打折的顾客一次购物金额:办法,即每位①在1000元以上者(含1000元),按7折②在500元以上者(含500元),按8.5折③在200元以上者(含200元),按9.5折④低于200元,不打折。。。。编程实现当输入购物金额时,并显示最终的需付金额。根据题目的表述,可以归纳如下式子,其中x表示购物金额,y表示需付的金额。Private
SubButton1_Click(ByVal
sender
AsSystem.Object,
ByVal
e
AsSystem.EventArgs)
HandlesButton1.ClickDim
x,
y
As
Singlex
=
Val(TextBox1.Text)If
x
>=
1000Theny
=0.7
*
xElseIf
x
>=
500
Theny
=0.85
*xElseIf
x
>=
200
Theny
=0.95
*xElsey
=
xEnd
IfTextBox2.Text
=
yEnd
Sub多分支结构举例例已知字符变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。If
UCase(ch)>="A"And
UCase(ch)<="Z"ThenMsgBox(ch
&
"是字母字符")ElseIf
ch
>="0"And
ch
<="9"ThenMsgBox(ch
&
"是数字字符")ElseMsgBox(ch
&
"是其他字符")EndIfx
=
aEnd
IfMsgbox("x="
&x)End
Sub下列程序执行后,变量X的值为(
)Private
Sub
Form1_Click(…-)…-.Dim
a,
b,
c,
x
As
Singlea
=100
:b
=
20
:c
=300If
b
>a
Thenc
=
a
:
a
=
b
:
b
=cEnd
IfIf
b
>
c
Thenx
=
bElseIf
a
>c
Thenx
=
cElseX=1006.4.2 Select
Case语句多分支情况还可以使用Select
Case语句实现。Select
Case语句结构格式如下:Select
Case<测试表达式>[Case<情况列表1>[<语句块1>]][Case<情况列表2>[<语句块2>]]……[Case
Else[<语句块n+1>]]End
Select<测试表达式>用于表示要进行判断的对象<情况列表>用于表示条件的分支情况,它可以是下面的表示法或其组合(各项之间以逗号间隔):<常量>;<下界>to<上界>;Is<关系运算符><表达式>要求<测试表达式>的类型和<情况列表>的类型一致。<情况列表>例子”1.
10,9“a”,”e”,”o”,”i”,”u”“
”,”
”,”2. 10to
353. Is>=
80Is
<
60Select
Case语句的执行过程为:将<测试表达式>的值分别和各个<情况列表>的各项进行比较,如相等或在其区间范围
中,则执行相应的语句块,执
行完后执行EndSelect后面的语句,如果没有一个<情况列表>的各项值符合要求,则执行
Case
Else对应的语句块(没有
CaseElse子句,则什么都不做),执行完后执行End
Select后面的语句。例:编写程序,当输入X的值后用Private
Sub
Button1_Click(ByVal_
senderSelect
Case语句计算输出Y的值。AsSystem.Object,ByVal
e
As
_System.EventArgs)
Handles
_Button1.ClickDim
x,
y
AsSinglex
=
Val(TextBox1.Text)Select
Case
xCase
Is
<
0y
=
xCaseIs
<=
10y
=
x
*
x
CaseIs
<=
20y
=
10Case
Elsey
=
0.5
*
x
+
20End
SelectMsgBox("y="
&
y)End
Sub例6.11通过文本框输入某学生某课程的百分制成绩(为整数),要求在弹出的消息框中按如下规则显示信息:成绩大于等于90分,显示成绩为“优秀”;成绩大于等于80分,小于90分,显示成绩为“良好”;成绩大于等于60分,小于80分,显示成绩为“合格”;成绩小于60分,显示成绩为“不及格”;良strResulCase
80To
89strResulCase
60To
79strResult
="合格"CaseElsestrResult
="不及格"End
SelectMsgBox("输入成绩为"
&
intMark
&
",评价为"
&strResult)End
SubPrivateSub
Button1_Click(ByValsender
AsSystem.Object,
ByVal
e
As
System.EventArgs)
HandlesButton1.ClickDimintMark%,
strResult$intMark
=
Val(TextBox1.Text)Select
Case
intMa
kCase
Is>=
90如果输入的成绩不在0~100之间,结果会如何?Private
Sub
Button1_Click(ByVal
sender
As
System.Object,
ByVal
eAs
System.EventArgs)
Handles
Button1.ClickDim
intMark%,
strResult$intMark
=
Val(TextBox1.Text)If
intMark
<
0
Or
intMark
>
100
ThenMsgBox("输入错!")ElseSelect
Case
intMark
\
10Case
9,
10strResult
="优秀"Case
8strResult
="良好"Case
6,
7strResult
="合格"Case
ElsestrResult
="不及格"End
SelectMsgBox("输入成绩为"&
intMark
&
",评价为"&
strResult)End
IfEnd
Sub6.5
循环结构当某件事情多次反复执行时,则需用循环来实现。如:计算S=1+2+3+……+100反复做加法。求p=n!=1*2*3*……*n反复做乘法。求π反复累加各项。等6.5
循环结构循环语句类型:循环次数已知的循环-计次循环For...Next循环语句;根据条件循环-条件循环Do...Loop循环语句[Step
步长]格式:For
循环控制变量
=初值To
终值语句块[Exit
For]语句块Next
[循环控制变量
]6.5.1
FOR…Next语句For…Next语句用于循环次数预知的循环结构。循环控制变量:为数值型变量,控制循环的次数。初值、终值、步长:均为数值型表达式步长可为正数,也可为负数。缺省时,步长为1循环体FOR循环的执行流程超过的意思为:步长>=0时为大于步长<0时为小于有下列两种情况循环体执行0次:初值<终值并且步长<0初值>终值并且步长>0步长为0时可能出现死循环。其他情况下循环体的执行次数可按下式计算:Int((终值-初值)/步长)+1循环变量=初值循环变量的值循环体循环变量=循环变量+步长T超过终值?F计算下列循环语句的次数For i=
5.5
to
3.5
step -0.5Int
(
(
3.5-5.5)/(-0.5))+1
=5For i=
3.5
to
5.5
step -0.5不执行循环体For i=
-3
to
20
step
0步长为0,死循环循环体内需要有exit
for
语句才可跳出该循环例intSum
=
0For
i
=
1To
100例6.12
求1~100之间的奇数之和。即要计算1+3+5+7+9+…+97+99
和。????Private
Sub
Button1_Click(senderAs
Object,
e
AsEventArgs)Handles
Button1.ClickDim
i,intSum
As
Integer‘累加器清0Step
2intSum=intSum+i
‘累加Next
iMsgBox(""11++2+3.+..+..9.9++9190=0=""
&intSum)End
Sub例编程输出10!。Private
Sub
Button1_Click(senderAs
Object,
e
AsEventArgs)Handles
Button1.ClickDim
i,intP
AsIntegerintP=1
‘累乘器清1For
i=1To
10intP=intP
*
i
‘累乘Next
iMsgBox(“10!="
&
intP)End
Sub例:求100以内能被3和7整除的所有正整数之和.要求打印出符合条件的正整数以及它们的和。PrivateSub
Button1_Click(ByVal
sender
AsSystem.Object,
ByVal
e
As
System.EventArgs)
HandlesButton1.ClickDim
sum,
i
As
IntegerTextBox1.Clear()sum
=0For
i
=1
To
100If
i
Mod
3
=
0
And
i
Mod
7
=
0
Thensum
+=
iTextBox1.Text
&=
i
&
vbCrLfEnd
IfNext
iLabel1.Text
=
"Sum="&
sumEnd
SubDims%,i%s
=1Fori=1To10s
=s*iIfi=2ThenExit
ForEnd
IfNext
iMsgbox("s="
&
s
&
",i="
&
i)可以通过ExitFor语句终止循环,终止循环后,循环控制变量的值保持退出时的值不变。s=2,i=2例:判断x是否是素数?注:素数又称质数。指仅能被1和此整数自身整除的大变量flag表示是否能被某数整除Private
Sub
Button1_Click(ByVal
sender
As
System.Object,
ByVal
eAs
System.EventArgs)
Handles
Button1.ClickDim
x,i
As
Integer,
flag
As
Boolean于或等x于=
2V的al(整Tex数tBo。x1.Text)判别方f法lag是=
:True
'假设x是素数For
i
=
2
To
x
-
1对于数x
从If
ix=2M,od
3i
,=
…0
,Thexn-1判别x能否被i整除,只要有一个能整除,fxla就g=不F是als素e数'x不,是否素则数,x是将f素lag数置为。FalseExit
ForEnd
IfNext
iIf
flag
ThenMsgBox(x
&
"是素数!")ElseMsgBox(x
&
"不是素数!")End
IfEnd
Sub6.5.2
Do…Loop语句问题:有一张厚度为0.1
,假设可以一直对折,对折多少次之后,其厚度就能超过珠穆朗玛峰的高度8848米?循环次数?循环次数需要根据条件来判断--循环次数未知使用Do…Loop语句6.5.2DO…Loop语句Do…Loop语句用于循环次数未知的循环结构。格式1:Do
[{While|Until
}条件]语句块[Exit Do
][语句块]Loop格式2:Do语句块[Exit Do
][语句块]Loop
[{While|Until
}条件]特点:先执行后判断,循环体至少执行一次循环次数≥1特点:先判断后执行,循环体可能一次都不执行循环次数≥0。While条件:条件结果为True(或非0)时执行循环体;为False(或0)时结束循环Until条件: 条件结果为True(或
非0)时结束循环体;为False(或0)时执行循环例例6.12
求1~100之间的奇数之和。????PEE即要计算1+3+5+7+9+…+97+99
和。Private
Sub
Button1_Click(sender
As
Object,e
AsEventArgs)Handles
Button1.ClickDim
i,intSum
As
Integer‘累加器清0intSum
=
0i=1dointSum=intSum+i
‘累加i=i+1loop
until
i>100MsgBox("1+2+...+99+100="
&
intSum)EndSub珠穆朗玛峰高度:8848米例:将厚度为0.5
张对折多少次后,其总厚度可超过珠穆朗玛峰的高度?--思考:需要几个变量?变量:num
为折纸的次数,n为高度Dim num%,
n!n=0.5e-3num=0Do
until n>
8848
’
(do
while
n<=8848)n=2*nnum=num+1LoopMsgbox(“折叠次数为“&
num)6.5.3
多重循环在一个循环体内又包含了另一个完整的循环称为循环的嵌套。各种循环可以相互嵌套。注意:避免循环交叉Dim
i%,
j%
Dim
n%,
m%,
k%m
=0: k
=0For
i
=1
To5k
=
k+
1
n
=
0For
j
=
1
To
3n
=n
+1m
=m
+1Next
jNextiDim
i%,
j%
Dim
n%,
m%,
k%m
=0: k
=0For
i=1To5k
=k
+1n
=0
j=1do
while
j<=3n
=n
+1m
=m
+1j=j+1loopNext
iFor i=1
To
10For
j=1
To
20…Next
jNext
iFor i=1
To
10…Next
iFor i=1
To
10…Next
i对于循环的嵌套,要注意以下事项:内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;正确小技巧:Next后不写循环变量名,可避免循环交叉。循环嵌套的执行过程可按钟表的指针走动过程理解。例:输出矩形的九九乘法表分析:如此,可写出基本框架:ji重循环:解决此类问题的一般规律是利外循环控制行内循环控制列九九表可看作是由字符组成的平面图形。Private
Sub
Button1_Click(ByVal
sender
AsSystem.Object,
ByVal
e
As
System.EventArgs)Handles
Button1.ClickDim
row,
col
As
IntegerDim
s
As
String=
""
For
row
=1
To
9For
col
=
1
To
9s
&=",
row,
col,String.Format("{0,1}*{1,1}={2,2}row
*
col)Next
col'vbCrLf用来控制换行s
&=vbCrLfNext
rowLabel1.Text
=
sEnd
Sub注释语句注释以REM开头,用英文标点的单引号“'”引导注释内容。Exit语句在VB.Net中,有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下:Exit
For、Exit
Do、Exit
Sub、Exit
Function等。End语句独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。6.6
其他语句6.7
综合应用计算π的近似值,π的计算公式为:•••①分别输出当n=10、100、1000时的结果,比较该公式的收敛程度。分析:运算结果是什么?--每项的乘积思考:1.谁是循环变量?2.循环变量的初值3.循环变量每次变化的值4.循环结束的条件
5.循环体内的语句6。乘积的初始值22
42
621
3
3
5
5
7
(2n
1)
(2n
1)(2n)2π
2
...Private
Sub
Button1_Click(ByVal
sender
AsSystem.Object,
ByVal
e
As
System.EventArgs)Handles
Button1.ClickDim
pi,
p
As
SingleDim
n,
k
AsIntegerpi
=
2n
=
Val(TextBox1.Text)For
k
=
1
To
np
=
(2
*
k)
^
2/
((2
*
k
-
1)
*(2
*
k+
1))pi
*=
p
Next
Label3.Text
=piEnd
Sub62例:编一程序,显示出所有的水仙花数.所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身.例如,153是水仙花数,因为153=13+53+33
。变量定义:a
百位,b
十位
c
个位
m
为3位的数方法1:分离三位数Private
Sub
Button1_Click(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
Button1.ClickDim
a,
b,c,
m
As
IntegerLabel1.Text="水仙花数为:"&
vbCrLfFor
m=100
To
999a
=m
\
100b
=
(m
Mod
100)
\
10c
=m
Mod10'分离百位数
'分离十位数
'分离个位数If
m
=a^
3+
b^3
+c
^3
ThenLabel1.Text
=
Label1.Text&
m
&
vbCrLfEndIfNext
mEnd
Sub方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度合同公司管理制度与绿色供应链管理合同3篇
- 2025年度矿山安全生产标准化建设合同3篇
- 二零二五年度城市绿化工程项目物资采购合同风险识别与应对3篇
- 标题27:2025年度公司借用办公场地协议3篇
- 二零二五年度股东在公司设立前知识产权归属协议3篇
- 二零二五年度全新出售房屋买卖绿色认证合同3篇
- 二零二五年度共享办公房屋无偿使用及配套服务合同3篇
- 2025年农村合作建房质量安全监督协议范本
- 二零二五年度电影主题公园运营管理合同3篇
- 2025年度智能仓储物流系统整体转让协议版3篇
- 无人机低空遥感网服务平台建设需求
- 延缴人员继续缴费申请表
- 家长会课件:六年级上学期家长会课件
- 安全帽的正确使用培训
- (完整word版)Word信纸(A4横条直接打印版)模板
- 物业公司车辆进出登记表
- DCS基础培训课程(和利时)课件
- 员工消防安全教育培训
- 文学批评与实践-四川大学中国大学mooc课后章节答案期末考试题库2023年
- (52)-12.1服装的审美形态11.4
- 力行“五育”并举融合“文化”育人
评论
0/150
提交评论