VB程序设计初步PPT课件_第1页
VB程序设计初步PPT课件_第2页
VB程序设计初步PPT课件_第3页
VB程序设计初步PPT课件_第4页
VB程序设计初步PPT课件_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,第四章VB程序设计初步,状态:姓名:张三体重:60.5kg身高:180cm年龄:16岁性别:男出生日期:1995年10月25日,方法:,引出例子:,.,4.1基本数据类型、常量、变量,基本数据类型:,.,实数的科学计数法表示:1.5e-45相当于1.5*10(-45)3.4e38相当于3.4*10387E5相当于7*1057E-5相当于7*10(-5)字符串:双引号开始并且双引号结尾的一段文字内容如:“Ilovethisgame”“VisualBasic”,.,1、下列数据中不属于整数范围的是(A)-2345(B)32768(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个/摩尔,引出例子:,.,常量:,是指在程序执行过程中其值不能改变的存储单元或数据,在程序运行的过程中不能被修改,也不能对常量赋予新值。,整数常量:12102432767实数常量:3.12-2.30字符串变量:”vb”“”“0.615”逻辑变量:TrueFalse,VB程序语句:ConstPI=3.14159Constteacher=“xiao”常量的值决定了常量的数据类型,.,指数据的存储单元,其存储的数据在程序的执行过程中是可变的。不同变量要用不同的名称,变量名由字母、数字和下划线,但必须以字母开头,变量中字母大小写不区分;一般情况下,需要指定变量的类型。如adc、a、a23、b_3等,变量:,.,一些保留字不能作为变量:数据类型名称,如integer、single、long、double、string、boolean、date等编程语句关键词,如and、or、if、then、else、end、dim、redim、as、const、mod、select、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、下列属于非法的变量名是(A)r1_(B)next_1(C)Next(D)integer1,形式是:Dim变量名As变量类型例如:DimIasintegerDimxasdouble,yasdoubleDimnameasstring,.,用来存储同一批类型的数据,它是由同一批类型的变量构成的一个序列;组成数组的每一个变量称为数组的元素,或称为下标变量,下标是一个整数,用来指出元素在数组中的位置,数组每个元素的位置由它的下标唯一确定。,数组变量:,.,形式是: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数组变量名(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)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(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,4AsInteger(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数组声明语句能实现(不能浪费空间)的是Dima(9)AsSingleDima(3,3)AsSingleDima(-1To1,-5To-3)AsSingleDima(-3To-1,-5To-7)AsInteger3、如下数组声明语句:Dima(3,-2To2,5)asinteger则数组a包含的元素的个数为(A)120(B)75(C)60(D)13,.,常用的函数:数学函数,.,类型转换和字符串函数:,.,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/2str0=mid(“abcdefghi”,a+2,2)经过计算后最后str0的值为(A)”ef”(B)”fg”(C)”cd”(D)”gh”3、b=abs(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均为整数,a“ABB”的值为true“Free”=“Free”的值为true“12”=“12”的值为false“abc”“a”的值为true“abc”“ABC”的值为true,.,逻辑类基本运算,“非”运算,与原始数据逻辑值相反,原始数据是真,那结果是假,原始数据是假,那结果是真;“与”运算,仅当两边表达式都为真时,其结果为真,否则为假;“或”运算,两边表达式逻辑值都为假时,计算结果为假,否则结果为真。,.,1、下列运算符优先级别最高的是(A)NOT(B)AND(C)OR(D)+2、34and-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=,写一表达式来求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-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中的小写字母转换成大写字母,再把这个字母在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(p*(p-a)*(p-b)*(p-c)Text1.text=str(s),.,VB的输入输出输入:VB中数据的输入一般可通过控件的一些属性来获取,如文本框的text属性输出:VB中数据的输出一般可通过控件的一些属性来显示,如文本框的text属性、标签的caption属性,.,注意点:1、文本框的text属性、标签的caption属性、命令按钮的caption属性值都是字符串型;如果要利用里面的输入作为数据运算,就必须用val函数,如a=val(text1.text);如果要把数值显示在相应控件上,就必须用str函数,如text1.text=str(5*5);如果显示逻辑值可以直接显示,如text1.text=true或text1.text=3=3;2、在vb程序中用到的变量可以不事先定义,而直接使用;3、VB的变量如果没有赋值过,那数值型变量默认是0,字符串型变量默认是“”,逻辑型变量默认是false;,.,全局变量和局部变量全局变量:在事件过程外定义的变量局部变量:在事件过程内定义的变量,.,局部变量:PrivateSubCommand1_Click()DimsAsIntegers=s+2Text1.Text=Str(s)EndSub,全局变量:DimsAsIntegerPrivateSubCommand1_Click()s=s+2Text1.Text=Str(s)EndSub,.,选择语句,行if语句格式如下:,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=“有解”,.,流程图格式:,.,1、有如下VisualBasic程序段:a=2b=5IfabThenm=aElsem=b该程序段运行后,变量m的值为_。2、有如下VisualBasic程序段:a=5b=10max=aIfbmaxThenmax=b该程序段运行后,变量max的值为。,3、有一判断健康状况的VisualBasic程序,其窗体如下图所示,输入身高和体重后,单击健康状况按扭,将显示相应的健康状况信息。,.,标准体重=身高-105当体重高于标准体重1.1时为偏胖,提示偏胖,注意节食!;当体重低于标准体重0.9时为偏瘦,提示偏瘦,增加营养!;其他为正常,提示正常,继续保持!。设h表示身高,g表示体重,bt表示标准体重。通过分析可得出该问题的数学表达式为:,解决上述问题的VisualBasic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。PrivateSubCommand1_Click()DimhAsDouble,gAsDouble,btAsDoubleh=Val(Text1.Text)g=Val(Text2.Text)(1)Ifgbt*1.1ThenLabel5.Caption=偏胖,注意节食!If(2)ThenLabel5.Caption=偏瘦,增加营养!Ifg=bt*0.9ThenLabel5.Caption=正常,继续保持!EndSub程序中划线处(1)应填入;程序中划线处(2)应填入。,.,块if语句格式如下:,If条件表达式1then语句块1Elseif条件表达式2then语句块2Elseif条件表达式nthen语句块nelse语句块0Endif,0个或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=2elseifd=0thenx1=(-b)/(2*a)x2=x1k=1elsek=0endif,.,流程图格式:,.,A=2Ifa3thenifa5thenc=a2elsec=a3endifElseifa0thenc=amod2elsec=a/2endifEndif,运行这段程序,C的值会是?,.,1、有如下VisualBasic程序段:x=3Ifx5Theny=x*xElsey=4*xEndIf该程序段运行后,变量y的值是_。2有如下VisualBasic程序段:a=5:b=4:c=7s=a+bIfscThenLabel1.Caption=初检合格ElseLabel1.Caption=重新调试EndIf该程序段运行后,在标签Label1上显示的。,.,3、铁路托运行李,是根据行李的重量按下列标准收费:若不超过50千克,按每千克0.35元收费,若超过50千克,超过部分则按每千克0.5元收费,行李重量不得超过150千克。设计一个VisualBasic程序,通过输入托运行李的重量,计算并输出托运行李的费用,若超过150千克,提示行李超重!。设x表示行李重量,y表示托运费。通过分析可以得出该问题的数学表达式为:,解决上述问题的VisualBasic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。,.,PrivateSubCommand1_Click()DimxasDoublex=Val(Text1.Text)Ifx150ThenText2.Text=行李超重!ElseIf(1)Theny=50*0.35+(x-50)*0.5Else(2)EndIfText2.Text=Str(y)EndIfEndSub程序中划线处(1)应填入;程序中划线处(2)应填入。,.,循环语句,For语句:通过次数控制循环的计算过程;Do语句:通过条件控制循环的计算过程。,1、For语句主要用于循环次数已知的情况,也被作为计数循环。,.,For语句for循环变量=初值to终值step步长语句块next循环变量,循环变量是数值变量,初值、终值和步长必须是数值表达式,一般情况是整数。步长可以正也可以是负,但不能为0,如果步长为1,step1可以不写。Next后的循环变量和for语句的循环变量必须一致,next后的循环变量可省略,执行该语句时循环变量增加一个步长。,.,设d是一个数组变量,说明如下dimd(1to100)asinteger,把这个数组中所有的数据之和存储到变量s中.s=0fori=1to100step1s=s+inexti,S=0Fori=1to100s=s+d(i)next,?,前2段程序执行完后i的值是多少?,.,.,s=0Fori=1To100Step1s=s+1Nexti执行完后s、i的值是多少?,s=0Fori=1To100Step-1s=s+1Nexti执行完后s、i的值是多少?,s=0Fori=100To1Step1s=s+1NextI执行完后s、i的值是多少?,s=0Fori=100To1Step-1s=s+1Nexti执行完后s、i的值是多少?,s=0Fori=1To100Step1s=s+1:i=i+1Nexti执行完后s、i的值是多少?,.,寻找数组d中最大的数据,结果存储到变量k中k=d(1)fori=2to100ifd(i)kthenk=d(i)nextik=d(1)fori=1to100ifd(i)kthenk=d(i)endifnext,k=d(1)Fori=100to1step-1ifd(i)kthenk=d(i)endifnext,.,1、S=0Forj=1to30ifint(j/5)=j/5thens=s+jj=j+6endifNextj该程序运行后,S的值是(A)30(B)45(C)180(D)4652、x=4fori=1to10step3ifxithenx=x+inexti该程序运行后,x的值是(A)7(B)11(C)21(D)55,.,3、下面是一段VisualBasic程序:PrivateSubCommand1_Click()DimsumAsDouble,iAsIntegersum=0Fori=1To5sum=sum+i*iNextiText1.Text=Str(sum)EndSub该程序运行后,语句sum=sum+i*i共执行了5次。4、有如下VisualBasic程序段:Fori=lTo10a(i)=iNexti该程序段运行后,数组变量a(5)的值为5。,.,5、某人走楼梯,方法是每步跨1个台阶或跨2个台阶。现要计算有20个台阶的楼梯,共有多少种不同的走法?经分析,台阶数与走法种数如下表:,由上表得,走法种数的规律是:从第3项开始,每一项是它相邻的前面2项之和。解决上述问题的VisualBasic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。PrivateSubCommand1_Click()DimaAsLong,bAsLong,cAsLong,nAsIntegera=1b=2c=a+bForn=4To(1)a=bb=c(2)NextnText1.Text=Str(c)EndSub程序中划线处(1)应填入;程序中划线处(2)应填入。,.,2、do语句不知道循环应该执行的次数,只知道执行循环满足的条件。,do语句dowhile条件表达式语句块loop,i=0Dowhilei100s=s+1i=i+1loop,.,.,设有变量说明如下:dimd(1to100)asintegerdimsasdoubledimcasboolean执行语句,计算d的第一个负数之前的所有数据之和,结果存在变量s中。s=0i=1c=truedowhilei=0thens=s+d(i)i=i+1elsec=falseendifloop,.,For语句和do语句转换,Fori=1to100s=s+1Nexti,i=1Dowhilei=1s=s+1i=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、以下VisualBasic程序的功能是:计算表达式1+2+4+8+16+32+1024的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的语句应更正为_。PrivateSubCommand1_Click()DimaAsInteger,sAsLongs=0a=1DoWhilea=1024s=s+aa=a+2LoopText1.Text=Str(s)EndSub,.,4、我国是人口大国,2007年初,我国人口总数已达13亿5千万。假设我国年人口增长率为0.5%,则从2007年起多少年后我国人口就会达到或超过15亿?解决此问题的流程图如VB-1所示。根据流程图VB-1编写的VisualBasic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。PrivateSubCommand1_click()DimnAsInteger,rAsSingleDimpAsDoubler=0.5/100p=13.5n=0DoWhilep15(1)n=n+1(2)Text1.Text=Str(n)EndSub程序中划线处(1)应填入,程序中划线处(2)应填入。,.,5、将一张面值为100元的人民币等值换成5元、1元的零钞共40张,要求每种零钞不少于1张,问5元和1元面值的零钞各多少张?设x、y分别为5元和1元面值的零钞张数,通过分析可得出该问题的数学表达式为:,且1x20,解决上述问题的VisualBasic程序如下,但此程序存在两处错误,已分别用划线及(1)、(2)标注。请改正这二处错误,并将正确内容按顺序填写在程序下方(1)和(2)划线处。PrivateSubCommand1_Click()DimxAsInteger,yAsIntegery=1:x=1DoWhile5x+y100(1)y=y+1x+y=40(2)LoopLabel1.Caption=5元钞+Str(x)+张Label2.Caption=1元钞+Str(y)+张EndSub程序中划线处(1)改为,程序中划线处(2)改为。,.,6、哥哥考弟弟一道数学题,题目是:有一筐鸡蛋,2个2个数多1个,3个3个数多2个,4个4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?为解决此问题,弟弟编了一个如下VisualBasic程序,其中s表示鸡蛋数,t用于控制循环。但此程序存在两处错误,已分别用划线及(1)、(2)标注。请改正这二处错误,并将正确内容按顺序填写在程序下方(1)和(2)划线处。PrivateSubCommand1_Click()DimsAsInteger,tAsBooleans=5t=FalseDoWhileNotts=s+1t=(sMod2=1)And(sMod3=2)And(sMod4=3)And(sMod50)(1)Next(2)Text1.Text=Str(s)EndSub程序中划线处(1)改为,程序中划线处(2)改为。,.,6、有一个有趣的兔子繁殖问题:第1个月买来1对小兔子,两个月后,这对兔子就会生1对小兔子,以后每个月都会生一对小兔子;而生下来的这对小兔子,两个月后又会开始生1对小兔子。依次类推,试问:几个月后,兔子将超过50对?分析问题得出月份与兔子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论