1、第四章第四章VB程序设计初步程序设计初步状态:状态:姓名:张三姓名:张三体重:体重:60.5kg身高:身高:180cm年龄:年龄:16岁岁性别:男性别:男出生日期:出生日期:1995年年10月月25日日方法:方法:引出例子:引出例子:.4.1基本数据类型、常量、变量基本数据类型、常量、变量数据类型数据类型数据类型数据类型说明说明说明说明性质性质性质性质IntegerInteger整数型整数型整数型整数型-32768-327683276732767内任何整数内任何整数内任何整数内任何整数longlong长整数型长整数型长整数型长整数型-2-23131223131-1-1内任何整数内任何整数内任何
2、整数内任何整数SingleSingle单精度实数型单精度实数型单精度实数型单精度实数型实数实数实数实数DoubleDouble双精度实数型双精度实数型双精度实数型双精度实数型实数实数实数实数StringString字符串型字符串型字符串型字符串型一段文字或符号一段文字或符号一段文字或符号一段文字或符号BooleanBoolean逻辑型逻辑型逻辑型逻辑型判断的结果:值为判断的结果:值为判断的结果:值为判断的结果:值为truetrue或或或或falsefalseDateDate日期型日期型日期型日期型日期和时间日期和时间日期和时间日期和时间基本数据类型:基本数据类型:.实数的科学计数法表示:实数的
3、科学计数法表示:1.5e-45 1.5e-45 相当于相当于1.5*101.5*10(-45-45)3.4e383.4e38相当于相当于3.4*103.4*1038387E57E5相当于相当于7*107*105 57E-57E-5相当于相当于7*107*10(-5)(-5)字符串:双引号开始并且双引号结尾字符串:双引号开始并且双引号结尾的一段文字内容的一段文字内容如:如:“I love this game”“I love this game”“Visual Basic”“Visual Basic”.1、下列数据中不属于整数范围的是、下列数据中不属于整数范围的是(A)-2345(B)32768(
4、C)0(D)-327682、100000不可能的数据类型是不可能的数据类型是(A)integer(B)long(C)single(D)double3、下列数据中不属于字符串的是、下列数据中不属于字符串的是(A)”Imhere”(B)”100”(C)”1E+2”(D)100.圆周率圆周率=3.14159265.光速光速C3108m/s(真空中真空中)声速声速V340m/s(15)水比热容水比热容C42103J/(kg)阿伏伽德罗常数阿伏伽德罗常数NA=6.022646910.6xl023个个/摩尔摩尔引出例子:引出例子:.常量:常量:常量:常量:是指在程序执行过程中其值不能改变是指在程序执行过程
5、中其值不能改变的存储单元或数据,在程序运行的过程中的存储单元或数据,在程序运行的过程中不能被修改,也不能对常量赋予新值。不能被修改,也不能对常量赋予新值。整数常量:整数常量:12102432767实数常量:实数常量:3.12-2.30字符串变量:字符串变量:”vb”“”“0.615”逻辑变量:逻辑变量:TrueFalseVB程序语句:程序语句:ConstPI=3.14159Constteacher=“xiao”常量的值决定了常量的数据类型常量的值决定了常量的数据类型.指数据的存储单元,其存储的数指数据的存储单元,其存储的数据在程序的执行过程中是可变的。据在程序的执行过程中是可变的。不同变量要用
6、不同的名称,变量不同变量要用不同的名称,变量名由字母、数字和下划线,但必须以名由字母、数字和下划线,但必须以字母开头,变量中字母大小写不区分;字母开头,变量中字母大小写不区分;一般情况下,需要指定变量的类型。一般情况下,需要指定变量的类型。如如adc、a、a23、b_3等等变量:变量:.一些保留字不能作为变量:一些保留字不能作为变量:数据类型名称,如数据类型名称,如integer、single、long、double、string、boolean、date等等编程语句关键词,如编程语句关键词,如and、or、if、then、else、end、dim、redim、as、const、mod、sel
7、ect、case、for、to、next、do、while、loop、sub、function等等系统函数名称,如系统函数名称,如abs、int、sqr、exp、log、sin、cos、tan、asc、chr、val、str、len、mid、fix,left、right等等一些系统值:如一些系统值:如true、false、ReadOnly、SyncLock等等其他一些保留字:其他一些保留字:Preserve、Private、Property、ProtectedPublic.1下面下面4项中合法的变量名是项中合法的变量名是(A)X_yz(B)123abc(C)integer(D)X+Y2、下列属
8、于非法的变量名是、下列属于非法的变量名是(A)r1_(B)next_1(C)Next(D)integer1形式是:形式是:Dim变量名变量名As变量类型变量类型例如:例如:DimIasintegerDimxasdouble,yasdoubleDimnameasstring.用来存储同一批类型的数据,它是用来存储同一批类型的数据,它是由同一批类型的变量构成的一个序列;由同一批类型的变量构成的一个序列;组成数组的每一个变量称为数组的元素,组成数组的每一个变量称为数组的元素,或称为下标变量,下标是一个整数,用或称为下标变量,下标是一个整数,用来指出元素在数组中的位置,数组每个来指出元素在数组中的位置
9、,数组每个元素的位置由它的下标唯一确定。元素的位置由它的下标唯一确定。数组变量:数组变量:数组变量:数组变量:.形式是:形式是:Dim数组变量名数组变量名(A1toA2)As元素类型元素类型A1是数组下标的下界,是数组下标的下界,A2是下标的上界,是下标的上界,A1和和A2都是整数常量。都是整数常量。如:如:dimscore(1to50)asinteger,它包含的元,它包含的元素有素有score(1)、score(2)score(50)dimstrname(-7to10)asstring,它包含,它包含的元素有的元素有score(-7)、score(-6)score(10)dim数组变量名数
10、组变量名(n)as元素类型元素类型相当于相当于dim数组变量名数组变量名(0ton)as元素类型元素类型其中其中n为整数常量为整数常量dimscore(50)asintegerdimscore(0to50)asinteger.一维数组用来存储数据的一个线性序列一维数组用来存储数据的一个线性序列Dima(1ton)asintegera(1)a(2)a(3)a(4)a(5)a(n)二维数组用来存储一个二维表二维数组用来存储一个二维表Dima(1tom,1ton)asintegera(1,1)a(1,2)a(1,3)a(1,4)a(1,n)a(2,1)a(2,2)a(2,3)a(2,4)a(2,n)
11、a(3,1)a(3,2)a(3,3)a(3,4)a(3,n)a(m,1)a(m,2)a(m,3)a(m,4)a(m,n).二维数组变量形式:二维数组变量形式:Dim数组变量名(数组变量名(A1toA2,B1toB2)as元素的类型元素的类型如:如:dimprice(1tom,1ton)asintegerprice(3,4)是数组是数组price第第3行第行第4列上的列上的元素元素a(1,1)a(1,2)a(1,3)a(1,4)a(1,n)a(2,1)a(2,2)a(2,3)a(2,4)a(2,n)a(3,1)a(3,2)a(3,3)a(3,4)a(3,n)a(m,1)a(m,2)a(m,3)a
12、(m,4)a(m,n).多维数组变量形式:多维数组变量形式:Dim数组变量名(数组变量名(A1toA2,B1toB2,.,N1.N2)as元素的类型元素的类型如:如:dimprice(1to20,1to8,.,4)asdoubleprice(1,2,.,4)是数组的一个元素是数组的一个元素多维数组可以存放的数据量:多维数组可以存放的数据量:每一维的数据量的乘积每一维的数据量的乘积如如dimprice(1to5,-1to2,4)asdouble可以存放的数据个数:可以存放的数据个数:5*4*5=100.1、如下数组声明语句,正确的是、如下数组声明语句,正确的是(A)Dima3,4AsIntege
13、r(B)Dima(1to3,4to9)AsInteger(C)Dima(1to3,3)Integer(D)Dima(3,4)As2、要分配存放如下方阵的数据:、要分配存放如下方阵的数据:1.12.23.34.45.56.67.78.89.9数组声明语句能实现(不能浪费空间)的是数组声明语句能实现(不能浪费空间)的是(A)Dima(9)AsSingle(B)Dima(3,3)AsSingle(C)Dima(-1To1,-5To-3)AsSingle(D)Dima(-3To-1,-5To-7)AsInteger3、如下数组声明语句:、如下数组声明语句:Dima(3,-2To2,5)asintege
14、r则数组则数组a包含的元素的个数为包含的元素的个数为(A)120(B)75(C)60(D)13.常用的函数:常用的函数:常用的函数:常用的函数:数学函数数学函数数学函数数学函数函数名函数名函数名函数名功能功能功能功能举例举例举例举例返回值返回值返回值返回值Abs(x)Abs(x)求求求求x x的绝对值的绝对值的绝对值的绝对值Abs(-3.5)Abs(-3.5)3.53.5Int(x)Int(x)不大于不大于不大于不大于x x的最大整数的最大整数的最大整数的最大整数Int(4.1)Int(4.1)Int(-4.1)Int(-4.1)4 4-5-5Sqr(x)Sqr(x)求求求求X X 的算术平方
15、根的算术平方根的算术平方根的算术平方根Sqr(4)Sqr(4)2 2Exp(x)Exp(x)求求求求e e的的的的x x次方次方次方次方Exp(2)Exp(2)7.3890567.389056Log(x)Log(x)以以以以e e为底的为底的为底的为底的x x的对数,相的对数,相的对数,相的对数,相当于数学中的当于数学中的当于数学中的当于数学中的lnlnLog(3)Log(3)1.0986121.098612Sin(x)Sin(x)X X的正弦值的正弦值的正弦值的正弦值Sin(3.1416/2)Sin(3.1416/2)0.99999990.9999999Cos(x)Cos(x)X X的余弦值
16、的余弦值的余弦值的余弦值Cos(3.1416/3)Cos(3.1416/3)0.49999990.4999999Tan(x)Tan(x)X X的正切值的正切值的正切值的正切值Tan(3.1416/3)Tan(3.1416/3)1.73206061.7320606rndrnd随机产生一个小数,范随机产生一个小数,范随机产生一个小数,范随机产生一个小数,范围是围是围是围是0,1)0,1)int(rnd*10)int(rnd*10)可能是可能是可能是可能是0909之间任意一之间任意一之间任意一之间任意一个整数个整数个整数个整数.类型转换和字符串函数:类型转换和字符串函数:函数名函数名函数名函数名函数
17、功能函数功能函数功能函数功能应用举例应用举例应用举例应用举例返回值返回值返回值返回值Asc(x)Asc(x)字符转换成字符转换成字符转换成字符转换成ASCIIASCII码码码码Asc(“A”)Asc(“A”)6565Chr(x)Chr(x)ASCIIASCII码转换为字母码转换为字母码转换为字母码转换为字母,X X要在要在要在要在01270127范围内范围内范围内范围内Chr(65)Chr(65)“A”“A”Val(x)Val(x)数字字符串转换为数字字符串转换为数字字符串转换为数字字符串转换为数字值数字值数字值数字值Val(“-12”)Val(“-12”)Val(“-12.1ad”)Val(
18、“-12.1ad”)Val(“a12.a”)Val(“a12.a”)-12-12-12.1-12.10 0Str(x)Str(x)数字转换成字符串数字转换成字符串数字转换成字符串数字转换成字符串Str(123)Str(123)“123”“123”Len(x)Len(x)计算字符串长度计算字符串长度计算字符串长度计算字符串长度Len(“asdf”)Len(“asdf”)Len(“”)Len(“”)4 40 0Mid(x,n,kMid(x,n,k)取字符串取字符串取字符串取字符串x x中第中第中第中第n n个个个个字符开始长度为字符开始长度为字符开始长度为字符开始长度为k k的的的的子串子串子串子
19、串Mid(“abcd”,2,3)Mid(“abcd”,2,3)Mid(“abcd”,2,5)Mid(“abcd”,2,5)Mid(“abcd”,5,5)Mid(“abcd”,5,5)“bcd”“bcd”“bcd”“bcd”“”“”Fix(x)Fix(x)截掉数据的小数部截掉数据的小数部截掉数据的小数部截掉数据的小数部分分分分Fix(2.56)Fix(2.56)Fix(-2.56)Fix(-2.56)2 2-2-2.1、a=str(int(-6.1),那,那a的值为的值为(A)-6(B)”-6”(C)-7(D)”-7”2、有以下代码、有以下代码a=asc(“C”)a=a-3a=sqr(a)a=a
20、/2str0=mid(“abcdefghi”,a+2,2)经过计算后最后经过计算后最后str0的值为的值为(A)”ef”(B)”fg”(C)”cd”(D)”gh”3、b=abs(Fix(-2.56)Fix(-2.56),b的值为的值为(A)2(B)3(C)”2”(D)-24、要产生、要产生015间的任意整数,间的任意整数,VB表达式是表达式是(A)1+int(15*rnd)(B)int(15*rnd)(C)1+int(16*rnd)(D)int(16*rnd)产生产生a,b间的任意整数(间的任意整数(a,b均为整数均为整数,ab),表达式公式为),表达式公式为a+fix(b-a+1)*rnd)
21、.4.2基本运算和表达式基本运算和表达式算术类基本运算算术类基本运算基本运算基本运算基本运算基本运算运算符运算符运算符运算符优先级优先级优先级优先级表达式表达式表达式表达式表达式的值表达式的值表达式的值表达式的值乘幂乘幂乘幂乘幂 1 1250.5250.55 5取负取负取负取负-2 2-a-aa a的相反数的相反数的相反数的相反数乘法乘法乘法乘法*3 33*2.53*2.57.57.5实数除法实数除法实数除法实数除法/3 33/23/21.51.5整除整除整除整除 4 432321 1取余数取余数取余数取余数(余数的(余数的(余数的(余数的正负号与正负号与正负号与正负号与被除数一被除数一被除数
22、一被除数一致)致)致)致)modmod5 58mod58mod5-7mod3-7mod3-7mod-5-7mod-57mod-57mod-53 3-1-1-2-22 2加法加法加法加法+6 63+53+58 8减法减法减法减法-6 63-53-5-2-2.基本运算基本运算基本运算基本运算运算符运算符运算符运算符优先级优先级优先级优先级表达式表达式表达式表达式表达式值表达式值表达式值表达式值相等相等相等相等=7 77mod4=07mod4=0FalseFalse不相等不相等不相等不相等7 7“abc”“abd”“abc”“abd”TrueTrue小于小于小于小于 7 75105 7 721121
23、1FalseFalse小于等于小于等于小于等于小于等于=7 710=11110=7 710=2010=20FalseFalse关系类基本运算关系类基本运算.注意事项:注意事项:注意事项:注意事项:1 1、关系运算的结果是逻辑值;、关系运算的结果是逻辑值;、关系运算的结果是逻辑值;、关系运算的结果是逻辑值;2 2、字符串比较的规则:从左到右、字符串比较的规则:从左到右、字符串比较的规则:从左到右、字符串比较的规则:从左到右ASCIIASCII码值逐一码值逐一码值逐一码值逐一进行比较,遇到进行比较,遇到进行比较,遇到进行比较,遇到ASCIIASCII码不等时,规定码不等时,规定码不等时,规定码不等
24、时,规定ASCIIASCII码值码值码值码值大的字符所在的字符串大,若短字符串和长字符大的字符所在的字符串大,若短字符串和长字符大的字符所在的字符串大,若短字符串和长字符大的字符所在的字符串大,若短字符串和长字符串左边都相等,则长串比短串大。串左边都相等,则长串比短串大。串左边都相等,则长串比短串大。串左边都相等,则长串比短串大。3 3、小写字母的、小写字母的、小写字母的、小写字母的ASCIIASCII码值比之对应的大写字母的码值比之对应的大写字母的码值比之对应的大写字母的码值比之对应的大写字母的ASCIIASCII码值大;码值大;码值大;码值大;例如:例如:例如:例如:“ABC”“ABB”“
25、ABC”“ABB”的值为的值为的值为的值为truetrue“Free”=“Free”“Free”=“Free”的值为的值为的值为的值为truetrue“12”=“12”“12”=“12”的值为的值为的值为的值为falsefalse“abc”“a”“abc”“a”的值为的值为的值为的值为truetrue“abc”“ABC”“abc”“ABC”的值为的值为的值为的值为truetrue.基本运算基本运算基本运算基本运算运算符运算符运算符运算符优先级优先级优先级优先级表达式表达式表达式表达式表达式值表达式值表达式值表达式值非非非非notnot8 8Not(32)Not(32)FalseFalse与与与
26、与andand9 9(2510)and(110)and(110or310or34and-27的值是的值是(A)False(B)True(C)0(D)13、not(33-208and45)的值是的值是(A)False(B)True(C)0(D)14、-5020/5mod62ornot“a”A”的值是的值是(A)False(B)True(C)0(D)1.表达式表达式可以包括算术运算、关系运算、逻辑运算可以包括算术运算、关系运算、逻辑运算等多种基本运算,运算涉及的数据是变量、等多种基本运算,运算涉及的数据是变量、常量、具体的数值或运算结果。常量、具体的数值或运算结果。y=,写一表达式来求,写一表达式
27、来求y的值。的值。y=(x*x+1)/(abs(x)+3)三条线段分别为三条线段分别为a、b、c,写一表达式判,写一表达式判断三条线段能否构成一个三角形。断三条线段能否构成一个三角形。p(a+bc)and(a+cb)and(b+ca).4.3语句语句是一种用来描述或规定计算机应是一种用来描述或规定计算机应该完成的一串操作的命令。该完成的一串操作的命令。VB程序中,可以一行上写一个语程序中,可以一行上写一个语句,也可以在一行上写几个语句,句,也可以在一行上写几个语句,一行上相邻语句用冒号(一行上相邻语句用冒号(:)隔开。)隔开。.语句:A=3B=4C=5L=(a+b+c)/2S=sqr(s*(s
28、-a)*(s-b)*(s-c)也可以写成:A=3:B=4:C=5L=(a+b+c)/2S=sqr(s*(s-a)*(s-b)*(s-c).赋值语句赋值语句格式如下:格式如下:赋值语句赋值语句变量名变量名=表达式(变量或常量、数值)表达式(变量或常量、数值)或或对象名对象名.属性名属性名=表达式表达式.给给a、b、c三个数分别赋值,在把三个数分别赋值,在把b2-4ac的结果存储到变量的结果存储到变量d中中a=3:b=2:c=4d=b*b-4*a*c设字符类型的变量设字符类型的变量ch中存储了一个中存储了一个小写字母,要把小写字母,要把ch中的小写字母转换成大中的小写字母转换成大写字母,再把这个字
29、母在写字母,再把这个字母在text1文本中显文本中显示示ch=chr(asc(ch)-32)text1.text=ch.语句的运用语句的运用VB的语句必须放在相应的事件过程中的语句必须放在相应的事件过程中比如要单击(比如要单击(click)命令按钮()命令按钮(command1)执行的事件,就必须把相应的代码写入下面地点执行的事件,就必须把相应的代码写入下面地点.已知三角形三条边分别是已知三角形三条边分别是a=3,b=4,c=5,用赋值语句求三角形面积用赋值语句求三角形面积S,并把该面积值,并把该面积值在文本框在文本框text1中显示。中显示。a=3b=4c=5p=(a+b+c)/2s=sqr
30、(p*(p-a)*(p-b)*(p-c)Text1.text=str(s).VB的输入输出的输入输出输入:输入:VB中数据的输入一般可通过控件的一些属中数据的输入一般可通过控件的一些属性来获取,如文本框的性来获取,如文本框的text属性属性输出:输出:VB中数据的输出一般可通过控件的一些属中数据的输出一般可通过控件的一些属性来显示,如文本框的性来显示,如文本框的text属性、标签的属性、标签的caption属属性性.注意点:注意点:1、文本框的、文本框的text属性、标签的属性、标签的caption属性、属性、命令按钮的命令按钮的caption属性值都是属性值都是字符串型字符串型;如果要如果要
31、利用里面的输入作为数据运算,就必须用利用里面的输入作为数据运算,就必须用val函数,函数,如如a=val(text1.text);如果要把数值显示在相应控如果要把数值显示在相应控件上,就必须用件上,就必须用str函数,如函数,如text1.text=str(5*5);如果显示逻辑值可以直接显示,如如果显示逻辑值可以直接显示,如text1.text=true或或text1.text=3=3;2、在、在vb程序中用到的变量可以不事先定义,而直接程序中用到的变量可以不事先定义,而直接使用;使用;3、VB的变量如果没有赋值过,那数值型变量默认是的变量如果没有赋值过,那数值型变量默认是0,字符串型变量默
32、认是,字符串型变量默认是“”,逻辑型变量默认是,逻辑型变量默认是false;.全局变量和局部变量全局变量和局部变量全局变量:在事件过程外定义的变量全局变量:在事件过程外定义的变量局部变量:在事件过程内定义的变量局部变量:在事件过程内定义的变量.局部变量局部变量:Private Sub Command1_Click()Dim s As Integers=s+2Text1.Text=Str(s)End Sub全局变量全局变量:Dim s As IntegerPrivate Sub Command1_Click()s=s+2Text1.Text=Str(s)End Sub.选择语句选择语句行行if语
33、句格式如下:语句格式如下:If条件表达式条件表达式then语句语句1else语句语句2或或If条件表达式条件表达式then语句语句判断判断a、b大小,把大的数据存放在大小,把大的数据存放在max变量中变量中Ifabthenmax=aelsemax=b已知三角形三条边大小为已知三角形三条边大小为a、b、c,如果满足条件,如果满足条件在在text1中显示中显示”有解有解”If(a+bc)and(a+cb)and(b+ca)thentext1.text=“有解有解”.流程图格式:流程图格式:开始表达式是否为true?YN语句块1语句块2结束.1、有如下Visual Basic程序段:a=2 b=5I
34、f ab Then m=a Else m=b该程序段运行后,变量m的值为_。2、有如下Visual Basic程序段:a=5b=10max=aIf bmax Then max=b该程序段运行后,变量max的值为 。3、有一判断健康状况的Visual Basic程序,其窗体如下图所示,输入身高和体重后,单击健康状况按扭,将显示相应的健康状况信息。.标准体重=身高-105 当体重高于标准体重1.1时为偏胖,提示偏胖,注意节食!;当体重低于标准体重0.9时为偏瘦,提示偏瘦,增加营养!;其他为正常,提示正常,继续保持!。设h表示身高,g表示体重,bt表示标准体重。通过分析可得出该问题的数学表达式为:解
35、决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。Private Sub Command1_Click()Dim h As Double,g As Double,bt As Doubleh=Val(Text1.Text)g=Val(Text2.Text)(1)If g bt*1.1 Then Label5.Caption=偏胖,注意节食!If (2)Then Label5.Caption=偏瘦,增加营养!If g=bt*0.9 Then Label5.Caption=正常,继续保持!End Sub程序中划线处(1)应填入;程序中划线处
36、(2)应填入。.块块if语句格式如下:语句格式如下:If条件表达式条件表达式1then语句块语句块1Elseif条件表达式条件表达式2then语句块语句块2Elseif条件表达式条件表达式nthen语句块语句块nelse语句块语句块0Endif0个或n个0个或1个.计算一元二次方程计算一元二次方程ax2+bx+c=0的实数根,的实数根,结果存储到变量结果存储到变量x1、x2中,用变量中,用变量k记录方程实记录方程实数根的个数。用数根的个数。用if语句描述。语句描述。d=b*b-4*a*cifd0thenx1=(-b+sqr(d)/(2*a)x2=(-b-sqr(d)/(2*a)k=2elsei
37、fd=0thenx1=(-b)/(2*a)x2=x1k=1elsek=0endif.流程图格式:流程图格式:开始表达式1为true?Y语句1N表达式2为true?Y语句2N表达式3为true?Y语句3NElse?Y语句0N结束.A=2If a3 then if a5 then c=a2 else c=a3 end ifElse if a0 then c=a mod 2 else c=a/2 end ifEnd if 运行这段程序,运行这段程序,C的值会是?的值会是?.1、有如下Visual Basic程序段:x=3 If x5 Then y=x*x Else y=4*x End If该程序段运
38、行后,变量y的值是_。2有如下Visual Basic程序段:a=5:b=4:c=7 s=a+b If s c Then Label1.Caption=初检合格 Else Label1.Caption=重新调试 End If 该程序段运行后,在标签Label1上显示的 。.3、铁路托运行李,是根据行李的重量按下列标准收费:若不超过50千克,按每千克0.35元收费,若超过50千克,超过部分则按每千克0.5元收费,行李重量不得超过150千克。设计一个Visual Basic程序,通过输入托运行李的重量,计算并输出托运行李的费用,若超过150千克,提示行李超重!。设x表示行李重量,y表示托运费。通过
39、分析可以得出该问题的数学表达式为:解决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。.Private Sub Command1_Click()Dim x as Double x=Val(Text1.Text)If x150 Then Text2.Text=行李超重!Else If (1)Then y=50*0.35+(x-50)*0.5 Else (2)End If Text2.Text=Str(y)End IfEnd Sub 程序中划线处(1)应填入;程序中划线处(2)应填入。.循环语句循环语句For语句:通过次数控制循环的计语句
40、:通过次数控制循环的计算过程;算过程;Do语句:通过条件控制循环的计语句:通过条件控制循环的计算过程。算过程。1、For语句语句主要用于循环次数已知的情况,也被作为主要用于循环次数已知的情况,也被作为计数循环。计数循环。.For语句语句for循环变量循环变量=初值初值to终值终值step步长步长语句块语句块next循环变量循环变量循环变量是数值变量,初值、终值和步长循环变量是数值变量,初值、终值和步长必须是数值表达式,一般情况是整数。必须是数值表达式,一般情况是整数。步长可以正也可以是负,但不能为步长可以正也可以是负,但不能为0,如果,如果步长为步长为1,step1可以不写。可以不写。Next
41、后的循环变量和后的循环变量和for语句的循环变量必语句的循环变量必须一致,须一致,next后的循环变量可省略,执行该后的循环变量可省略,执行该语句时循环变量增加一个步长。语句时循环变量增加一个步长。.设设d是一个数组变量,说明如下是一个数组变量,说明如下dimd(1to100)asinteger,把这个数组,把这个数组中所有的数据之和存储到变量中所有的数据之和存储到变量s中中.s=0fori=1to100step1s=s+inextiS=0Fori=1to100s=s+d(i)next?前前2段程序执行完后段程序执行完后i的值是多少?的值是多少?.开始循环变量初值步长为正?YN循环变量终值?循
42、环变量kthenk=d(i)nextik=d(1)fori=1to100ifd(i)kthenk=d(i)endifnextk=d(1)Fori=100to1step-1ifd(i)kthenk=d(i)endifnext.1、S=0 For j=1 to 30 if int(j/5)=j/5 then s=s+j j=j+6 end if Next j该程序运行后,S的值是(A)30(B)45(C)180(D)4652、x=4 for i=1 to 10 step 3 if xi then x=x+i next i 该程序运行后,x的值是(A)7(B)11(C)21(D)55.3、下面是一段
43、Visual Basic程序:Private Sub Command1_Click()Dim sum As Double,i As Integer sum=0 For i=1 To 5 sum=sum+i*i Next i Text1.Text=Str(sum)End Sub 该程序运行后,语句sum=sum+i*i共执行了 5 次。4、有如下Visual Basic程序段:For i=l To 10 a(i)=iNext i该程序段运行后,数组变量a(5)的值为 5 。.5、某人走楼梯,方法是每步跨1个台阶或跨2个台阶。现要计算有20个台阶的楼梯,共有多少种不同的走法?经分析,台阶数与走法种
44、数如下表:台阶数台阶数1 12 23 34 45 56 67 78 89 9走法种数走法种数1 12 23 35 58 81313212134345555 由上表得,走法种数的规律是:从第3项开始,每一项是它相邻的前面2项之和。解决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。Private Sub Command1_Click()Dim a As Long,b As Long,c As Long,n As Integera=1b=2c=a+bFor n=4 To (1)a=b b=c (2)Next nText1.Text=Str
45、(c)End Sub程序中划线处(1)应填入;程序中划线处(2)应填入 。.2、do语句语句不知道循环应该执行的次数,只知道执不知道循环应该执行的次数,只知道执行循环满足的条件。行循环满足的条件。do语句语句dowhile条件表达式条件表达式语句块语句块loopi=0Do while i100 s=s+1 i=i+1loop.开始计算条件表达式结果为真?N结束Y执行循环体中的语句块.设有变量说明如下:设有变量说明如下:dimd(1to100)asintegerdimsasdoubledimcasboolean执行语句,计算执行语句,计算d的第一个负数之前的所的第一个负数之前的所有数据之和,结果
46、存在变量有数据之和,结果存在变量s中。中。s=0i=1c=truedowhilei=0thens=s+d(i)i=i+1elsec=falseendifloop.For语句和do语句转换For i=1 to 100 s=s+1Next ii=1Do while i=1 s=s+1 i=i-1loop.1、x=1:y=0dowhilex10 x=x*2y=y+1loop该程序运行后,y的值是(A)0(B)2(C)3(D)42、a=1:b=1:c=1dowhilea+b+c=10a=a+1b=b*2c=b/2loop(A)221(B)342(C)484(D)442.3、以下Visual Basic
47、程序的功能是:计算表达式1+2+4+8+16+32+1024的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的语句应更正为_。Private Sub Command1_Click()Dim a As Integer,s As Longs=0a=1Do While a=1024 s=s+a a=a+2LoopText1.Text=Str(s)End Sub.4、我国是人口大国,2007年初,我国人口总数已达13亿5千万。假设我国年人口增长率为0.5%,则从2007年起多少年后我国人口就会达到或超过15亿?解决此问题的流程图如VB-1所示。根据流程图VB-1编写的Visual
48、Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。Private Sub Command1_click()Dim n As Integer,r As Single Dim p As Double r=0.5/100 p=13.5 n=0 Do While p 15 (1)n=n+1 (2)Text1.Text=Str(n)End Sub程序中划线处(1)应填入 ,程序中划线处(2)应填入 。.5、将一张面值为100元的人民币等值换成5元、1元的零钞共40张,要求每种零钞不少于1张,问5元和1元面值的零钞各多少张?设x、y分别为5元和1元面值的零钞张数,通过分析
49、可得出该问题的数学表达式为:且 1x20,解决上述问题的Visual Basic程序如下,但此程序存在两处错误,已分别用划线及(1)、(2)标注。请改正这二处错误,并将正确内容按顺序填写在程序下方(1)和(2)划线处。Private Sub Command1_Click()Dim x As Integer,y As Integer y=1:x=1 Do While 5x+y 100 (1)y=y+1 x+y=40 (2)Loop Label1.Caption=5元钞+Str(x)+张 Label2.Caption=1元钞+Str(y)+张End Sub程序中划线处(1)改为 ,程序中划线处(2
50、)改为 。.6、哥哥考弟弟一道数学题,题目是:有一筐鸡蛋,2个2 个数多1个,3个3个数多2个,4个4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?为解决此问题,弟弟编了一个如下Visual Basic程序,其中s表示鸡蛋数,t用于控制循环。但此程序存在两处错误,已分别用划线及(1)、(2)标注。请改正这二处错误,并将正确内容按顺序填写在程序下方(1)和(2)划线处。Private Sub Command1_Click()Dim s As Integer,t As Boolean s=5 t=False Do While Not t s=s+1 t=(sMod2=1)And(sMod3